statsc: free parsed params in case of error
[sip-router] / src / Makefile.groups
1 # Kamailio build system
2 # Module groups definitions
3 #
4
5 # lists are sets of modules that don't include modules that are in other lists
6 # - break the lists as needed in order to use them to build desired groups
7 #   and packages
8 #
9
10
11 # - basic used modules, with no extra dependency (widespread usage)
12 mod_list_basic=async auth benchmark blst cfg_rpc cfgutils corex counters \
13                                    ctl debugger diversion enum exec ipops kex mangler maxfwd \
14                                    mediaproxy mqueue \
15                                    nat_traversal nathelper path pike pv ratelimit rr rtimer \
16                                    rtpproxy sanity sdpops siputils sl statistics textops \
17                                    textopsx tm tmx topoh xlog rtpengine stun sipt tcpops \
18                                    auth_xkeys smsops tsilo cfgt statsc topos sipdump
19
20 # - extra used modules, with no extra dependency
21 mod_list_extra=avp auth_diameter call_control call_obj dmq domainpolicy msrp \
22                         carrierroute pdb qos sca seas sms sst timer tmrec uac_redirect \
23                         xhttp xhttp_rpc xprint jsonrpcs nosip dmq_usrloc statsd rtjson \
24                         log_custom keepalive ss7ops app_sqlang acc_diameter evrexec \
25                         sipjson xhttp_prom
26
27 # - common modules depending on database
28 mod_list_db=acc alias_db auth_db avpops cfg_db db_text db_flatstore \
29                           db_cluster dialog dispatcher domain drouting group \
30                           htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
31                           pipelimit prefix_route registrar sipcapture siptrace speeddial \
32                           sqlops uac uri_db userblacklist usrloc secfilter
33
34
35 # - common modules depending on database, using UID db schema
36 mod_list_dbuid=db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
37                                  uid_uri_db
38
39 # - modules for devel purposes
40 mod_list_devel=malloc_test print print_lib
41
42 # - modules depending on pcre3 library
43 mod_list_pcre=dialplan lcr regex
44
45 # - modules depending on radius client library
46 mod_list_radius=acc_radius auth_radius misc_radius peering
47
48 # - modules depending on ldap client library
49 mod_list_ldap=db2_ldap h350 ldap
50
51 # - modules depending on mysql client library
52 mod_list_mysql=db_mysql
53
54 # - modules depending on postgres client library
55 mod_list_postgres=db_postgres
56
57 # - modules depending on unixodbc library
58 mod_list_unixodbc=db_unixodbc
59
60 # - modules depending on mysql cassandra library
61 mod_list_cassandra=db_cassandra ndb_cassandra
62
63 # - modules depending on xml2 library
64 mod_list_cpl=cplc
65
66 # - modules depending on xml2 library
67 mod_list_xmldeps=xhttp_pi xmlrpc xmlops
68
69 # - modules depending on net-snmp library
70 mod_list_snmpstats=snmpstats
71
72 # - modules depending on expat library
73 mod_list_xmpp=xmpp
74
75 # - modules depending on bdb (db4) library
76 mod_list_berkeley=db_berkeley
77
78 # - modules depending on curl library
79 mod_list_utils=utils http_client lost
80
81 # - modules depending on curl and libevent2 library
82 mod_list_http_async=http_async_client
83
84 # - modules depending on memcache library
85 mod_list_memcached=memcached
86
87 # - modules depending on openssl library
88 mod_list_tlsdeps=crypto tls
89
90 # - modules depending on openssl (+curl) library
91 mod_list_tlsdeps_curl=auth_identity
92
93 # - modules depending on openssl library
94 mod_list_outbound=outbound
95
96 # - modules depending on openssl and unistring library
97 mod_list_websocket=websocket
98
99 # - modules depending on libval-threads libcrypto libsres libpthread
100 mod_list_dnssec=dnssec
101
102 # - modules depending on libsctp
103 mod_list_sctp=sctp
104
105 # - modules depending on openssl library
106 mod_list_autheph=auth_ephemeral
107
108 # - modules related to SIMPLE presence extensions
109 mod_list_presence=presence presence_conference presence_dialoginfo \
110                                            presence_mwi presence_profile presence_reginfo \
111                                            presence_xml \
112                                            pua pua_bla pua_dialoginfo pua_reginfo \
113                                            pua_rpc pua_usrloc pua_xmpp \
114                                            rls xcap_client xcap_server
115
116
117 # - modules depending on lua library
118 mod_list_lua=app_lua app_lua_sr
119
120 # - modules depending on perl library
121 mod_list_perldeps=app_perl db_perlvdb
122
123 # - modules depending on python library
124 mod_list_python=app_python
125
126 # - modules depending on python3 library
127 mod_list_python3=app_python3
128
129 # - modules depending on libm (math library - standard system library)
130 mod_list_jsdt=app_jsdt
131
132 # - modules depending on ruby library
133 mod_list_ruby=app_ruby
134
135 # - modules depending on geoip library
136 mod_list_geoip=geoip
137
138 # - modules depending on new geoip library
139 mod_list_geoip2=geoip2
140
141 # - modules depending on sqlite library
142 mod_list_sqlite=db_sqlite
143
144 # - modules depending on oracle library
145 mod_list_oracle=db_oracle
146
147 # - modules depending on json library
148 mod_list_json=json pua_json
149
150 # - modules depending on json (+libevent) library
151 mod_list_json_event=jsonrpcc
152
153 # - modules depending on jansson library
154 mod_list_jansson=jansson acc_json
155
156 # - modules depending on jansson (+libevent) library
157 mod_list_jansson_event=janssonrpcc
158
159 # - modules depending on redis library
160 mod_list_redis=db_redis ndb_redis topos_redis
161
162 # - modules depending on mono library
163 mod_list_mono=app_mono
164
165 # - modules related to IMS extensions
166 mod_list_ims=cdp cdp_avp ims_dialog ims_auth ims_isc ims_icscf ims_qos \
167                            ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
168                            ims_usrloc_scscf ims_charging ims_ocs ims_diameter_server \
169                            ims_ipsec_pcscf
170
171 # - modules depending on osp toolkit library
172 mod_list_osp=osp
173
174 # - modules depending on java library
175 mod_list_java=app_java
176
177 # - modules depending on gzip library
178 mod_list_gzcompress=gzcompress
179
180 # - modules depending on uuid library
181 mod_list_uuid=uuid
182
183 # - modules depending on ev library
184 mod_list_ev=evapi
185
186 # - modules depending on kazoo/rabbitmq
187 mod_list_kazoo=kazoo
188
189 # - modules depending on mongodb
190 mod_list_mongodb=db_mongodb ndb_mongodb
191
192 # - modules depending on redis and event library
193 mod_list_cnxcc=cnxcc
194
195 # - modules depending on erlang library
196 mod_list_erlang=erlang
197
198 # - modules depending on systemd library
199 mod_list_systemd=log_systemd
200
201 # - modules depending on libnsq (+libev libevbuffsock liblcurl libjson-c) library
202 mod_list_nsq=nsq
203
204 # - modules depending on librabbitmq library
205 mod_list_rabbitmq=rabbitmq
206
207 # - modules depending on libphonenumber library
208 mod_list_phonenum=phonenum
209
210 # - modules depending on oRTP and mediastreamer2 libraries
211 mod_list_rtp_media_server=rtp_media_server
212
213 # - all modules
214 mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
215                            $(mod_list_db) $(mod_list_dbuid) \
216                            $(mod_list_devel) $(mod_list_pcre) \
217                            $(mod_list_radius) $(mod_list_ldap) \
218                            $(mod_list_mysql) $(mod_list_postgres) \
219                            $(mod_list_unixodbc) $(mod_list_xmldeps) \
220                            $(mod_list_perldeps) $(mod_list_cpl) \
221                            $(mod_list_xmpp) \
222                            $(mod_list_berkeley) $(mod_list_utils) \
223                            $(mod_list_memcached) \
224                            $(mod_list_tlsdeps) $(mod_list_tlsdeps_curl) \
225                            $(mod_list_websocket) \
226                            $(mod_list_snmpstats) $(mod_list_presence) \
227                            $(mod_list_lua) $(mod_list_python) \
228                            $(mod_list_python3) $(mod_list_ruby) \
229                            $(mod_list_geoip) $(mod_list_sqlite) \
230                            $(mod_list_json) $(mod_list_json_event) \
231                            $(mod_list_redis) \
232                            $(mod_list_mono) $(mod_list_ims) \
233                            $(mod_list_cassandra) $(mod_list_oracle) \
234                            $(mod_list_outbound) $(mod_list_osp) \
235                            $(mod_list_java) $(mod_list_dnssec) \
236                            $(mod_list_sctp) $(mod_list_autheph) \
237                            $(mod_list_gzcompress) $(mod_list_uuid) \
238                            $(mod_list_ev) $(mod_list_kazoo) \
239                            $(mod_list_mongodb) $(mod_list_cnxcc) \
240                            $(mod_list_jansson) $(mod_list_jansson_event) \
241                            $(mod_list_geoip2) \
242                            $(mod_list_erlang) $(mod_list_systemd) \
243                            $(mod_list_http_async) $(mod_list_nsq) \
244                            $(mod_list_rabbitmq) $(mod_list_jsdt)) \
245                            $(mod_list_phonenum) \
246                            $(mod_list_rtp_media_server)
247
248
249
250 ### --- Groups defined for source code compilation ###
251
252 # groups are sets of modules selected by compile target interest (should be
253 # built by combining lists)
254
255 # Modules in this group are the default compiled modules due to
256 # no external compile or link dependencies
257 module_group_default=$(mod_list_basic) $(mod_list_extra) \
258                                           $(mod_list_db) $(mod_list_dbuid) \
259                                           $(mod_list_devel) $(mod_list_jsdt)
260
261 # Modules in this group are the default compiled modules due to
262 # no internal/external compile or link dependencies
263 module_group_standard=$(mod_list_basic) $(mod_list_extra) \
264                                           $(mod_list_devel) $(mod_list_jsdt)
265
266 # Modules in this group are considered a standard part due to
267 # widespread usage, but they have dependencies that must be satisfied for
268 # compilation (e.g., lcr, radius, presence, tls, ...).
269 module_group_common=$(mod_list_db) $(mod_list_dbuid) \
270                                         $(mod_list_pcre) $(mod_list_radius) \
271                                         $(mod_list_xmldeps) $(mod_list_presence) \
272                                         $(mod_list_tlsdeps) $(mod_list_tlsdeps_curl)
273
274 # For db use (db modules, excluding drivers)
275 module_group_db=$(mod_list_db)
276
277 # For mysql
278 module_group_mysql_driver=$(mod_list_mysql)
279 module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
280
281 # For postgress
282 module_group_postgres_driver=$(mod_list_postgres)
283 module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
284
285 # For radius
286 module_group_radius=$(mod_list_radius)
287
288 # For presence
289 # kamailio modules
290 module_group_presence=$(mod_list_presence)
291
292 # For cassandra
293 module_group_cassandra_driver=$(mod_list_cassandra)
294 module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
295
296 # For all modules not compiled by default
297 module_group_ignore= $(sort $(filter-out $(module_group_default), $(mod_list_all)))
298
299
300
301 ### --- Groups defined for pacKaging ###
302
303 # Standard modules in main pkg
304 module_group_kstandard=$(mod_list_basic) $(mod_list_extra) \
305                                           $(mod_list_db) $(mod_list_dbuid) \
306                                           $(mod_list_pcre) $(mod_list_jsdt)
307
308 # Standard modules without any dependencies (such as pcre)
309 module_group_kmini=$(mod_list_basic) $(mod_list_extra) \
310                                           $(mod_list_db) $(mod_list_dbuid) \
311                                           $(mod_list_jsdt)
312
313 # pkg pcre module
314 module_group_kpcre=$(mod_list_pcre)
315
316 # pkg mysql module
317 module_group_kmysql=$(mod_list_mysql)
318
319 # pkg postgress module
320 module_group_kpostgres=$(mod_list_postgres)
321
322 # pkg cpl module
323 module_group_kcpl=$(mod_list_cpl)
324
325 # pkg xml modules
326 module_group_kxml=$(mod_list_xmldeps)
327
328 # pkg radius modules
329 module_group_kradius=$(mod_list_radius)
330
331 # pkg unixodbc module
332 module_group_kunixodbc=$(mod_list_unixodbc)
333
334 # pkg perl module
335 module_group_kperl=$(mod_list_perldeps)
336
337 # pkg snmpstats module
338 module_group_ksnmpstats=$(mod_list_snmpstats)
339
340 # pkg xmpp module
341 module_group_kxmpp=$(mod_list_xmpp)
342
343 # pkg berkeley module
344 module_group_kberkeley=$(mod_list_berkeley)
345
346 # pkg ldap modules
347 module_group_kldap=$(mod_list_ldap)
348
349 # pkg utils module
350 module_group_kutils=$(mod_list_utils)
351
352 # pkg https_async module
353 module_group_khttp_async=$(mod_list_http_async)
354
355 # pkg memcached module
356 module_group_kmemcached=$(mod_list_memcached)
357
358 # pkg tls module
359 module_group_ktls_basic=$(mod_list_tlsdeps)
360
361 # pkg tls module with curl
362 module_group_ktls=$(mod_list_tlsdeps) $(mod_list_tlsdeps_curl)
363
364 # pkg websocket module
365 module_group_kwebsocket=$(mod_list_websocket)
366
367 # pkg presence modules
368 module_group_kpresence=$(mod_list_presence)
369
370 # pkg lua module
371 module_group_klua=$(mod_list_lua)
372
373 # pkg python module
374 module_group_kpython=$(mod_list_python)
375
376 # pkg python3 module
377 module_group_kpython3=$(mod_list_python3)
378
379 # pkg ruby module
380 module_group_kruby=$(mod_list_ruby)
381
382 # pkg geoip module
383 module_group_kgeoip=$(mod_list_geoip)
384
385 # pkg geoip2 module
386 module_group_kgeoip2=$(mod_list_geoip2)
387
388 # pkg sqlite module
389 module_group_ksqlite=$(mod_list_sqlite)
390
391 # K json modules
392 module_group_kjson_basic=$(mod_list_json)
393
394 # K json modules with libevent
395 module_group_kjson=$(mod_list_json) $(mod_list_json_event)
396
397 # K jansson modules
398 module_group_kjansson_basic=$(mod_list_jansson)
399
400 # K jansson modules with libevent
401 module_group_kjansson=$(mod_list_jansson) $(mod_list_jansson_event)
402
403 # pkg redis module
404 module_group_kredis=$(mod_list_redis)
405
406 # pkg mono module
407 module_group_kmono=$(mod_list_mono)
408
409 # pkg IMS modules
410 module_group_kims=$(mod_list_ims)
411
412 # pkg outbound module
413 module_group_koutbound=$(mod_list_outbound)
414
415 # pkg java module
416 module_group_kjava=$(mod_list_java)
417
418 # pkg dnssec module
419 module_group_kdnssec=$(mod_list_dnssec)
420
421 # pkg sctp module
422 module_group_ksctp=$(mod_list_sctp)
423
424 # pkg auth_ephemeral module
425 module_group_kautheph=$(mod_list_autheph)
426
427 # pkg gzcompress module
428 module_group_kgzcompress=$(mod_list_gzcompress)
429
430 # pkg uuid module
431 module_group_kuuid=$(mod_list_uuid)
432
433 # pkg libev modules
434 module_group_kev=$(mod_list_ev)
435
436 # pkg kazoo module
437 module_group_kkazoo=$(mod_list_kazoo)
438
439 # pkg mongodb modules
440 module_group_kmongodb=$(mod_list_mongodb)
441
442 # pkg cnxcc module
443 module_group_kcnxcc=$(mod_list_cnxcc)
444
445 # pkg erlang module
446 module_group_kerlang=$(mod_list_erlang)
447
448 # pkg systemd module
449 module_group_ksystemd=$(mod_list_systemd)
450
451 # K nsq modules
452 module_group_knsq=$(mod_list_nsq)
453
454 # K rabbitmq modules
455 module_group_krabbitmq=$(mod_list_rabbitmq)
456
457 # K phonenumber modules
458 module_group_kphonenum=$(mod_list_phonenum)
459
460 # K rtp_media_server modules
461 module_group_krtp_media_server=$(mod_list_rtp_media_server)
462
463 # list of static modules
464 #
465 static_modules:=
466