ephcomdll.h 2.14 KB
Newer Older
Zhang Xin's avatar
Zhang Xin committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef __EPHCOM_DLL_H
#define __EPHCOM_DLL_H

#ifdef USINGDLL
  #if defined ( WIN32 )
// Visual C/C++, Borland, MinGW and Watcom
    #if defined ( __VISUALC__ ) || defined ( _MSC_VER ) || defined ( __BORLANDC__ ) || defined ( __GNUC__ ) || defined ( __WATCOMC__ )
      #define EPHCOMDLLEXPORT    __declspec( dllexport )
      #define EPHCOMDLLIMPORT    __declspec( dllimport )
    #else
      #define EPHCOMDLLEXPORT
      #define EPHCOMDLLIMPORT
    #endif
  #elif defined ( __CYGWIN__ )
    #define EPHCOMDLLEXPORT    __declspec( dllexport )
    #define EPHCOMDLLIMPORT    __declspec( dllimport )
  #elif defined ( __GNUC__ ) && __GNUC__ > 3
// Follow ideas in http://gcc.gnu.org/wiki/Visibility for GCC version 4.x
// The following forces exported symbols specifically designated with
// EPHCOMDLLEXPORT to be visible.
    #define EPHCOMDLLEXPORT    __attribute__ ( ( visibility( "default" ) ) )
    #define EPHCOMDLLIMPORT
  #endif
#endif

// For an unknown compiler or static build we clear the macros
#ifndef EPHCOMDLLEXPORT
  #define EPHCOMDLLEXPORT
  #define EPHCOMDLLIMPORT
#endif

// The IMPEXP macros will always be set to DLLIMPORT (even for
// the static library, but DLLIMPORT is empty in this case), if
// cmake didn't set the corresponding macro xxxx_EXPORTS when the
// corresponding library is built (DLLIMPEXP is set to DLLEXPORT
// then)
#if defined ( gnulliver_EXPORTS )
  #define GNULLIVERDLLIMPEXP    EPHCOMDLLEXPORT
  #define GNULLIVERDLLIMPEXP_DATA( type )    EPHCOMDLLEXPORT type
#else
  #define GNULLIVERDLLIMPEXP    EPHCOMDLLIMPORT
  #define GNULLIVERDLLIMPEXP_DATA( type )    EPHCOMDLLIMPORT type
#endif

#if defined ( ephcom_EXPORTS )
  #define EPHCOMDLLIMPEXP    EPHCOMDLLEXPORT
  #define EPHCOMDLLIMPEXP_DATA( type )    EPHCOMDLLEXPORT type
#else
  #define EPHCOMDLLIMPEXP    EPHCOMDLLIMPORT
  #define EPHCOMDLLIMPEXP_DATA( type )    EPHCOMDLLIMPORT type
#endif

#if defined ( ephcomfc_EXPORTS )
  #define EPHCOMFCDLLIMPEXP    EPHCOMDLLEXPORT
  #define EPHCOMFCDLLIMPEXP_DATA( type )    EPHCOMDLLEXPORT type
#else
  #define EPHCOMFCDLLIMPEXP    EPHCOMDLLIMPORT
  #define EPHCOMFCDLLIMPEXP_DATA( type )    EPHCOMDLLIMPORT type
#endif

#endif // __EPHCOM_DLL_H