From: Christian P. <cp...@us...> - 2005-01-17 22:39:14
|
Update of /cvsroot/pclasses/pclasses2/include/pclasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32184/include/pclasses Modified Files: Export.h Log Message: Added gcc visibility patch support. Index: Export.h =================================================================== RCS file: /cvsroot/pclasses/pclasses2/include/pclasses/Export.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Export.h 17 Jan 2005 21:55:20 -0000 1.1 +++ Export.h 17 Jan 2005 22:38:57 -0000 1.2 @@ -21,44 +21,62 @@ #ifndef P_Export_h #define P_Export_h +#include <pclasses/pclasses-config.h> + #ifdef WIN32 -# ifdef PCORE_BUILD -# define PCORE_EXPORT __declspec(dllexport) +# define P_CXX_CLASS_EXPORT __declspec(dllexport) +# define P_CXX_CLASS_IMPORT __declspec(dllimport) +#else +# ifdef PCLASSES_GCC_VISIBILITY +# define P_CXX_CLASS_EXPORT __attribute__((visibility("default"))) # else -# define PCORE_EXPORT __declspec(dllimport) +# define P_CXX_CLASS_EXPORT # endif +# define P_CXX_CLASS_IMPORT +#endif + +/* core */ +#ifdef PCORE_BUILD +# define PCORE_EXPORT P_CXX_CLASS_EXPORT #else -# define PCORE_EXPORT +# define PCORE_EXPORT P_CXX_CLASS_IMPORT #endif -#ifdef WIN32 -# ifdef PIO_BUILD -# define PIO_EXPORT __declspec(dllexport) -# else -# define PIO_EXPORT __declspec(dllimport) -# endif +/* I/O module */ +#ifdef PIO_BUILD +# define PIO_EXPORT P_CXX_CLASS_EXPORT #else -# define PIO_EXPORT +# define PIO_EXPORT P_CXX_CLASS_IMPORT #endif -#ifdef WIN32 -# ifdef PSYSTEM_BUILD -# define PSYSTEM_EXPORT __declspec(dllexport) -# else -# define PSYSTEM_EXPORT __declspec(dllimport) -# endif +/* System abstraction module */ +#ifdef PSYSTEM_BUILD +# define PSYSTEM_EXPORT P_CXX_CLASS_EXPORT #else -# define PSYSTEM_EXPORT +# define PSYSTEM_EXPORT P_CXX_CLASS_IMPORT #endif -#ifdef WIN32 -# ifdef PNET_BUILD -# define PNET_EXPORT __declspec(dllexport) -# else -# define PNET_EXPORT __declspec(dllimport) -# endif +/* Network module */ +#ifdef PNET_BUILD +# define PNET_EXPORT P_CXX_CLASS_EXPORT #else -# define PNET_EXPORT +# define PNET_EXPORT P_CXX_CLASS_IMPORT #endif +/* App module */ +#ifdef PAPP_BUILD +# define PAPP_EXPORT P_CXX_CLASS_EXPORT +#else +# define PAPP_EXPORT P_CXX_CLASS_IMPORT +#endif + +/* XML module */ +#ifdef PXML_BUILD +# define PXML_EXPORT P_CXX_CLASS_EXPORT +#else +# define PXML_EXPORT P_CXX_CLASS_IMPORT +#endif + +/* add more export macros for each module ... */ + #endif |