Fix build failure with Python installed in non-system location.

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.
This commit is contained in:
Joel Brobecker 2010-06-30 23:12:04 +00:00
parent 0a600c36f7
commit aac63f0f26
2 changed files with 9 additions and 1 deletions

View 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

View File

@ -30,8 +30,11 @@
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"