Fix build failure with Python installed in non-system location.
authorJoel Brobecker <brobecker@gnat.com>
Wed, 30 Jun 2010 23:12:04 +0000 (23:12 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Wed, 30 Jun 2010 23:12:04 +0000 (23:12 +0000)
The debugger fails to build when configure with --python-python=<path>
where <path> is a non-system location.  The reason is a warning made
fatal due to the definition of _XOPEN_SOURCE inside pyconfig.h.  This
is exactly the same problem as with _POSIX_C_SOURCE, handled in
python-internal.h as follow:

| /* /usr/include/features.h on linux systems will define _POSIX_C_SOURCE
|    if it sees _GNU_SOURCE (which config.h will define).
|    pyconfig.h defines _POSIX_C_SOURCE to a different value than
|    /usr/include/features.h does causing compilation to fail.
|    To work around this, undef _POSIX_C_SOURCE before we include Python.h.  */
| #undef _POSIX_C_SOURCE

This patch fixes this problem the same way.

2010-06-30  Joel Brobecker  <brobecker@adacore.com>

        * python/python-internal.h (_XOPEN_SOURCE): Undefine before
        including Python.h.

gdb/ChangeLog
gdb/python/python-internal.h

index b3f6fc5df0a07bae47c6ee5d033de56ff4b38b62..30802c12d438e6c831d71aa6d16ee02a8397026a 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-30  Joel Brobecker  <brobecker@adacore.com>
+
+       * python/python-internal.h (_XOPEN_SOURCE): Undefine before
+       including Python.h.
+
 2010-06-29  Doug Evans  <dje@google.com>
 
        PR gdb/11702
index daaed2cc5746c5e0ecc39e29a4cedc117de47446..630d191df676e74bf1987f588bbace6e29730d4e 100644 (file)
    if it sees _GNU_SOURCE (which config.h will define).
    pyconfig.h defines _POSIX_C_SOURCE to a different value than
    /usr/include/features.h does causing compilation to fail.
-   To work around this, undef _POSIX_C_SOURCE before we include Python.h.  */
+   To work around this, undef _POSIX_C_SOURCE before we include Python.h.
+
+   Same problem with _XOPEN_SOURCE.  */
 #undef _POSIX_C_SOURCE
+#undef _XOPEN_SOURCE
 
 #if HAVE_LIBPYTHON2_4
 #include "python2.4/Python.h"