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