X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2d78e5d804e97a3b5937d10cdb56ecc359435a9a..421864cfa538f76e5c01cd41e8cca8d105b350b1:/include/xbt/base.h diff --git a/include/xbt/base.h b/include/xbt/base.h index 98c9c52c0d..dcbaca2444 100644 --- a/include/xbt/base.h +++ b/include/xbt/base.h @@ -157,6 +157,7 @@ /* * Function calling convention (not used for now) + * http://unixwiz.net/techtips/win32-callconv.html <-- good documentation */ #ifdef _XBT_WIN32 @@ -236,13 +237,27 @@ /* UNIX build */ -#else +#elif defined(__ELF__) + # define XBT_PUBLIC(type) type # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) type # define XBT_PUBLIC_DATA(type) extern type # define XBT_PUBLIC_CLASS class +#else +# define XBT_PUBLIC(type) __attribute__((visibility("default"))) type +# define XBT_EXPORT_NO_IMPORT(type) __attribute__((visibility("default"))) type +# define XBT_IMPORT_NO_EXPORT(type) __attribute__((visibility("default"))) type +# define XBT_PUBLIC_DATA(type) extern __attribute__((visibility("default"))) type +# define XBT_PUBLIC_CLASS class __attribute__((visibility("default"))) + +#endif + +#ifdef __ELF__ +#define XBT_PRIVATE __attribute__((visibility("hidden"))) +#else +#define XBT_PRIVATE #endif #ifdef _MSC_VER /* MSVC has no ssize_t, and I fail to use the SSIZE_T declared in BaseTsd.h */ @@ -260,14 +275,6 @@ #define _CRT_SECURE_NO_WARNINGS #endif - - -#ifdef _XBT_WIN32 -#define XBT_INTERNAL -#else -#define XBT_INTERNAL __attribute__((visibility ("hidden"))) -#endif - #if !defined (max) && !defined(__cplusplus) # define max(a,b) (((a) > (b)) ? (a) : (b)) #endif