Scribus
Open source desktop publishing at your fingertips
pluginapi.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 // Le bloc ifdef suivant est la façon standard de créer des macros qui facilitent l'exportation
8 // à partir d'une DLL. Tous les fichiers contenus dans cette DLL sont compilés avec le symbole SVGEXPORT121_EXPORTS
9 // défini sur la ligne de commande. Ce symbole ne doit pas être défini dans les projets
10 // qui utilisent cette DLL. De cette manière, les autres projets dont les fichiers sources comprennent ce fichier considèrent les fonctions
11 // SVGEXPORT121_API comme étant importées à partir d'une DLL, tandis que cette DLL considère les symboles
12 // définis avec cette macro comme étant exporté.
13 
14 #ifndef PLUGIN_API_H
15 #define PLUGIN_API_H
16 
17 #ifdef _WIN32
18  #ifdef COMPILE_SCRIBUS_MAIN_APP
19  #define PLUGIN_API __declspec(dllimport)
20  #else
21  #ifdef COMPILE_PLUGIN_AS_DLL
22  #define PLUGIN_API __declspec(dllexport)
23  #else
24  #define PLUGIN_API
25  #endif
26  #endif
27 #else
28  #ifdef HAVE_GCC_SYMBOL_VISIBILITY
29  #define PLUGIN_API __attribute__ ((visibility("default")))
30  #define PLUGIN_LOCAL __attribute__ ((visibility("hidden")))
31  #else
32  #define PLUGIN_API
33  #define PLUGIN_LOCAL
34  #endif
35 #endif
36 
37 #endif