Browse code

Makefile: split module groups definitions in Makefile.groups

- the part was quite big and it is more config related than build rules
- it has to be updated with the current list of modules

Daniel-Constantin Mierla authored on 03/03/2013 22:53:14
Showing 2 changed files
... ...
@@ -124,247 +124,8 @@ ifneq ($(group_include),)
124 124
 	modules_configured:=0
125 125
 endif
126 126
 
127
-# Module group definitions, default only include the standard group
128
-# Make backwards compatible, don't set group_include default...
129
-#group_include?="standard"
130
-
131
-# Modules in this group are considered a standard part of SER (due to 
132
-# widespread usage) and have no external compile or link dependencies (note 
133
-# that some of these interplay with external systems).
134
-module_group_standard=acc_syslog auth avp ctl dispatcher diversion enum\
135
-				eval exec fifo db_flatstore gflags maxfwd mediaproxy \
136
-				nathelper options pdt permissions pike print ratelimit \
137
-				registrar rr rtpproxy sanity sl textops timer tm uac \
138
-				unixsock uri usrloc xlog cfg_rpc sipcapture msrp tmrec
139
-
140
-# Modules in this group are considered a standard part of SER (due to 
141
-# widespread usage) but they have dependencies that must be satisfied for 
142
-# compilation.
143
-# acc_radius, auth_radius, misc_radius => radiusclient-ng
144
-# acc_db, auth_db, avp_db, db_ops, domain, lcr, msilo, dialog, speeddial,
145
-# uri_db => database module (db_mysql, db_postgres, dbtext ...)
146
-# mysql, postgres => mysql server and client libraries or postgres server and
147
-#  client libraries or other database back-end (ex. mysql-devel)
148
-# pa, xmlrpc => libxml2
149
-# rls => pa
150
-#
151
-# NOTE! All presence modules (dialog, pa, presence_b2b, rls, xcap) have been
152
-# included in this group due to interdependencies
153
-module_group_standard_dep=acc_db acc_radius auth_db auth_radius avp_db \
154
-				auth_identity db_ops domain lcr misc_radius \
155
-				msilo dialog pa \
156
-				presence_b2b rls speeddial uri_db xcap xmlrpc
157
-
158
-# For db use (db modules, excluding drivers)
159
-module_group_db=acc_db auth_db avp_db db_ops db_text \
160
-				uri_db domain lcr msilo speeddial
161
-				#dbtext (s) not migrated yet to the new db interface
162
-
163
-# For mysql
164
-module_group_mysql_driver=db_mysql
165
-module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
166
-
167
-# For postgress
168
-module_group_postgres_driver=db_postgres
169
-module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
170
-
171
-# For radius
172
-module_group_radius=acc_radius auth_radius misc_radius avp_radius uri_radius \
173
-					peering
174
-
175
-# For presence
176
-# kamailio modules
177
-module_group_presence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
178
-						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
179
-						rls xcap_client xcap_server presence_conference \
180
-						presence_reginfo pua_reginfo
181
-#ser modules
182
-module_group_presence+=dialog presence_b2b xcap
183
-# obsolete/unmaintained ser modules
184
-#module_group_presence=pa rls
185
-
186
-# Modules in this group satisfy specific or niche applications, but are 
187
-# considered stable for production use. They may or may not have dependencies
188
-# cpl-c => libxml2
189
-# jabber => expat (library)
190
-# osp => OSP Toolkit (sipfoundry)
191
-# sms => none (external modem)
192
-module_group_stable=cpl-c dbtext jabber osp sms pdb
193
-
194
-# Modules in this group are either not complete, untested, or without enough
195
-# reports of usage to allow the module into the stable group. They may or may
196
-# not have dependencies
197
-module_group_experimental=tls oracle iptrtpproxy ndb_redis async websocket outbound
198
-
199
-# For cassandra
200
-module_group_cassandra_driver=db_cassandra
201
-module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
202
-
203
-
204
-### Kamailio specific groups ###
205
-# Standard modules in K Debian distro
206
-module_group_kstandard=acc alias_db auth auth_db benchmark call_control corex \
207
-				cfgutils db_text dialog dispatcher diversion domain drouting \
208
-				exec group htable imc kex maxfwd mi_datagram mi_fifo msilo \
209
-				nat_traversal nathelper path pdt permissions pike pv qos \
210
-				ratelimit regex registrar rr rtimer rtpproxy siptrace siputils \
211
-				sl sms speeddial sqlops sst statistics textops tmx uac \
212
-				uac_redirect uri_db userblacklist usrloc xlog seas \
213
-				avpops cfg_db cfg_rpc ctl db_flatstore dialplan enum \
214
-				iptrtpproxy lcr mediaproxy mi_rpc pdb sanity tm topoh \
215
-				blst prefix_route counters debugger matrix mqueue mtree \
216
-				pipelimit rtpproxy textopsx xhttp xhttp_rpc ipops p_usrloc \
217
-				sdpops async sipcapture dmq msrp tmrec db_cluster
218
-
219
-# K mysql module
220
-module_group_kmysql=db_mysql
221
-
222
-# K postgress module
223
-module_group_kpostgres=db_postgres
224
-
225
-# K cpl module
226
-module_group_kcpl=cpl-c
227
-
228
-# K radius modules
229
-module_group_kradius=acc_radius auth_radius misc_radius peering
230
-
231
-# K unixodbc module
232
-module_group_kunixodbc=db_unixodbc
233
-
234
-# K xmlrpc modules
235
-module_group_kxml=xmlrpc mi_xmlrpc xmlops
236
-
237
-# K perl module
238
-module_group_kperl=app_perl db_perlvdb
239
-
240
-# K snmpstats module
241
-module_group_ksnmpstats=snmpstats
242
-
243
-# K xmpp module
244
-module_group_kxmpp=xmpp
245
-
246
-# K carrierroute module
247
-module_group_kcarrierroute=carrierroute
248
-
249
-# K berkeley module
250
-module_group_kberkeley=db_berkeley
251
-
252
-# K ldap modules
253
-module_group_kldap=ldap db2_ldap h350
254
-
255
-# K utils module
256
-module_group_kutils=utils
257
-
258
-# K purple module
259
-module_group_kpurple=purple
260
-
261
-# K memcached module
262
-module_group_kmemcached=memcached
263
-
264
-# K tls module
265
-module_group_ktls=tls
266
-
267
-# K websocket module
268
-module_group_kwebsocket=websocket
269
-
270
-# K outbound module
271
-module_group_koutbound=outbound
272
-
273
-# K presence modules
274
-module_group_kpresence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
275
-						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
276
-						rls xcap_client xcap_server presence_conference \
277
-						presence_reginfo pua_reginfo
278
-
279
-# K lua module
280
-module_group_klua=app_lua
281
-
282
-# K python module
283
-module_group_kpython=app_python
284
-
285
-# K geoip module
286
-module_group_kgeoip=geoip
287
-
288
-# K sqlite module
289
-module_group_ksqlite=db_sqlite
290
-
291
-# K json modules
292
-module_group_kjson=json jsonrpc-c
293
-
294
-# K redis module
295
-module_group_kredis=ndb_redis
296
-
297
-# K mono module
298
-module_group_kmono=app_mono
299
-
300
-# For IMS
301
-# kamailio modules
302
-module_group_kims=ims_auth cdp cdp_avp dialog_ng ims_qos ims_isc ims_icscf\
303
-                        ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf
304
-
305
-# if not set on the cmd. line, env or in the modules.lst (cfg_group_include)
306
-# exclude the below modules.
307
-ifneq ($(group_include)$(cfg_group_include),)
308
-	# For group_include, default all modules are excluded except those in 
309
-	# include_modules
310
-	exclude_modules?=
311
-else
312
-	# Old defaults for backwards compatibility
313
-	# excluded because they depend on external libraries
314
-	exclude_modules?= 		cpl mangler postgres jabber mysql cpl-c \
315
-							auth_radius misc_radius avp_radius uri_radius \
316
-							acc_radius pa rls presence_b2b xcap xmlrpc\
317
-							osp tls oracle \
318
-							unixsock dbg print_lib auth_identity db2_ldap ldap \
319
-							db_berkeley db_mysql db_postgres db_oracle \
320
-							db_sqlite db_unixodbc db_cassandra memcached mi_xmlrpc \
321
-							app_perl db_perlvdb purple \
322
-							snmpstats xmpp cdp \
323
-							carrierroute peering \
324
-							dialplan lcr utils presence presence_mwi \
325
-							presence_dialoginfo presence_xml pua pua_bla \
326
-							pua_dialoginfo pua_usrloc pua_xmpp \
327
-							regex xcap_client xcap_server presence_conference \
328
-							presence_reginfo pua_reginfo websocket outbound
329
-	#excluded because they depend on external *.h files
330
-	exclude_modules+= h350
331
-	# excluded because they do not compile (remove them only after they are
332
-	#  fixed) -- andrei
333
-	exclude_modules+= bdb dbtext iptrtpproxy pa rls
334
-	# depends on libgeoip
335
-	exclude_modules+= geoip
336
-	# depends on liblua5.1-dev
337
-	exclude_modules+= app_lua
338
-	# depends on libpython-dev
339
-	exclude_modules+= app_python
340
-	# depends on libxml2
341
-	exclude_modules+= xmlops xhttp_pi
342
-	# depends on jsoc-c
343
-	exclude_modules+= json jsonrpc-c
344
-	# depends on libhiredis
345
-	exclude_modules+= ndb_redis
346
-	# depends on mono-devel
347
-	exclude_modules+= app_mono
348
-	# depends on tm being compiled with -DWITH_AS_SUPPORT support
349
-ifeq (,$(findstring -DWITH_AS_SUPPORT, $(C_DEFS)))
350
-		exclude_modules+= seas
351
-endif
352
-endif
353
-
354
-# always exclude the CVS dir
355
-override exclude_modules+= CVS $(skip_modules)
356
-
357
-# Test for the groups and add to include_modules
358
-ifneq (,$(group_include))
359
-$(eval override include_modules+= $(foreach grp, $(group_include), \
360
-										$(module_group_$(grp)) ))
361
-endif
362
-
363
-# first 2 lines are excluded because of the experimental or incomplete
364
-# status of the modules
365
-# the rest is excluded because it depends on external libraries
366
-#
367
-static_modules:=
127
+# get the groups of modules to compile
128
+include Makefile.groups
368 129
 
369 130
 ALLDEP=config.mak Makefile Makefile.dirs Makefile.sources Makefile.rules
370 131
 
371 132
new file mode 100644
... ...
@@ -0,0 +1,245 @@
1
+# Module groups definitions
2
+#
3
+
4
+# - default only include the standard group
5
+# Make backwards compatible, don't set group_include default...
6
+# group_include?="standard"
7
+
8
+# Modules in this group are considered a standard part (due to 
9
+# widespread usage) and have no external compile or link dependencies (note 
10
+# that some of these interplay with external systems).
11
+module_group_standard=acc_syslog auth avp ctl dispatcher diversion enum\
12
+				eval exec fifo db_flatstore gflags maxfwd mediaproxy \
13
+				nathelper options pdt permissions pike print ratelimit \
14
+				registrar rr rtpproxy sanity sl textops timer tm uac \
15
+				unixsock uri usrloc xlog cfg_rpc sipcapture msrp tmrec
16
+
17
+# Modules in this group are considered a standard part of SER (due to 
18
+# widespread usage) but they have dependencies that must be satisfied for 
19
+# compilation.
20
+# acc_radius, auth_radius, misc_radius => radiusclient-ng
21
+# acc_db, auth_db, avp_db, db_ops, domain, lcr, msilo, dialog, speeddial,
22
+# uri_db => database module (db_mysql, db_postgres, dbtext ...)
23
+# mysql, postgres => mysql server and client libraries or postgres server and
24
+#  client libraries or other database back-end (ex. mysql-devel)
25
+# pa, xmlrpc => libxml2
26
+# rls => pa
27
+#
28
+# NOTE! All presence modules (dialog, pa, presence_b2b, rls, xcap) have been
29
+# included in this group due to interdependencies
30
+module_group_standard_dep=acc_db acc_radius auth_db auth_radius avp_db \
31
+				auth_identity db_ops domain lcr misc_radius \
32
+				msilo dialog pa \
33
+				presence_b2b rls speeddial uri_db xcap xmlrpc
34
+
35
+# For db use (db modules, excluding drivers)
36
+module_group_db=acc_db auth_db avp_db db_ops db_text \
37
+				uri_db domain lcr msilo speeddial
38
+				#dbtext (s) not migrated yet to the new db interface
39
+
40
+# For mysql
41
+module_group_mysql_driver=db_mysql
42
+module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
43
+
44
+# For postgress
45
+module_group_postgres_driver=db_postgres
46
+module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
47
+
48
+# For radius
49
+module_group_radius=acc_radius auth_radius misc_radius avp_radius uri_radius \
50
+					peering
51
+
52
+# For presence
53
+# kamailio modules
54
+module_group_presence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
55
+						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
56
+						rls xcap_client xcap_server presence_conference \
57
+						presence_reginfo pua_reginfo
58
+#ser modules
59
+module_group_presence+=dialog presence_b2b xcap
60
+# obsolete/unmaintained ser modules
61
+#module_group_presence=pa rls
62
+
63
+# Modules in this group satisfy specific or niche applications, but are 
64
+# considered stable for production use. They may or may not have dependencies
65
+# cpl-c => libxml2
66
+# jabber => expat (library)
67
+# osp => OSP Toolkit (sipfoundry)
68
+# sms => none (external modem)
69
+module_group_stable=cpl-c dbtext jabber osp sms pdb
70
+
71
+# Modules in this group are either not complete, untested, or without enough
72
+# reports of usage to allow the module into the stable group. They may or may
73
+# not have dependencies
74
+module_group_experimental=tls oracle iptrtpproxy ndb_redis async websocket outbound
75
+
76
+# For cassandra
77
+module_group_cassandra_driver=db_cassandra
78
+module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
79
+
80
+
81
+### Kamailio specific groups ###
82
+# Standard modules in K Debian distro
83
+module_group_kstandard=acc alias_db auth auth_db benchmark call_control corex \
84
+				cfgutils db_text dialog dispatcher diversion domain drouting \
85
+				exec group htable imc kex maxfwd mi_datagram mi_fifo msilo \
86
+				nat_traversal nathelper path pdt permissions pike pv qos \
87
+				ratelimit regex registrar rr rtimer rtpproxy siptrace siputils \
88
+				sl sms speeddial sqlops sst statistics textops tmx uac \
89
+				uac_redirect uri_db userblacklist usrloc xlog seas \
90
+				avpops cfg_db cfg_rpc ctl db_flatstore dialplan enum \
91
+				iptrtpproxy lcr mediaproxy mi_rpc pdb sanity tm topoh \
92
+				blst prefix_route counters debugger matrix mqueue mtree \
93
+				pipelimit rtpproxy textopsx xhttp xhttp_rpc ipops p_usrloc \
94
+				sdpops async sipcapture dmq msrp tmrec db_cluster
95
+
96
+# K mysql module
97
+module_group_kmysql=db_mysql
98
+
99
+# K postgress module
100
+module_group_kpostgres=db_postgres
101
+
102
+# K cpl module
103
+module_group_kcpl=cpl-c
104
+
105
+# K radius modules
106
+module_group_kradius=acc_radius auth_radius misc_radius peering
107
+
108
+# K unixodbc module
109
+module_group_kunixodbc=db_unixodbc
110
+
111
+# K xmlrpc modules
112
+module_group_kxml=xmlrpc mi_xmlrpc xmlops
113
+
114
+# K perl module
115
+module_group_kperl=app_perl db_perlvdb
116
+
117
+# K snmpstats module
118
+module_group_ksnmpstats=snmpstats
119
+
120
+# K xmpp module
121
+module_group_kxmpp=xmpp
122
+
123
+# K carrierroute module
124
+module_group_kcarrierroute=carrierroute
125
+
126
+# K berkeley module
127
+module_group_kberkeley=db_berkeley
128
+
129
+# K ldap modules
130
+module_group_kldap=ldap db2_ldap h350
131
+
132
+# K utils module
133
+module_group_kutils=utils
134
+
135
+# K purple module
136
+module_group_kpurple=purple
137
+
138
+# K memcached module
139
+module_group_kmemcached=memcached
140
+
141
+# K tls module
142
+module_group_ktls=tls
143
+
144
+# K websocket module
145
+module_group_kwebsocket=websocket
146
+
147
+# K outbound module
148
+module_group_koutbound=outbound
149
+
150
+# K presence modules
151
+module_group_kpresence=presence presence_dialoginfo presence_mwi presence_xml presence_profile\
152
+						pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp \
153
+						rls xcap_client xcap_server presence_conference \
154
+						presence_reginfo pua_reginfo
155
+
156
+# K lua module
157
+module_group_klua=app_lua
158
+
159
+# K python module
160
+module_group_kpython=app_python
161
+
162
+# K geoip module
163
+module_group_kgeoip=geoip
164
+
165
+# K sqlite module
166
+module_group_ksqlite=db_sqlite
167
+
168
+# K json modules
169
+module_group_kjson=json jsonrpc-c
170
+
171
+# K redis module
172
+module_group_kredis=ndb_redis
173
+
174
+# K mono module
175
+module_group_kmono=app_mono
176
+
177
+# For IMS
178
+# kamailio modules
179
+module_group_kims=ims_auth cdp cdp_avp dialog_ng ims_qos ims_isc ims_icscf\
180
+                        ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ims_usrloc_scscf
181
+
182
+# if not set on the cmd. line, env or in the modules.lst (cfg_group_include)
183
+# exclude the below modules.
184
+ifneq ($(group_include)$(cfg_group_include),)
185
+	# For group_include, default all modules are excluded except those in 
186
+	# include_modules
187
+	exclude_modules?=
188
+else
189
+	# Old defaults for backwards compatibility
190
+	# excluded because they depend on external libraries
191
+	exclude_modules?= 		cpl mangler postgres jabber mysql cpl-c \
192
+							auth_radius misc_radius avp_radius uri_radius \
193
+							acc_radius pa rls presence_b2b xcap xmlrpc\
194
+							osp tls oracle \
195
+							unixsock dbg print_lib auth_identity db2_ldap ldap \
196
+							db_berkeley db_mysql db_postgres db_oracle \
197
+							db_sqlite db_unixodbc db_cassandra memcached mi_xmlrpc \
198
+							app_perl db_perlvdb purple \
199
+							snmpstats xmpp cdp \
200
+							carrierroute peering \
201
+							dialplan lcr utils presence presence_mwi \
202
+							presence_dialoginfo presence_xml pua pua_bla \
203
+							pua_dialoginfo pua_usrloc pua_xmpp \
204
+							regex xcap_client xcap_server presence_conference \
205
+							presence_reginfo pua_reginfo websocket outbound
206
+	#excluded because they depend on external *.h files
207
+	exclude_modules+= h350
208
+	# excluded because they do not compile (remove them only after they are
209
+	#  fixed) -- andrei
210
+	exclude_modules+= bdb dbtext iptrtpproxy pa rls
211
+	# depends on libgeoip
212
+	exclude_modules+= geoip
213
+	# depends on liblua5.1-dev
214
+	exclude_modules+= app_lua
215
+	# depends on libpython-dev
216
+	exclude_modules+= app_python
217
+	# depends on libxml2
218
+	exclude_modules+= xmlops xhttp_pi
219
+	# depends on jsoc-c
220
+	exclude_modules+= json jsonrpc-c
221
+	# depends on libhiredis
222
+	exclude_modules+= ndb_redis
223
+	# depends on mono-devel
224
+	exclude_modules+= app_mono
225
+	# depends on tm being compiled with -DWITH_AS_SUPPORT support
226
+ifeq (,$(findstring -DWITH_AS_SUPPORT, $(C_DEFS)))
227
+		exclude_modules+= seas
228
+endif
229
+endif
230
+
231
+# always exclude the CVS dir
232
+override exclude_modules+= CVS $(skip_modules)
233
+
234
+# Test for the groups and add to include_modules
235
+ifneq (,$(group_include))
236
+$(eval override include_modules+= $(foreach grp, $(group_include), \
237
+										$(module_group_$(grp)) ))
238
+endif
239
+
240
+# first 2 lines are excluded because of the experimental or incomplete
241
+# status of the modules
242
+# the rest is excluded because it depends on external libraries
243
+#
244
+static_modules:=
245
+