lib
pythonconfig.h
00001 /*************************************************************************** 00002 * pythonconfig.h 00003 * This file is part of the KDE project 00004 * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org) 00005 * 00006 * This program is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; see the file COPYING. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 ***************************************************************************/ 00019 00020 #ifndef KROSS_PYTHON_CONFIG_H 00021 #define KROSS_PYTHON_CONFIG_H 00022 00023 // Prevent warnings 00024 #if defined(_XOPEN_SOURCE) 00025 #undef _XOPEN_SOURCE 00026 #endif 00027 00028 // The Python.h needs to be included first. 00029 #include <Python.h> 00030 #include <object.h> 00031 #include <compile.h> 00032 #include <eval.h> 00033 00034 // Include the PyCXX stuff. 00035 #include "CXX/Config.hxx" 00036 #include "CXX/Objects.hxx" 00037 #include "CXX/Extensions.hxx" 00038 00039 namespace Kross { 00040 00063 namespace Python { 00064 00065 // The version of this python plugin. This will be exported 00066 // to the scripting code. That way we're able to write 00067 // scripting code for different incompatible Kross python 00068 // bindings by checking the version. You should increment 00069 // this number only if you really know what you're doing. 00070 #define KROSS_PYTHON_VERSION 1 00071 00072 // Enable kdDebug()-debugging for Kross::Python::PythonScript 00073 //#define KROSS_PYTHON_SCRIPT_CTOR_DEBUG 00074 //#define KROSS_PYTHON_SCRIPT_DTOR_DEBUG 00075 //#define KROSS_PYTHON_SCRIPT_INIT_DEBUG 00076 //#define KROSS_PYTHON_SCRIPT_FINALIZE_DEBUG 00077 //#define KROSS_PYTHON_SCRIPT_EXEC_DEBUG 00078 //#define KROSS_PYTHON_SCRIPT_CALLFUNC_DEBUG 00079 //#define KROSS_PYTHON_SCRIPT_CLASSINSTANCE_DEBUG 00080 00081 // Enable kdDebug()-debugging for Kross::Python::PythonModule 00082 //#define KROSS_PYTHON_MODULE_DEBUG 00083 00084 // Enable kdDebug()-debugging for Kross::Python::PythonExtension 00085 //#define KROSS_PYTHON_EXTENSION_CTOR_DEBUG 00086 //#define KROSS_PYTHON_EXTENSION_DTOR_DEBUG 00087 00088 //#define KROSS_PYTHON_EXTENSION_TOOBJECT_DEBUG 00089 //#define KROSS_PYTHON_EXTENSION_TOPYOBJECT_DEBUG 00090 00091 //#define KROSS_PYTHON_EXTENSION_GETATTR_DEBUG 00092 //#define KROSS_PYTHON_EXTENSION_GETATTRMETHOD_DEBUG 00093 //#define KROSS_PYTHON_EXTENSION_SETATTR_DEBUG 00094 00095 //#define KROSS_PYTHON_EXTENSION_CALL_DEBUG 00096 00097 }} 00098 00099 #endif