283b6938c83187a5a92290977347e950463c4e18
[sip-router] / Makefile.groups
1 # Module groups definitions
2 #
3
4 # lists are sets of modules that don't include modules that are in other lists
5 # - break the lists as needed in order to use them to build desired groups
6 #   and packages
7 #
8
9
10 # - basic used modules, with no extra dependency (widespread usage)
11 mod_list_basic=async auth benchmark blst cfg_rpc cfgutils corex counters \
12                                    ctl debugger diversion enum exec ipops kex mangler maxfwd \
13                                    mediaproxy mi_datagram mi_fifo mi_rpc mqueue \
14                                    nat_traversal nathelper path pike pv ratelimit rr rtimer \
15                                    rtpproxy sanity sdpops siputils sl statistics textops \
16                                    textopsx tm tmx topoh xlog rtpengine stun sipt
17
18 # - extra used modules, with no extra dependency
19 mod_list_extra=avp auth_diameter call_control dmq domainpolicy msrp pdb \
20                              qos sca seas sms sst timer tmrec uac_redirect xhttp \
21                                  xhttp_rpc xprint jsonrpc-s nosip usrloc_dmq
22
23 # - common modules depending on database
24 mod_list_db=acc alias_db auth_db avpops cfg_db db_text db_flatstore \
25                           db_cluster dialog dispatcher domain drouting group \
26                           htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
27                           pipelimit prefix_route registrar sipcapture siptrace speeddial \
28                           sqlops uac uri_db userblacklist usrloc
29
30
31 # - common modules depending on database, using UID db schema
32 mod_list_dbuid=db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
33                                  uid_uri_db
34
35 # - modules for devel purposes
36 mod_list_devel=malloc_test print print_lib
37
38 # - modules depending on pcre3 library
39 mod_list_pcre=dialplan lcr regex
40
41 # - modules depending on radius client library
42 mod_list_radius=acc_radius auth_radius misc_radius peering
43
44 # - modules depending on ldap client library
45 mod_list_ldap=db2_ldap h350 ldap
46
47 # - modules depending on mysql client library
48 mod_list_mysql=db_mysql
49
50 # - modules depending on postgres client library
51 mod_list_postgres=db_postgres
52
53 # - modules depending on unixodbc library
54 mod_list_unixodbc=db_unixodbc
55
56 # - modules depending on mysql cassandra library
57 mod_list_cassandra=db_cassandra ndb_cassandra
58
59 # - modules depending on xml2 library
60 mod_list_cpl=cpl-c
61
62 # - modules depending on xml2 library
63 mod_list_xmldeps=xhttp_pi xmlrpc xmlops
64
65 # - modules depending on xml c rpc library
66 mod_list_mi_xmlrpc=mi_xmlrpc
67
68 # - modules depending on net-snmp library
69 mod_list_snmpstats=snmpstats
70
71 # - modules depending on expat library
72 mod_list_xmpp=xmpp
73
74 # - modules depending on confuse library
75 mod_list_carrierroute=carrierroute
76
77 # - modules depending on bdb (db4) library
78 mod_list_berkeley=db_berkeley
79
80 # - modules depending on curl library
81 mod_list_utils=utils
82
83 # - modules depending on purple library
84 mod_list_purple=purple
85
86 # - modules depending on memcache library
87 mod_list_memcached=memcached
88
89 # - modules depending on openssl library
90 mod_list_tlsdeps=auth_identity tls
91
92 # - modules depending on openssl library
93 mod_list_outbound=outbound
94
95 # - modules depending on openssl and unistring library
96 mod_list_websocket=websocket
97
98 # - modules depending on libval-threads libcrypto libsres libpthread
99 mod_list_dnssec=dnssec
100
101 # - modules depending on libsctp
102 mod_list_sctp=sctp
103
104 # - modules depending on openssl library
105 mod_list_autheph=auth_ephemeral
106
107 # - modules related to SIMPLE presence extensions
108 mod_list_presence=presence presence_conference presence_dialoginfo \
109                                            presence_mwi presence_profile presence_reginfo \
110                                            presence_xml \
111                                            pua pua_bla pua_dialoginfo pua_mi pua_reginfo \
112                                            pua_usrloc pua_xmpp \
113                                            rls xcap_client xcap_server
114
115
116 # - modules depending on lua library
117 mod_list_lua=app_lua
118
119 # - modules depending on perl library
120 mod_list_perldeps=app_perl db_perlvdb
121
122 # - modules depending on python library
123 mod_list_python=app_python
124
125 # - modules depending on geoip library
126 mod_list_geoip=geoip
127
128 # - modules depending on sqlite library
129 mod_list_sqlite=db_sqlite
130
131 # - modules depending on oracle library
132 mod_list_oracle=db_oracle
133
134 # - modules depending on json (+libevent) library
135 mod_list_json=json jsonrpc-c
136
137 # - modules depending on jansson (+libevent) library
138 mod_list_jansson=jansson janssonrpc-c
139
140 # - modules depending on redis library
141 mod_list_redis=ndb_redis
142
143 # - modules depending on mono library
144 mod_list_mono=app_mono
145
146 # - modules related to IMS extensions
147 mod_list_ims=cdp cdp_avp dialog_ng ims_auth ims_isc ims_icscf ims_qos \
148                            ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
149                            ims_usrloc_scscf ims_charging
150
151 # - modules depending on osp toolkit library
152 mod_list_osp=osp
153
154 # - modules depending on java library
155 mod_list_java=app_java
156
157 # - modules depending on iptables library
158 mod_list_iptrtpproxy=iptrtpproxy
159
160 # - modules depending on gzip library
161 mod_list_gzcompress=gzcompress
162
163 # - modules depending on uuid library
164 mod_list_uuid=uuid
165
166 # - modules depending on ev library
167 mod_list_ev=evapi
168
169 # - modules depending on kazoo/rabitmq
170 mod_list_kazoo=kazoo
171
172 # - modules depending on mongodb
173 mod_list_mongodb=db_mongodb ndb_mongodb
174
175 # - modules depending on redis and event library
176 mod_list_cnxcc=cnxcc
177
178 # - all modules
179 mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
180                            $(mod_list_db) $(mod_list_dbuid) \
181                            $(mod_list_devel) $(mod_list_pcre) \
182                            $(mod_list_radius) $(mod_list_ldap) \
183                            $(mod_list_mysql) $(mod_list_postgres) \
184                            $(mod_list_unixodbc) $(mod_list_xmldeps) \
185                            $(mod_list_perldeps) $(mod_list_cpl) \
186                            $(mod_list_xmpp) $(mod_list_carrierroute) \
187                            $(mod_list_berkeley) $(mod_list_utils) \
188                            $(mod_list_purple) $(mod_list_memcached) \
189                            $(mod_list_tlsdeps) $(mod_list_websocket) \
190                            $(mod_list_snmpstats) $(mod_list_presence) \
191                            $(mod_list_lua) $(mod_list_python) \
192                            $(mod_list_geoip) $(mod_list_sqlite) \
193                            $(mod_list_json) $(mod_list_redis) \
194                            $(mod_list_mono) $(mod_list_ims) \
195                            $(mod_list_cassandra) $(mod_list_oracle) \
196                            $(mod_list_iptrtpproxy) $(mod_list_mi_xmlrpc) \
197                            $(mod_list_outbound) $(mod_list_osp) \
198                            $(mod_list_java) $(mod_list_dnssec) \
199                            $(mod_list_sctp) $(mod_list_autheph) \
200                            $(mod_list_gzcompress) $(mod_list_uuid) \
201                            $(mod_list_ev) $(mod_list_kazoo) \
202                            $(mod_list_mongodb) $(mod_list_cnxcc) \
203                            $(mod_list_jansson))
204
205
206
207 ### --- Groups defined for source code compilation ###
208
209 # groups are sets of modules selected by compile target interest (should be
210 # built by combining lists)
211
212 # Modules in this group are the default compiled modules due to
213 # no external compile or link dependencies
214 module_group_default=$(mod_list_basic) $(mod_list_extra) \
215                                           $(mod_list_db) $(mod_list_dbuid) \
216                                           $(mod_list_devel)
217
218 # Modules in this group are the default compiled modules due to
219 # no internal/external compile or link dependencies
220 module_group_standard=$(mod_list_basic) $(mod_list_extra) \
221                                           $(mod_list_devel)
222
223 # Modules in this group are considered a standard part due to
224 # widespread usage, but they have dependencies that must be satisfied for 
225 # compilation (e.g., lcr, radius, presence, tls, ...).
226 module_group_common=$(mod_list_db) $(mod_list_dbuid) \
227                                         $(mod_list_pcre) $(mod_list_radius) \
228                                         $(mod_list_xmldeps) $(mod_list_presence) \
229                                         $(mod_list_tlsdeps)
230
231 # For db use (db modules, excluding drivers)
232 module_group_db=$(mod_list_db)
233
234 # For mysql
235 module_group_mysql_driver=$(mod_list_mysql)
236 module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
237
238 # For postgress
239 module_group_postgres_driver=$(mod_list_postgres)
240 module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
241
242 # For radius
243 module_group_radius=$(mod_list_radius)
244
245 # For presence
246 # kamailio modules
247 module_group_presence=$(mod_list_presence)
248
249 # For cassandra
250 module_group_cassandra_driver=$(mod_list_cassandra)
251 module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
252
253 # For all modules not compiled by default
254 module_group_ignore= $(sort $(filter-out $(module_group_default), $(mod_list_all)))
255
256
257
258 ### --- Groups defined for pacKaging ###
259
260 # Standard modules in main pkg
261 module_group_kstandard=$(mod_list_basic) $(mod_list_extra) \
262                                           $(mod_list_db) $(mod_list_dbuid) \
263                                           $(mod_list_pcre)
264
265 # pkg mysql module
266 module_group_kmysql=$(mod_list_mysql)
267
268 # pkg postgress module
269 module_group_kpostgres=$(mod_list_postgres)
270
271 # pkg cpl module
272 module_group_kcpl=$(mod_list_cpl)
273
274 # pkg xml modules
275 module_group_kxml=$(mod_list_xmldeps)
276
277 # pkg mi_xmlrpc modules
278 module_group_kmi_xmlrpc=$(mod_list_mi_xmlrpc)
279
280 # pkg radius modules
281 module_group_kradius=$(mod_list_radius)
282
283 # pkg unixodbc module
284 module_group_kunixodbc=$(mod_list_unixodbc)
285
286 # pkg perl module
287 module_group_kperl=$(mod_list_perldeps)
288
289 # pkg snmpstats module
290 module_group_ksnmpstats=$(mod_list_snmpstats)
291
292 # pkg xmpp module
293 module_group_kxmpp=$(mod_list_xmpp)
294
295 # pkg carrierroute module
296 module_group_kcarrierroute=$(mod_list_carrierroute)
297
298 # pkg berkeley module
299 module_group_kberkeley=$(mod_list_berkeley)
300
301 # pkg ldap modules
302 module_group_kldap=$(mod_list_ldap)
303
304 # pkg utils module
305 module_group_kutils=$(mod_list_utils)
306
307 # pkg purple module
308 module_group_kpurple=$(mod_list_purple)
309
310 # pkg memcached module
311 module_group_kmemcached=$(mod_list_memcached)
312
313 # pkg tls module
314 module_group_ktls=$(mod_list_tlsdeps)
315
316 # pkg websocket module
317 module_group_kwebsocket=$(mod_list_websocket)
318
319 # pkg presence modules
320 module_group_kpresence=$(mod_list_presence)
321
322 # pkg lua module
323 module_group_klua=$(mod_list_lua)
324
325 # pkg python module
326 module_group_kpython=$(mod_list_python)
327
328 # pkg geoip module
329 module_group_kgeoip=$(mod_list_geoip)
330
331 # pkg sqlite module
332 module_group_ksqlite=$(mod_list_sqlite)
333
334 # K json modules
335 module_group_kjson=$(mod_list_json)
336
337 # K jansson modules
338 module_group_kjansson=$(mod_list_jansson)
339
340 # pkg redis module
341 module_group_kredis=$(mod_list_redis)
342
343 # pkg mono module
344 module_group_kmono=$(mod_list_mono)
345
346 # pkg IMS modules
347 module_group_kims=$(mod_list_ims)
348
349 # pkg outbound module
350 module_group_koutbound=$(mod_list_outbound)
351
352 # pkg java module
353 module_group_kjava=$(mod_list_java)
354
355 # pkg dnssec module
356 module_group_kdnssec=$(mod_list_dnssec)
357
358 # pkg sctp module
359 module_group_ksctp=$(mod_list_sctp)
360
361 # pkg auth_ephemeral module
362 module_group_kautheph=$(mod_list_autheph)
363
364 # pkg gzcompress module
365 module_group_kgzcompress=$(mod_list_gzcompress)
366
367 # pkg uuid module
368 module_group_kuuid=$(mod_list_uuid)
369
370 # pkg libev modules
371 module_group_kev=$(mod_list_ev)
372
373 # pkg kazoo module
374 module_group_kkazoo=$(mod_list_kazoo)
375
376 # pkg mongodb modules
377 module_group_kmongodb=$(mod_list_mongodb)
378
379 # pkg cnxcc module
380 module_group_kcnxcc=$(mod_list_cnxcc)
381
382 # list of static modules
383 #
384 static_modules:=
385