lib

pythonconfig.h
1/***************************************************************************
2 * pythonconfig.h
3 * This file is part of the KDE project
4 * copyright (C)2004-2005 by Sebastian Sauer (mail@dipe.org)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public License
15 * along with this program; see the file COPYING. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 ***************************************************************************/
19
20#ifndef KROSS_PYTHON_CONFIG_H
21#define KROSS_PYTHON_CONFIG_H
22
23#include "../main/krossconfig.h"
24
25// Prevent warnings
26#if defined(_XOPEN_SOURCE)
27 #undef _XOPEN_SOURCE
28#endif
29#if defined(_POSIX_C_SOURCE)
30 #undef _POSIX_C_SOURCE
31#endif
32
33// The Python.h needs to be included first.
34#include <Python.h>
35#include <object.h>
36#include <compile.h>
37#include <eval.h>
38#include <frameobject.h>
39
40// Include the PyCXX stuff.
41#include "cxx/Config.h"
42#include "cxx/Objects.h"
43#include "cxx/Extensions.h"
44
45namespace Kross {
46
69namespace Python {
70
71 // The version of this python plugin. This will be exported
72 // to the scripting code. That way we're able to write
73 // scripting code for different incompatible Kross python
74 // bindings by checking the version. You should increment
75 // this number only if you really know what you're doing.
76 #define KROSS_PYTHON_VERSION 1
77
78 // Enable debugging for Kross::Python::PythonScript
79 //#define KROSS_PYTHON_SCRIPT_CTOR_DEBUG
80 //#define KROSS_PYTHON_SCRIPT_DTOR_DEBUG
81 //#define KROSS_PYTHON_SCRIPT_INIT_DEBUG
82 //#define KROSS_PYTHON_SCRIPT_FINALIZE_DEBUG
83 //#define KROSS_PYTHON_SCRIPT_EXEC_DEBUG
84 //#define KROSS_PYTHON_SCRIPT_CALLFUNC_DEBUG
85 //#define KROSS_PYTHON_SCRIPT_CLASSINSTANCE_DEBUG
86
87 // Enable debugging for Kross::Python::PythonModule
88 //#define KROSS_PYTHON_MODULE_DEBUG
89
90 // Enable debugging for Kross::Python::PythonExtension
91 //#define KROSS_PYTHON_EXTENSION_CTOR_DEBUG
92 //#define KROSS_PYTHON_EXTENSION_DTOR_DEBUG
93
94 //#define KROSS_PYTHON_EXTENSION_TOOBJECT_DEBUG
95 //#define KROSS_PYTHON_EXTENSION_TOPYOBJECT_DEBUG
96
97 //#define KROSS_PYTHON_EXTENSION_GETATTR_DEBUG
98 //#define KROSS_PYTHON_EXTENSION_GETATTRMETHOD_DEBUG
99 //#define KROSS_PYTHON_EXTENSION_SETATTR_DEBUG
100
101 //#define KROSS_PYTHON_EXTENSION_CALL_DEBUG
102
103}}
104
105#endif
The Python plugin for the Kross scripting framework.
The Kross scripting bridge to embed scripting functionality into an application.
Definition callable.h:33