PLplot  5.15.0
qsastimedll.h
Go to the documentation of this file.
1 #ifndef __QSASTIME_DLL_H
2 #define __QSASTIME_DLL_H
3 
4 #ifdef USINGDLL
5 #if defined ( _WIN32 )
6 // Visual C/C++, Borland, MinGW and Watcom
7 #if defined ( __VISUALC__ ) || defined ( _MSC_VER ) || defined ( __BORLANDC__ ) || defined ( __GNUC__ ) || defined ( __WATCOMC__ )
8 #define QSASTIMEDLLEXPORT __declspec( dllexport )
9 #define QSASTIMEDLLIMPORT __declspec( dllimport )
10 #else
11 #define QSASTIMEDLLEXPORT
12 #define QSASTIMEDLLIMPORT
13 #endif
14 #elif defined ( __CYGWIN__ )
15 #define QSASTIMEDLLEXPORT __declspec( dllexport )
16 #define QSASTIMEDLLIMPORT __declspec( dllimport )
17 #elif defined ( __GNUC__ ) && __GNUC__ > 3
18 // Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x
19 // The following forces exported symbols specifically designated with
20 // QSASTIMEDLLEXPORT to be visible.
21 #define QSASTIMEDLLEXPORT __attribute__ ( ( visibility( "default" ) ) )
22 #define QSASTIMEDLLIMPORT
23 #endif
24 #endif
25 
26 // For an unknown compiler or static built we clear the macros
27 #ifndef QSASTIMEDLLEXPORT
28 # define QSASTIMEDLLEXPORT
29 # define QSASTIMEDLLIMPORT
30 #endif
31 
32 // The IMPEXP macros will always be set to DLLIMPORT (even for
33 // the static library, but DLLIMPORT is empty in this case). If
34 // cmake sets the corresponding macro xxxx_EXPORTS if the
35 // corresponding library is built DLLIMPEXP is set to DLLEXPORT
36 #if defined ( qsastime_EXPORTS )
37 #define QSASTIMEDLLIMPEXP QSASTIMEDLLEXPORT
38 #define QSASTIMEDLLIMPEXP_DATA( type ) QSASTIMEDLLEXPORT type
39 #else
40 #define QSASTIMEDLLIMPEXP QSASTIMEDLLIMPORT
41 #define QSASTIMEDLLIMPEXP_DATA( type ) QSASTIMEDLLIMPORT type
42 #endif
43 
44 #endif // __QSASTIME_DLL_H