1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMPYTHON_H
#define GDCMPYTHON_H
/* The following file was 'inspired by vtkPython.h only push to the next limit
* rename it to Python.h since we do not control swig generated file
* and have the hand generated file use full path to include Python.h
*/
/* Undefine macros that Python.h defines to avoid redefinition warning. */
#undef _POSIX_C_SOURCE
#undef _POSIX_THREADS
#include "gdcmType.h"
/*
Use the real python debugging library if it is provided.
Otherwise use the "documented" trick involving checking for _DEBUG
and undefined that symbol while we include Python headers.
Update: this method does not fool Microsoft Visual C++ 8 anymore; two
of its header files (crtdefs.h and use_ansi.h) check if _DEBUG was set
or not, and set flags accordingly (_CRT_MANIFEST_RETAIL,
_CRT_MANIFEST_DEBUG, _CRT_MANIFEST_INCONSISTENT). The next time the
check is performed in the same compilation unit, and the flags are found,
and error is triggered. Let's prevent that by setting _CRT_NOFORCE_MANIFEST.
*/
#if defined(GDCM_WINDOWS_PYTHON_DEBUGGABLE)
# include "@PYTHON_INCLUDE_PATH@/Python.h"
#else
# ifdef _DEBUG
# undef _DEBUG
# if defined(_MSC_VER) && _MSC_VER >= 1400
# define _CRT_NOFORCE_MANIFEST 1
# endif
# include "@PYTHON_INCLUDE_PATH@/Python.h"
# define _DEBUG 1
# else
# include "@PYTHON_INCLUDE_PATH@/Python.h"
# endif
#endif
#endif
|