Go to the documentation of this file.
28 #ifndef GWENHYWFARAPI_H
29 #define GWENHYWFARAPI_H
33 #ifdef GWENHYWFAR_IS_SUBPROJECT
34 # define GWENHYWFAR_API
35 # define GWENHYWFAR_EXPORT
36 # define GWENHYWFAR_NOEXPORT
39 # ifdef BUILDING_GWENHYWFAR
41 # if GWENHYWFAR_SYS_IS_WINDOWS
44 # define GWENHYWFAR_API __declspec (dllexport)
46 # define GWENHYWFAR_API
50 # ifdef GCC_WITH_VISIBILITY_ATTRIBUTE
51 # define GWENHYWFAR_API __attribute__((visibility("default")))
53 # define GWENHYWFAR_API
58 # if GWENHYWFAR_SYS_IS_WINDOWS
61 # define GWENHYWFAR_API __declspec (dllimport)
63 # define GWENHYWFAR_API
67 # define GWENHYWFAR_API
71 # ifdef GCC_WITH_VISIBILITY_ATTRIBUTE
72 # define GWENHYWFAR_EXPORT __attribute__((visibility("default")))
73 # define GWENHYWFAR_NOEXPORT __attribute__((visibility("hidden")))
75 # define GWENHYWFAR_EXPORT
76 # define GWENHYWFAR_NOEXPORT
80 # define GWEN_UNUSED __attribute__((unused))
86 #if GWENHYWFAR_SYS_IS_WINDOWS
87 # define GWENHYWFAR_CB __stdcall
89 # define GWENHYWFAR_CB
92 #if GWENHYWFAR_SYS_IS_WINDOWS
94 # define GWEN_DIR_SEPARATOR '/'
95 # define GWEN_DIR_SEPARATOR_S "/"
97 # define GWEN_DIR_SEPARATOR '\\'
98 # define GWEN_DIR_SEPARATOR_S "\\"
100 # define GWEN_SEARCHPATH_SEPARATOR ';'
101 # define GWEN_SEARCHPATH_SEPARATOR_S ";"
105 # define GWEN_DIR_SEPARATOR '/'
108 # define GWEN_DIR_SEPARATOR_S "/"
111 # define GWEN_SEARCHPATH_SEPARATOR ':'
114 # define GWEN_SEARCHPATH_SEPARATOR_S ":"
120 #ifndef __GNUC_PREREQ
121 # if defined __GNUC__ && defined __GNUC_MINOR__
122 # define __GNUC_PREREQ(maj, min) \
123 ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
125 # define __GNUC_PREREQ(maj, min) 0
133 # define __STRING(x) #x
142 #if __GNUC_PREREQ(3, 0)
144 # define GWEN_DEPRECATED __attribute__((deprecated))
145 # define GWEN_UNUSED __attribute__((unused))
146 # define GWEN_LIKELY(cond) __builtin_expect(!!(cond), 1)
147 # define GWEN_UNLIKELY(cond) __builtin_expect(!!(cond), 0)
149 # define GWEN_DEPRECATED
151 # define GWEN_LIKELY(cond) (!!(cond))
152 # define GWEN_UNLIKELY(cond) (!!(cond))
156 #if defined(__GNUC__) && !defined(__MINGW32__)
157 # define GWEN_FORMAT(fmt, pos, argstart) \
158 __attribute__ ((format (fmt, pos, argstart)))
160 # define GWEN_FORMAT(fmt, pos, argstart)
164 #define GWEN_TIMEOUT_NONE (0)
165 #define GWEN_TIMEOUT_FOREVER (-1)