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
|