Server IP : 104.21.38.3 / Your IP : 162.158.170.246 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/boost/boost_1_59_0/boost/python/detail/ |
Upload File : |
// (C) Copyright David Abrahams 2000. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // // The author gratefully acknowleges the support of Dragon Systems, Inc., in // producing this work. // This file serves as a wrapper around <Python.h> which allows it to be // compiled with GCC 2.95.2 under Win32 and which disables the default MSVC // behavior so that a program may be compiled in debug mode without requiring a // special debugging build of the Python library. // To use the Python debugging library, #define BOOST_DEBUG_PYTHON on the // compiler command-line. // Revision History: // 05 Mar 01 Suppress warnings under Cygwin with Python 2.0 (Dave Abrahams) // 04 Mar 01 Rolled in some changes from the Dragon fork (Dave Abrahams) // 01 Mar 01 define PyObject_INIT() for Python 1.x (Dave Abrahams) #ifdef _DEBUG # ifndef BOOST_DEBUG_PYTHON # ifdef _MSC_VER // VC8.0 will complain if system headers are #included both with // and without _DEBUG defined, so we have to #include all the // system headers used by pyconfig.h right here. # include <stddef.h> # include <stdarg.h> # include <stdio.h> # include <stdlib.h> # include <assert.h> # include <errno.h> # include <ctype.h> # include <wchar.h> # include <basetsd.h> # include <io.h> # include <limits.h> # include <float.h> # include <string.h> # include <math.h> # include <time.h> # endif # undef _DEBUG // Don't let Python force the debug library just because we're debugging. # define DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H # endif #endif # include <pyconfig.h> # if defined(_SGI_COMPILER_VERSION) && _SGI_COMPILER_VERSION >= 740 # undef _POSIX_C_SOURCE # undef _XOPEN_SOURCE # undef HAVE_STDINT_H // undo Python 2.5.1 define # endif // // Python's LongObject.h helpfully #defines ULONGLONG_MAX for us, // which confuses Boost's config // #include <limits.h> #ifndef ULONG_MAX # define BOOST_PYTHON_ULONG_MAX_UNDEFINED #endif #ifndef LONGLONG_MAX # define BOOST_PYTHON_LONGLONG_MAX_UNDEFINED #endif #ifndef ULONGLONG_MAX # define BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED #endif // // Get ahold of Python's version number // #include <patchlevel.h> #if PY_MAJOR_VERSION<2 || PY_MAJOR_VERSION==2 && PY_MINOR_VERSION<2 #error Python 2.2 or higher is required for this version of Boost.Python. #endif // // Some things we need in order to get Python.h to work with compilers other // than MSVC on Win32 // #if defined(_WIN32) || defined(__CYGWIN__) # if defined(__GNUC__) && defined(__CYGWIN__) # define SIZEOF_LONG 4 # if PY_MAJOR_VERSION < 2 || PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION <= 2 typedef int pid_t; # define WORD_BIT 32 # define hypot _hypot # include <stdio.h> # if PY_MAJOR_VERSION < 2 # define HAVE_CLOCK # define HAVE_STRFTIME # define HAVE_STRERROR # endif # define NT_THREADS # ifndef NETSCAPE_PI # define USE_SOCKET # endif # ifdef USE_DL_IMPORT # define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE # endif # ifdef USE_DL_EXPORT # define DL_IMPORT(RTYPE) __declspec(dllexport) RTYPE # define DL_EXPORT(RTYPE) __declspec(dllexport) RTYPE # endif # define HAVE_LONG_LONG 1 # define LONG_LONG long long # endif # elif defined(__MWERKS__) # ifndef _MSC_VER # define PY_MSC_VER_DEFINED_FROM_WRAP_PYTHON_H 1 # define _MSC_VER 900 # endif # undef hypot // undo the evil #define left by Python. # elif defined(__BORLANDC__) # undef HAVE_HYPOT # define HAVE_HYPOT 1 # endif #endif // _WIN32 #if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 2 && PY_MICRO_VERSION < 2 # include <boost/python/detail/python22_fixed.h> #else # include <Python.h> #endif #ifdef BOOST_PYTHON_ULONG_MAX_UNDEFINED # undef ULONG_MAX # undef BOOST_PYTHON_ULONG_MAX_UNDEFINED #endif #ifdef BOOST_PYTHON_LONGLONG_MAX_UNDEFINED # undef LONGLONG_MAX # undef BOOST_PYTHON_LONGLONG_MAX_UNDEFINED #endif #ifdef BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED # undef ULONGLONG_MAX # undef BOOST_PYTHON_ULONGLONG_MAX_UNDEFINED #endif #ifdef PY_MSC_VER_DEFINED_FROM_WRAP_PYTHON_H # undef _MSC_VER #endif #ifdef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H # undef DEBUG_UNDEFINED_FROM_WRAP_PYTHON_H # define _DEBUG # ifdef _CRT_NOFORCE_MANIFEST_DEFINED_FROM_WRAP_PYTHON_H # undef _CRT_NOFORCE_MANIFEST_DEFINED_FROM_WRAP_PYTHON_H # undef _CRT_NOFORCE_MANIFEST # endif #endif #if !defined(PY_MAJOR_VERSION) || PY_MAJOR_VERSION < 2 # define PyObject_INIT(op, typeobj) \ ( (op)->ob_type = (typeobj), _Py_NewReference((PyObject *)(op)), (op) ) #endif // Define Python 3 macros for Python 2.x #if PY_VERSION_HEX < 0x02060000 # define Py_TYPE(o) (((PyObject*)(o))->ob_type) # define Py_REFCNT(o) (((PyObject*)(o))->ob_refcnt) # define Py_SIZE(o) (((PyVarObject*)(o))->ob_size) # define PyVarObject_HEAD_INIT(type, size) \ PyObject_HEAD_INIT(type) size, #endif #ifdef __MWERKS__ # pragma warn_possunwant off #elif _MSC_VER # pragma warning(disable:4786) #endif #if defined(HAVE_LONG_LONG) # if defined(PY_LONG_LONG) # define BOOST_PYTHON_LONG_LONG PY_LONG_LONG # elif defined(LONG_LONG) # define BOOST_PYTHON_LONG_LONG LONG_LONG # else # error "HAVE_LONG_LONG defined but not PY_LONG_LONG or LONG_LONG" # endif #endif