Kross
krossconfig.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 * krossconfig.h 00003 * This file is part of the KDE project 00004 * copyright (C)2004-2006 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_MAIN_KROSSCONFIG_H 00021 #define KROSS_MAIN_KROSSCONFIG_H 00022 00023 #include <kross/core/kross_export.h> 00024 00025 00026 #include <klocale.h> 00027 #include <kicon.h> 00028 00029 namespace Kross { 00030 00031 // Debugging enabled. Comment the line out to disable all kind of debugging. 00032 #define KROSS_DEBUG_ENABLED 00033 00034 #ifdef KROSS_DEBUG_ENABLED 00035 00039 KROSSCORE_EXPORT void krossdebug(const QString &s); 00040 00044 KROSSCORE_EXPORT void krosswarning(const QString &s); 00045 00046 #else 00047 // Define these to an empty statement if debugging is disabled. 00048 #define krossdebug(x) 00049 #define krosswarning(x) 00050 #endif 00051 00052 // Some more debug switches. 00053 #define KROSS_OBJECT_METACALL_DEBUG 00054 //#define KROSS_METATYPE_DEBUG 00055 //#define KROSS_INTERPRETER_DEBUG 00056 //#define KROSS_ACTION_DEBUG 00057 //#define KROSS_ACTIONCOLLECTION_DEBUG 00058 00059 // The version number of Kross. For example the interpreters use 00060 // it do be sure there are linked against the correct core version 00061 // and if the numbers don't match, the interpreter is not loaded. 00062 #define KROSS_VERSION 6 00063 00064 // The export macro for interpreter plugins. 00065 #define KROSS_EXPORT_INTERPRETER( InterpreterImpl ) \ 00066 extern "C" { \ 00067 KDE_EXPORT void* krossinterpreter(int version, Kross::InterpreterInfo* info) { \ 00068 if(version != KROSS_VERSION) { \ 00069 Kross::krosswarning(QString("Interpreter skipped cause provided version %1 does not match expected version %2.").arg(version).arg(KROSS_VERSION)); \ 00070 return 0; \ 00071 } \ 00072 return new InterpreterImpl(info); \ 00073 } \ 00074 } 00075 00076 // The name of the interpreter's library. Those library got loaded 00077 // dynamically during runtime. Comment out to disable compiling of 00078 // the interpreter-plugin or to hardcode the location of the lib 00079 // like I did at the following line. 00080 //#define KROSS_PYTHON_LIBRARY "/home/kde4/koffice/_build/lib/krosspython.la" 00081 #define KROSS_PYTHON_LIBRARY "krosspython" 00082 #define KROSS_RUBY_LIBRARY "krossruby" 00083 #define KROSS_KJS_LIBRARY "krosskjs" 00084 #define KROSS_JAVA_LIBRARY "libkrossjava" 00085 #define KROSS_FALCON_LIBRARY "krossfalcon" 00086 00087 } 00088 00089 #endif 00090
KDE 4.0 API Reference