1*2c1f46dcSZachary Turner //===-- lldb-python.h --------------------------------------------*- C++ -*-===//
2*2c1f46dcSZachary Turner //
3*2c1f46dcSZachary Turner //                     The LLVM Compiler Infrastructure
4*2c1f46dcSZachary Turner //
5*2c1f46dcSZachary Turner // This file is distributed under the University of Illinois Open Source
6*2c1f46dcSZachary Turner // License. See LICENSE.TXT for details.
7*2c1f46dcSZachary Turner //
8*2c1f46dcSZachary Turner //===----------------------------------------------------------------------===//
9*2c1f46dcSZachary Turner 
10*2c1f46dcSZachary Turner #ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_LLDB_PYTHON_H
11*2c1f46dcSZachary Turner #define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_LLDB_PYTHON_H
12*2c1f46dcSZachary Turner 
13*2c1f46dcSZachary Turner // Python.h needs to be included before any system headers in order to avoid redefinition of macros
14*2c1f46dcSZachary Turner 
15*2c1f46dcSZachary Turner #ifdef LLDB_DISABLE_PYTHON
16*2c1f46dcSZachary Turner // Python is disabled in this build
17*2c1f46dcSZachary Turner #else
18*2c1f46dcSZachary Turner #if defined(__linux__)
19*2c1f46dcSZachary Turner // features.h will define _POSIX_C_SOURCE if _GNU_SOURCE is defined.  This value
20*2c1f46dcSZachary Turner // may be different from the value that Python defines it to be which results
21*2c1f46dcSZachary Turner // in a warning.  Undefine _POSIX_C_SOURCE before including Python.h  The same
22*2c1f46dcSZachary Turner // holds for _XOPEN_SOURCE.
23*2c1f46dcSZachary Turner #undef _POSIX_C_SOURCE
24*2c1f46dcSZachary Turner #undef _XOPEN_SOURCE
25*2c1f46dcSZachary Turner #endif
26*2c1f46dcSZachary Turner 
27*2c1f46dcSZachary Turner // Include python for non windows machines
28*2c1f46dcSZachary Turner #include <Python.h>
29*2c1f46dcSZachary Turner #endif // LLDB_DISABLE_PYTHON
30*2c1f46dcSZachary Turner 
31*2c1f46dcSZachary Turner #endif // LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_LLDB_PYTHON_H
32