parser: const-correctness for some module utility functions
[sip-router] / ver_defs.h
1 /*
2  * $Id$
3  *
4  * version and compile flags macros 
5  *
6  *
7  * Copyright (C) 2004 FhG Fokus
8  *
9  * This file is part of SIP-router, a free SIP server.
10  *
11  * SIP-router is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version
15  *
16  * SIP-router is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License 
22  * along with this program; if not, write to the Free Software 
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
24  */
25
26 /** compile flags and other version related defines.
27  * @file ver_defs.h
28  * @ingroup core
29  */
30
31 #ifndef version_h
32 #define version_h
33
34 #define SER_FULL_VERSION  NAME " " VERSION " (" ARCH "/" OS_QUOTED ")" 
35
36 #ifdef STATS
37 #define STATS_STR  "STATS: On"
38 #else
39 #define STATS_STR  "STATS: Off"
40 #endif
41
42 #ifdef USE_IPV6
43 #define USE_IPV6_STR ", USE_IPV6"
44 #else
45 #define USE_IPV6_STR ""
46 #endif
47
48 #ifdef USE_TCP
49 #define USE_TCP_STR ", USE_TCP"
50 #else
51 #define USE_TCP_STR ""
52 #endif
53
54 #ifdef USE_TLS
55 #define USE_TLS_STR ", USE_TLS"
56 #else 
57 #define USE_TLS_STR ""
58 #endif
59
60 #ifdef USE_SCTP
61 #define USE_SCTP_STR ", USE_SCTP"
62 #else
63 #define USE_SCTP_STR ""
64 #endif
65
66 #ifdef CORE_TLS
67 #define CORE_TLS_STR ", CORE_TLS"
68 #else 
69 #define CORE_TLS_STR ""
70 #endif
71
72 #ifdef TLS_HOOKS
73 #define TLS_HOOKS_STR ", TLS_HOOKS"
74 #else 
75 #define TLS_HOOKS_STR ""
76 #endif
77
78
79 #ifdef USE_RAW_SOCKS
80 #define USE_RAW_SOCKS_STR ", USE_RAW_SOCKS"
81 #else
82 #define USE_RAW_SOCKS_STR ""
83 #endif
84
85
86 #ifdef DISABLE_NAGLE
87 #define DISABLE_NAGLE_STR ", DISABLE_NAGLE"
88 #else
89 #define DISABLE_NAGLE_STR ""
90 #endif
91
92 #ifdef USE_MCAST
93 #define USE_MCAST_STR ", USE_MCAST"
94 #else
95 #define USE_MCAST_STR ""
96 #endif
97
98
99 #ifdef NO_DEBUG
100 #define NO_DEBUG_STR ", NO_DEBUG"
101 #else
102 #define NO_DEBUG_STR ""
103 #endif
104
105 #ifdef NO_LOG
106 #define NO_LOG_STR ", NO_LOG"
107 #else
108 #define NO_LOG_STR ""
109 #endif
110
111 #ifdef EXTRA_DEBUG
112 #define EXTRA_DEBUG_STR ", EXTRA_DEBUG"
113 #else
114 #define EXTRA_DEBUG_STR ""
115 #endif
116
117 #ifdef DNS_IP_HACK
118 #define DNS_IP_HACK_STR ", DNS_IP_HACK"
119 #else
120 #define DNS_IP_HACK_STR ""
121 #endif
122
123 #ifdef SHM_MEM
124 #define SHM_MEM_STR ", SHM_MEM"
125 #else
126 #define SHM_MEM_STR ""
127 #endif
128
129 #ifdef SHM_MMAP
130 #define SHM_MMAP_STR ", SHM_MMAP"
131 #else
132 #define SHM_MMAP_STR ""
133 #endif
134
135 #ifdef PKG_MALLOC
136 #define PKG_MALLOC_STR ", PKG_MALLOC"
137 #else
138 #define PKG_MALLOC_STR ""
139 #endif
140
141 #ifdef F_MALLOC
142 #define F_MALLOC_STR ", F_MALLOC"
143 #else
144 #define F_MALLOC_STR ""
145 #endif
146
147 #ifdef DL_MALLOC
148 #define DL_MALLOC_STR ", DL_MALLOC"
149 #else
150 #define DL_MALLOC_STR ""
151 #endif
152
153 #ifdef SF_MALLOC
154 #define SF_MALLOC_STR ", SF_MALLOC"
155 #else
156 #define SF_MALLOC_STR ""
157 #endif
158
159 #ifdef LL_MALLOC
160 #define LL_MALLOC_STR ", LL_MALLOC"
161 #else
162 #define LL_MALLOC_STR ""
163 #endif
164
165 #ifdef USE_SHM_MEM
166 #define USE_SHM_MEM_STR ", USE_SHM_MEM"
167 #else
168 #define USE_SHM_MEM_STR ""
169 #endif
170
171 #ifdef DBG_QM_MALLOC
172 #define DBG_QM_MALLOC_STR ", DBG_QM_MALLOC"
173 #else
174 #define DBG_QM_MALLOC_STR ""
175 #endif
176
177 #ifdef DBG_F_MALLOC
178 #define DBG_F_MALLOC_STR ", DBG_F_MALLOC"
179 #else
180 #define DBG_F_MALLOC_STR ""
181 #endif
182
183 #ifdef DEBUG_DMALLOC
184 #define DEBUG_DMALLOC_STR ", DEBUG_DMALLOC"
185 #else
186 #define DEBUG_DMALLOC_STR ""
187 #endif
188
189 #ifdef DBG_SF_MALLOC
190 #define DBG_SF_MALLOC_STR ", DBG_SF_MALLOC"
191 #else
192 #define DBG_SF_MALLOC_STR ""
193 #endif
194
195 #ifdef DBG_LL_MALLOC
196 #define DBG_LL_MALLOC_STR ", DBG_SF_MALLOC"
197 #else
198 #define DBG_LL_MALLOC_STR ""
199 #endif
200
201 #ifdef TIMER_DEBUG
202 #define TIMER_DEBUG_STR ", TIMER_DEBUG"
203 #else
204 #define TIMER_DEBUG_STR ""
205 #endif
206
207 #ifdef USE_FUTEX
208 #define USE_FUTEX_STR ", USE_FUTEX"
209 #else
210 #define USE_FUTEX_STR ""
211 #endif
212
213
214 #ifdef FAST_LOCK
215 #ifdef BUSY_WAIT
216 #define FAST_LOCK_STR ", FAST_LOCK-BUSY_WAIT"
217 #elif defined (ADAPTIVE_WAIT)
218 #define FAST_LOCK_STR ", FAST_LOCK-ADAPTIVE_WAIT"
219 #else
220 #define FAST_LOCK_STR ", FAST_LOCK"
221 #endif
222 #else
223 #define FAST_LOCK_STR ""
224 #endif
225
226 #ifdef USE_PTHREAD_MUTEX
227 #define USE_PTHREAD_MUTEX_STR ", USE_PTHREAD_MUTEX"
228 #else
229 #define USE_PTHREAD_MUTEX_STR ""
230 #endif
231
232 #ifdef USE_POSIX_SEM
233 #define USE_POSIX_SEM_STR ", USE_POSIX_SEM"
234 #else
235 #define USE_POSIX_SEM_STR ""
236 #endif
237
238 #ifdef USE_SYSV_SEM
239 #define USE_SYSV_SEM_STR ", USE_SYSV_SEM"
240 #else
241 #define USE_SYSV_SEM_STR ""
242 #endif
243
244 #ifdef NOSMP
245 #define NOSMP_STR "-NOSMP"
246 #else
247 #define NOSMP_STR ""
248 #endif
249
250
251 #ifdef USE_COMP
252 #define USE_COMP_STR ", USE_COMP"
253 #else
254 #define USE_COMP_STR ""
255 #endif
256
257
258 #ifdef USE_DNS_CACHE
259 #define USE_DNS_CACHE_STR ", USE_DNS_CACHE"
260 #else
261 #define USE_DNS_CACHE_STR ""
262 #endif
263
264 #ifdef USE_DNS_FAILOVER
265 #define USE_DNS_FAILOVER_STR ", USE_DNS_FAILOVER"
266 #else
267 #define USE_DNS_FAILOVER_STR ""
268 #endif
269
270 #ifdef DNS_WATCHDOG_SUPPORT
271 #define DNS_WATCHDOG_SUPPORT_STR ", DNS_WATCHDOG_SUPPORT"
272 #else
273 #define DNS_WATCHDOG_SUPPORT_STR ""
274 #endif
275
276 #ifdef USE_NAPTR
277 #define USE_NAPTR_STR ", USE_NAPTR"
278 #else
279 #define USE_NAPTR_STR ""
280 #endif
281
282 #ifdef USE_DST_BLACKLIST
283 #define USE_DST_BLACKLIST_STR ", USE_DST_BLACKLIST"
284 #else
285 #define USE_DST_BLACKLIST_STR ""
286 #endif
287
288 #ifdef NO_SIG_DEBUG
289 #define NO_SIG_DEBUG_STR ", NO_SIG_DEBUG"
290 #else
291 #define NO_SIG_DEBUG_STR ""
292 #endif
293
294 #ifdef USE_STUN
295 #define USE_STUN_STR ", USE_STUN"
296 #else
297 #define USE_STUN_STR ""
298 #endif
299
300 #ifdef HAVE_RESOLV_RES 
301 #define HAVE_RESOLV_RES_STR ", HAVE_RESOLV_RES"
302 #else
303 #define HAVE_RESOLV_RES_STR ""
304 #endif
305
306 #ifdef MEM_JOIN_FREE
307 #define MEM_JOIN_FREE_STR ", MEM_JOIN_FREE"
308 #else
309 #define MEM_JOIN_FREE_STR ""
310 #endif
311
312 #ifdef SYSLOG_CALLBACK_SUPPORT 
313 #define SYSLOG_CALLBACK_SUPPORT_STR, ", SYSLOG_CALLBACK_SUPPORT"
314 #else
315 #define SYSLOG_CALLBACK_SUPPORT_STR ""
316 #endif
317
318 #ifdef MYSQL_FAKE_NULL
319 #define MYSQL_FAKE_NULL_STR, ", MYSQL_FAKE_NULL"
320 #else
321 #define MYSQL_FAKE_NULL_STR ""
322 #endif
323
324 #ifdef USE_DNS_CACHE_STATS
325 #define USE_DNS_CACHE_STATS_STR ", USE_DNS_CACHE_STATS"
326 #else
327 #define USE_DNS_CACHE_STATS_STR ""
328 #endif
329
330 #ifdef USE_DST_BLACKLIST_STATS
331 #define USE_DST_BLACKLIST_STATS_STR ", USE_DST_BLACKLIST_STATS"
332 #else
333 #define USE_DST_BLACKLIST_STATS_STR ""
334 #endif
335
336 #define SER_COMPILE_FLAGS \
337         STATS_STR EXTRA_DEBUG_STR USE_IPV6_STR USE_TCP_STR USE_TLS_STR \
338         USE_SCTP_STR CORE_TLS_STR TLS_HOOKS_STR  USE_RAW_SOCKS_STR \
339         USE_STUN_STR DISABLE_NAGLE_STR USE_MCAST_STR NO_DEBUG_STR NO_LOG_STR \
340         NO_SIG_DEBUG_STR DNS_IP_HACK_STR  SHM_MEM_STR SHM_MMAP_STR PKG_MALLOC_STR \
341         F_MALLOC_STR DL_MALLOC_STR SF_MALLOC_STR  LL_MALLOC_STR \
342         USE_SHM_MEM_STR \
343         DBG_QM_MALLOC_STR \
344         DBG_F_MALLOC_STR DEBUG_DMALLOC_STR DBG_SF_MALLOC_STR DBG_LL_MALLOC_STR \
345         TIMER_DEBUG_STR \
346         USE_FUTEX_STR \
347         FAST_LOCK_STR NOSMP_STR USE_PTHREAD_MUTEX_STR USE_POSIX_SEM_STR \
348         USE_SYSV_SEM_STR USE_COMP_STR USE_DNS_CACHE_STR USE_DNS_FAILOVER_STR \
349         DNS_WATCHDOG_SUPPORT_STR USE_NAPTR_STR USE_DST_BLACKLIST_STR \
350         HAVE_RESOLV_RES_STR SYSLOG_CALLBACK_SUPPORT_STR MYSQL_FAKE_NULL_STR \
351         USE_DST_BLACKLIST_STATS_STR USE_DNS_CACHE_STATS_STR
352
353
354 #endif