pluginapi.h
Go to the documentation of this file.00001 /* 00002 For general Scribus (>=1.3.2) copyright and licensing information please refer 00003 to the COPYING file provided with the program. Following this notice may exist 00004 a copyright and/or license notice that predates the release of Scribus 1.3.2 00005 for which a new license (GPL+exception) is in place. 00006 */ 00007 // Le bloc ifdef suivant est la façon standard de créer des macros qui facilitent l'exportation 00008 // à partir d'une DLL. Tous les fichiers contenus dans cette DLL sont compilés avec le symbole SVGEXPORT121_EXPORTS 00009 // défini sur la ligne de commande. Ce symbole ne doit pas être défini dans les projets 00010 // qui utilisent cette DLL. De cette manière, les autres projets dont les fichiers sources comprennent ce fichier considèrent les fonctions 00011 // SVGEXPORT121_API comme étant importées à partir d'une DLL, tandis que cette DLL considère les symboles 00012 // définis avec cette macro comme étant exporté. 00013 00014 #ifndef PLUGIN_API_H 00015 #define PLUGIN_API_H 00016 00017 #ifdef _WIN32 00018 #ifdef COMPILE_SCRIBUS_MAIN_APP 00019 #define PLUGIN_API __declspec(dllimport) 00020 #else 00021 #ifdef COMPILE_PLUGIN_AS_DLL 00022 #define PLUGIN_API __declspec(dllexport) 00023 #else 00024 #define PLUGIN_API 00025 #endif 00026 #endif 00027 #else 00028 #ifdef HAVE_GCC_SYMBOL_VISIBILITY 00029 #define PLUGIN_API __attribute__ ((visibility("default"))) 00030 #define PLUGIN_LOCAL __attribute__ ((visibility("hidden"))) 00031 #else 00032 #define PLUGIN_API 00033 #define PLUGIN_LOCAL 00034 #endif 00035 #endif 00036 00037 #endif
