00001
00004 #ifndef _RAZORBACK_VISIBILTY_H
00005 #define _RAZORBACK_VISIBILTY_H
00006
00007 #if defined _WIN32 || defined __CYGWIN__
00008 # ifdef BUILDING_SO
00009 # ifdef __GNUC__
00010 # define SO_PUBLIC __attribute__((dllexport))
00011 # else
00012 # define SO_PUBLIC __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
00013 # endif
00014 # else
00015 # ifdef __GNUC__
00016 # define SO_PUBLIC __attribute__((dllimport))
00017 # else
00018 # define SO_PUBLIC __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
00019 # endif
00020 # endif
00021 # define DLL_LOCAL
00022 # define PRINTF_FUNC(x,y)
00023 #else
00024 # if __GNUC__ >= 4
00025 # define SO_PUBLIC __attribute__ ((visibility("default")))
00026 # define SO_LOCAL __attribute__ ((visibility("hidden")))
00027 # else
00028 # define SO_PUBLIC
00029 # define SO_LOCAL
00030 # endif
00031 # define PRINTF_FUNC(x,y) __attribute__((format (printf, x, y)))
00032 #endif
00033
00034 #endif