PLplot
5.10.0
|
00001 #ifndef __CSA_DLL_H 00002 #define __CSA_DLL_H 00003 00004 #ifdef USINGDLL 00005 #if defined ( WIN32 ) 00006 // Visual C/C++, Borland, MinGW and Watcom 00007 #if defined ( __VISUALC__ ) || defined ( _MSC_VER ) || defined ( __BORLANDC__ ) || defined ( __GNUC__ ) || defined ( __WATCOMC__ ) 00008 #define CSADLLEXPORT __declspec( dllexport ) 00009 #define CSADLLIMPORT __declspec( dllimport ) 00010 #else 00011 #define CSADLLEXPORT 00012 #define CSADLLIMPORT 00013 #endif 00014 #elif defined ( __CYGWIN__ ) 00015 #define CSADLLEXPORT __declspec( dllexport ) 00016 #define CSADLLIMPORT __declspec( dllimport ) 00017 #elif defined ( __GNUC__ ) && __GNUC__ > 3 00018 // Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x 00019 // The following forces exported symbols specifically designated with 00020 // CSADLLEXPORT to be visible. 00021 #define CSADLLEXPORT __attribute__ ( ( visibility( "default" ) ) ) 00022 #define CSADLLIMPORT 00023 #endif 00024 #endif 00025 00026 // For an unknown compiler or static built we clear the macros 00027 #ifndef CSADLLEXPORT 00028 # define CSADLLEXPORT 00029 # define CSADLLIMPORT 00030 #endif 00031 00032 // The IMPEXP macros will always be set to DLLIMPORT (even for 00033 // the static library, but DLLIMPORT is empty in this case). If 00034 // cmake sets the corresponding macro xxxx_EXPORTS if the 00035 // corresponding library is built DLLIMPEXP is set to DLLEXPORT 00036 #if defined ( csirocsa_EXPORTS ) 00037 #define CSADLLIMPEXP CSADLLEXPORT 00038 #define CSADLLIMPEXP_DATA( type ) CSADLLEXPORT type 00039 #else 00040 #define CSADLLIMPEXP CSADLLIMPORT 00041 #define CSADLLIMPEXP_DATA( type ) CSADLLIMPORT type 00042 #endif 00043 00044 #endif // __CSA_DLL_H