00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00031 #ifndef version_h
00032 #define version_h
00033
00034 #define SER_FULL_VERSION NAME " " VERSION " (" ARCH "/" OS_QUOTED ")"
00035
00036 #ifdef STATS
00037 #define STATS_STR "STATS: On"
00038 #else
00039 #define STATS_STR "STATS: Off"
00040 #endif
00041
00042 #ifdef USE_IPV6
00043 #define USE_IPV6_STR ", USE_IPV6"
00044 #else
00045 #define USE_IPV6_STR ""
00046 #endif
00047
00048 #ifdef USE_TCP
00049 #define USE_TCP_STR ", USE_TCP"
00050 #else
00051 #define USE_TCP_STR ""
00052 #endif
00053
00054 #ifdef USE_TLS
00055 #define USE_TLS_STR ", USE_TLS"
00056 #else
00057 #define USE_TLS_STR ""
00058 #endif
00059
00060 #ifdef USE_SCTP
00061 #define USE_SCTP_STR ", USE_SCTP"
00062 #else
00063 #define USE_SCTP_STR ""
00064 #endif
00065
00066 #ifdef CORE_TLS
00067 #define CORE_TLS_STR ", CORE_TLS"
00068 #else
00069 #define CORE_TLS_STR ""
00070 #endif
00071
00072 #ifdef TLS_HOOKS
00073 #define TLS_HOOKS_STR ", TLS_HOOKS"
00074 #else
00075 #define TLS_HOOKS_STR ""
00076 #endif
00077
00078
00079 #ifdef USE_RAW_SOCKS
00080 #define USE_RAW_SOCKS_STR ", USE_RAW_SOCKS"
00081 #else
00082 #define USE_RAW_SOCKS_STR ""
00083 #endif
00084
00085
00086 #ifdef DISABLE_NAGLE
00087 #define DISABLE_NAGLE_STR ", DISABLE_NAGLE"
00088 #else
00089 #define DISABLE_NAGLE_STR ""
00090 #endif
00091
00092 #ifdef USE_MCAST
00093 #define USE_MCAST_STR ", USE_MCAST"
00094 #else
00095 #define USE_MCAST_STR ""
00096 #endif
00097
00098
00099 #ifdef NO_DEBUG
00100 #define NO_DEBUG_STR ", NO_DEBUG"
00101 #else
00102 #define NO_DEBUG_STR ""
00103 #endif
00104
00105 #ifdef NO_LOG
00106 #define NO_LOG_STR ", NO_LOG"
00107 #else
00108 #define NO_LOG_STR ""
00109 #endif
00110
00111 #ifdef EXTRA_DEBUG
00112 #define EXTRA_DEBUG_STR ", EXTRA_DEBUG"
00113 #else
00114 #define EXTRA_DEBUG_STR ""
00115 #endif
00116
00117 #ifdef DNS_IP_HACK
00118 #define DNS_IP_HACK_STR ", DNS_IP_HACK"
00119 #else
00120 #define DNS_IP_HACK_STR ""
00121 #endif
00122
00123 #ifdef SHM_MEM
00124 #define SHM_MEM_STR ", SHM_MEM"
00125 #else
00126 #define SHM_MEM_STR ""
00127 #endif
00128
00129 #ifdef SHM_MMAP
00130 #define SHM_MMAP_STR ", SHM_MMAP"
00131 #else
00132 #define SHM_MMAP_STR ""
00133 #endif
00134
00135 #ifdef PKG_MALLOC
00136 #define PKG_MALLOC_STR ", PKG_MALLOC"
00137 #else
00138 #define PKG_MALLOC_STR ""
00139 #endif
00140
00141 #ifdef F_MALLOC
00142 #define F_MALLOC_STR ", F_MALLOC"
00143 #else
00144 #define F_MALLOC_STR ""
00145 #endif
00146
00147 #ifdef DL_MALLOC
00148 #define DL_MALLOC_STR ", DL_MALLOC"
00149 #else
00150 #define DL_MALLOC_STR ""
00151 #endif
00152
00153 #ifdef SF_MALLOC
00154 #define SF_MALLOC_STR ", SF_MALLOC"
00155 #else
00156 #define SF_MALLOC_STR ""
00157 #endif
00158
00159 #ifdef LL_MALLOC
00160 #define LL_MALLOC_STR ", LL_MALLOC"
00161 #else
00162 #define LL_MALLOC_STR ""
00163 #endif
00164
00165 #ifdef USE_SHM_MEM
00166 #define USE_SHM_MEM_STR ", USE_SHM_MEM"
00167 #else
00168 #define USE_SHM_MEM_STR ""
00169 #endif
00170
00171 #ifdef DBG_QM_MALLOC
00172 #define DBG_QM_MALLOC_STR ", DBG_QM_MALLOC"
00173 #else
00174 #define DBG_QM_MALLOC_STR ""
00175 #endif
00176
00177 #ifdef DBG_F_MALLOC
00178 #define DBG_F_MALLOC_STR ", DBG_F_MALLOC"
00179 #else
00180 #define DBG_F_MALLOC_STR ""
00181 #endif
00182
00183 #ifdef DEBUG_DMALLOC
00184 #define DEBUG_DMALLOC_STR ", DEBUG_DMALLOC"
00185 #else
00186 #define DEBUG_DMALLOC_STR ""
00187 #endif
00188
00189 #ifdef DBG_SF_MALLOC
00190 #define DBG_SF_MALLOC_STR ", DBG_SF_MALLOC"
00191 #else
00192 #define DBG_SF_MALLOC_STR ""
00193 #endif
00194
00195 #ifdef DBG_LL_MALLOC
00196 #define DBG_LL_MALLOC_STR ", DBG_SF_MALLOC"
00197 #else
00198 #define DBG_LL_MALLOC_STR ""
00199 #endif
00200
00201 #ifdef TIMER_DEBUG
00202 #define TIMER_DEBUG_STR ", TIMER_DEBUG"
00203 #else
00204 #define TIMER_DEBUG_STR ""
00205 #endif
00206
00207 #ifdef USE_FUTEX
00208 #define USE_FUTEX_STR ", USE_FUTEX"
00209 #else
00210 #define USE_FUTEX_STR ""
00211 #endif
00212
00213
00214 #ifdef FAST_LOCK
00215 #ifdef BUSY_WAIT
00216 #define FAST_LOCK_STR ", FAST_LOCK-BUSY_WAIT"
00217 #elif defined (ADAPTIVE_WAIT)
00218 #define FAST_LOCK_STR ", FAST_LOCK-ADAPTIVE_WAIT"
00219 #else
00220 #define FAST_LOCK_STR ", FAST_LOCK"
00221 #endif
00222 #else
00223 #define FAST_LOCK_STR ""
00224 #endif
00225
00226 #ifdef USE_PTHREAD_MUTEX
00227 #define USE_PTHREAD_MUTEX_STR ", USE_PTHREAD_MUTEX"
00228 #else
00229 #define USE_PTHREAD_MUTEX_STR ""
00230 #endif
00231
00232 #ifdef USE_POSIX_SEM
00233 #define USE_POSIX_SEM_STR ", USE_POSIX_SEM"
00234 #else
00235 #define USE_POSIX_SEM_STR ""
00236 #endif
00237
00238 #ifdef USE_SYSV_SEM
00239 #define USE_SYSV_SEM_STR ", USE_SYSV_SEM"
00240 #else
00241 #define USE_SYSV_SEM_STR ""
00242 #endif
00243
00244 #ifdef NOSMP
00245 #define NOSMP_STR "-NOSMP"
00246 #else
00247 #define NOSMP_STR ""
00248 #endif
00249
00250
00251 #ifdef USE_COMP
00252 #define USE_COMP_STR ", USE_COMP"
00253 #else
00254 #define USE_COMP_STR ""
00255 #endif
00256
00257
00258 #ifdef USE_DNS_CACHE
00259 #define USE_DNS_CACHE_STR ", USE_DNS_CACHE"
00260 #else
00261 #define USE_DNS_CACHE_STR ""
00262 #endif
00263
00264 #ifdef USE_DNS_FAILOVER
00265 #define USE_DNS_FAILOVER_STR ", USE_DNS_FAILOVER"
00266 #else
00267 #define USE_DNS_FAILOVER_STR ""
00268 #endif
00269
00270 #ifdef DNS_WATCHDOG_SUPPORT
00271 #define DNS_WATCHDOG_SUPPORT_STR ", DNS_WATCHDOG_SUPPORT"
00272 #else
00273 #define DNS_WATCHDOG_SUPPORT_STR ""
00274 #endif
00275
00276 #ifdef USE_NAPTR
00277 #define USE_NAPTR_STR ", USE_NAPTR"
00278 #else
00279 #define USE_NAPTR_STR ""
00280 #endif
00281
00282 #ifdef USE_DST_BLACKLIST
00283 #define USE_DST_BLACKLIST_STR ", USE_DST_BLACKLIST"
00284 #else
00285 #define USE_DST_BLACKLIST_STR ""
00286 #endif
00287
00288 #ifdef NO_SIG_DEBUG
00289 #define NO_SIG_DEBUG_STR ", NO_SIG_DEBUG"
00290 #else
00291 #define NO_SIG_DEBUG_STR ""
00292 #endif
00293
00294 #ifdef USE_STUN
00295 #define USE_STUN_STR ", USE_STUN"
00296 #else
00297 #define USE_STUN_STR ""
00298 #endif
00299
00300 #ifdef HAVE_RESOLV_RES
00301 #define HAVE_RESOLV_RES_STR ", HAVE_RESOLV_RES"
00302 #else
00303 #define HAVE_RESOLV_RES_STR ""
00304 #endif
00305
00306 #ifdef MEM_JOIN_FREE
00307 #define MEM_JOIN_FREE_STR ", MEM_JOIN_FREE"
00308 #else
00309 #define MEM_JOIN_FREE_STR ""
00310 #endif
00311
00312 #ifdef SYSLOG_CALLBACK_SUPPORT
00313 #define SYSLOG_CALLBACK_SUPPORT_STR, ", SYSLOG_CALLBACK_SUPPORT"
00314 #else
00315 #define SYSLOG_CALLBACK_SUPPORT_STR ""
00316 #endif
00317
00318 #ifdef MYSQL_FAKE_NULL
00319 #define MYSQL_FAKE_NULL_STR, ", MYSQL_FAKE_NULL"
00320 #else
00321 #define MYSQL_FAKE_NULL_STR ""
00322 #endif
00323
00324 #ifdef USE_DNS_CACHE_STATS
00325 #define USE_DNS_CACHE_STATS_STR ", USE_DNS_CACHE_STATS"
00326 #else
00327 #define USE_DNS_CACHE_STATS_STR ""
00328 #endif
00329
00330 #ifdef USE_DST_BLACKLIST_STATS
00331 #define USE_DST_BLACKLIST_STATS_STR ", USE_DST_BLACKLIST_STATS"
00332 #else
00333 #define USE_DST_BLACKLIST_STATS_STR ""
00334 #endif
00335
00336 #define SER_COMPILE_FLAGS \
00337 STATS_STR EXTRA_DEBUG_STR USE_IPV6_STR USE_TCP_STR USE_TLS_STR \
00338 USE_SCTP_STR CORE_TLS_STR TLS_HOOKS_STR USE_RAW_SOCKS_STR \
00339 USE_STUN_STR DISABLE_NAGLE_STR USE_MCAST_STR NO_DEBUG_STR NO_LOG_STR \
00340 NO_SIG_DEBUG_STR DNS_IP_HACK_STR SHM_MEM_STR SHM_MMAP_STR PKG_MALLOC_STR \
00341 F_MALLOC_STR DL_MALLOC_STR SF_MALLOC_STR LL_MALLOC_STR \
00342 USE_SHM_MEM_STR \
00343 DBG_QM_MALLOC_STR \
00344 DBG_F_MALLOC_STR DEBUG_DMALLOC_STR DBG_SF_MALLOC_STR DBG_LL_MALLOC_STR \
00345 TIMER_DEBUG_STR \
00346 USE_FUTEX_STR \
00347 FAST_LOCK_STR NOSMP_STR USE_PTHREAD_MUTEX_STR USE_POSIX_SEM_STR \
00348 USE_SYSV_SEM_STR USE_COMP_STR USE_DNS_CACHE_STR USE_DNS_FAILOVER_STR \
00349 DNS_WATCHDOG_SUPPORT_STR USE_NAPTR_STR USE_DST_BLACKLIST_STR \
00350 HAVE_RESOLV_RES_STR SYSLOG_CALLBACK_SUPPORT_STR MYSQL_FAKE_NULL_STR \
00351 USE_DST_BLACKLIST_STATS_STR USE_DNS_CACHE_STATS_STR
00352
00353
00354 #endif