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