src/Makefile.groups
30351861
 # Kamailio build system
23a22e2c
 # Module groups definitions
 #
 
b5024f32
 # lists are sets of modules that don't include modules that are in other lists
 # - break the lists as needed in order to use them to build desired groups
 #   and packages
23a22e2c
 #
b5024f32
 
 
 # - basic used modules, with no extra dependency (widespread usage)
 mod_list_basic=async auth benchmark blst cfg_rpc cfgutils corex counters \
 				   ctl debugger diversion enum exec ipops kex mangler maxfwd \
a7448699
 				   mediaproxy mqueue \
b5024f32
 				   nat_traversal nathelper path pike pv ratelimit rr rtimer \
 				   rtpproxy sanity sdpops siputils sl statistics textops \
2202c1be
 				   textopsx tm tmx topoh xlog rtpengine stun sipt tcpops \
599f3659
 				   auth_xkeys smsops tsilo cfgt statsc topos sipdump
b5024f32
 
 # - extra used modules, with no extra dependency
abc18701
 mod_list_extra=avp auth_diameter call_control call_obj dmq domainpolicy msrp carrierroute \
088c2f7d
 			     pdb qos sca seas sms sst timer tmrec uac_redirect xhttp \
9a2822b1
 				 xhttp_rpc xprint jsonrpcs nosip dmq_usrloc statsd rtjson \
722c1e37
 			  log_custom keepalive ss7ops app_sqlang acc_diameter evrexec
b5024f32
 
 # - common modules depending on database
 mod_list_db=acc alias_db auth_db avpops cfg_db db_text db_flatstore \
 			  db_cluster dialog dispatcher domain drouting group \
4dcbd1b1
 			  htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \
b5024f32
 			  pipelimit prefix_route registrar sipcapture siptrace speeddial \
 			  sqlops uac uri_db userblacklist usrloc
 
 
 # - common modules depending on database, using UID db schema
 mod_list_dbuid=db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \
 				 uid_uri_db
 
 # - modules for devel purposes
 mod_list_devel=malloc_test print print_lib
 
 # - modules depending on pcre3 library
 mod_list_pcre=dialplan lcr regex
 
 # - modules depending on radius client library
 mod_list_radius=acc_radius auth_radius misc_radius peering
 
 # - modules depending on ldap client library
 mod_list_ldap=db2_ldap h350 ldap
 
 # - modules depending on mysql client library
 mod_list_mysql=db_mysql
 
 # - modules depending on postgres client library
 mod_list_postgres=db_postgres
 
 # - modules depending on unixodbc library
 mod_list_unixodbc=db_unixodbc
 
 # - modules depending on mysql cassandra library
992ca112
 mod_list_cassandra=db_cassandra ndb_cassandra
b5024f32
 
 # - modules depending on xml2 library
9a2822b1
 mod_list_cpl=cplc
b5024f32
 
 # - modules depending on xml2 library
 mod_list_xmldeps=xhttp_pi xmlrpc xmlops
 
 # - modules depending on net-snmp library
 mod_list_snmpstats=snmpstats
 
 # - modules depending on expat library
 mod_list_xmpp=xmpp
 
 # - modules depending on bdb (db4) library
 mod_list_berkeley=db_berkeley
 
 # - modules depending on curl library
62fd20ff
 mod_list_utils=utils http_client
b5024f32
 
51fb7519
 # - modules depending on curl and libevent2 library
 mod_list_http_async=http_async_client
 
b5024f32
 # - modules depending on memcache library
 mod_list_memcached=memcached
 
 # - modules depending on openssl library
a5e5aaa1
 mod_list_tlsdeps=crypto tls
 
 # - modules depending on openssl (+curl) library
 mod_list_tlsdeps_curl=auth_identity
63750441
 
 # - modules depending on openssl library
 mod_list_outbound=outbound
b5024f32
 
2a29b2ba
 # - modules depending on openssl and unistring library
b5024f32
 mod_list_websocket=websocket
 
38a4b85d
 # - modules depending on libval-threads libcrypto libsres libpthread
 mod_list_dnssec=dnssec
 
25c3df17
 # - modules depending on libsctp
 mod_list_sctp=sctp
 
2a29b2ba
 # - modules depending on openssl library
 mod_list_autheph=auth_ephemeral
 
b5024f32
 # - modules related to SIMPLE presence extensions
 mod_list_presence=presence presence_conference presence_dialoginfo \
 					   presence_mwi presence_profile presence_reginfo \
 					   presence_xml \
a7448699
 					   pua pua_bla pua_dialoginfo pua_reginfo \
056994b8
 					   pua_rpc pua_usrloc pua_xmpp \
b5024f32
 					   rls xcap_client xcap_server
 
 
 # - modules depending on lua library
 mod_list_lua=app_lua
 
 # - modules depending on perl library
 mod_list_perldeps=app_perl db_perlvdb
 
 # - modules depending on python library
 mod_list_python=app_python
 
2e51e189
 # - modules depending on python3 library
 mod_list_python3=app_python3
 
13846d38
 # - modules depending on libm (math library - standard system library)
 mod_list_jsdt=app_jsdt
 
3fbb0af0
 # - modules depending on ruby library
 mod_list_ruby=app_ruby
 
b5024f32
 # - modules depending on geoip library
89d178f6
 mod_list_geoip=geoip
 
 # - modules depending on new geoip library
 mod_list_geoip2=geoip2
b5024f32
 
 # - modules depending on sqlite library
 mod_list_sqlite=db_sqlite
 
 # - modules depending on oracle library
 mod_list_oracle=db_oracle
 
493ffd38
 # - modules depending on json library
92bd7a31
 mod_list_json=json pua_json
493ffd38
 
c32f75cc
 # - modules depending on json (+libevent) library
493ffd38
 mod_list_json_event=jsonrpcc
b5024f32
 
cf54a098
 # - modules depending on jansson library
722c1e37
 mod_list_jansson=jansson acc_json
cf54a098
 
c32f75cc
 # - modules depending on jansson (+libevent) library
cf54a098
 mod_list_jansson_event=janssonrpcc
c32f75cc
 
b5024f32
 # - modules depending on redis library
53e746b5
 mod_list_redis=db_redis ndb_redis topos_redis
b5024f32
 
 # - modules depending on mono library
 mod_list_mono=app_mono
 
 # - modules related to IMS extensions
c6433d8d
 mod_list_ims=cdp cdp_avp ims_dialog ims_auth ims_isc ims_icscf ims_qos \
b5024f32
 			   ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \
629a3b01
 			   ims_usrloc_scscf ims_charging ims_ocs ims_diameter_server
b5024f32
 
 # - modules depending on osp toolkit library
 mod_list_osp=osp
 
289bc239
 # - modules depending on java library
 mod_list_java=app_java
 
4dcbd1b1
 # - modules depending on gzip library
 mod_list_gzcompress=gzcompress
 
c5eb9b7a
 # - modules depending on uuid library
 mod_list_uuid=uuid
 
afc1ced9
 # - modules depending on ev library
 mod_list_ev=evapi
 
653e618a
 # - modules depending on kazoo/rabbitmq
 mod_list_kazoo=kazoo
 
603c5d20
 # - modules depending on mongodb
81e749ae
 mod_list_mongodb=db_mongodb ndb_mongodb
603c5d20
 
0cafc419
 # - modules depending on redis and event library
 mod_list_cnxcc=cnxcc
 
23c6328b
 # - modules depending on erlang library
 mod_list_erlang=erlang
 
7db9bfea
 # - modules depending on systemd library
 mod_list_systemd=log_systemd
 
18d52943
 # - modules depending on libnsq (+libev libevbuffsock liblcurl libjson-c) library
 mod_list_nsq=nsq
 
d150d5ae
 # - modules depending on librabbitmq library
653e618a
 mod_list_rabbitmq=rabbitmq
d150d5ae
 
599f3659
 # - modules depending on libphonenumber library
 mod_list_phonenum=phonenum
 
b5024f32
 # - all modules
 mod_list_all=$(sort $(mod_list_basic) $(mod_list_extra) \
 			   $(mod_list_db) $(mod_list_dbuid) \
 			   $(mod_list_devel) $(mod_list_pcre) \
 			   $(mod_list_radius) $(mod_list_ldap) \
 			   $(mod_list_mysql) $(mod_list_postgres) \
 			   $(mod_list_unixodbc) $(mod_list_xmldeps) \
 			   $(mod_list_perldeps) $(mod_list_cpl) \
abc18701
 			   $(mod_list_xmpp) \
b5024f32
 			   $(mod_list_berkeley) $(mod_list_utils) \
265bf3b7
 			   $(mod_list_memcached) \
a5e5aaa1
 			   $(mod_list_tlsdeps) $(mod_list_tlsdeps_curl) \
 			   $(mod_list_websocket) \
b5024f32
 			   $(mod_list_snmpstats) $(mod_list_presence) \
 			   $(mod_list_lua) $(mod_list_python) \
3fbb0af0
 			   $(mod_list_python3) $(mod_list_ruby) \
b5024f32
 			   $(mod_list_geoip) $(mod_list_sqlite) \
493ffd38
 			   $(mod_list_json) $(mod_list_json_event) \
 			   $(mod_list_redis) \
b5024f32
 			   $(mod_list_mono) $(mod_list_ims) \
 			   $(mod_list_cassandra) $(mod_list_oracle) \
289bc239
 			   $(mod_list_outbound) $(mod_list_osp) \
291d6ece
 			   $(mod_list_java) $(mod_list_dnssec) \
4dcbd1b1
 			   $(mod_list_sctp) $(mod_list_autheph) \
afc1ced9
 			   $(mod_list_gzcompress) $(mod_list_uuid) \
653e618a
 			   $(mod_list_ev) $(mod_list_kazoo) \
c32f75cc
 			   $(mod_list_mongodb) $(mod_list_cnxcc) \
cf54a098
 			   $(mod_list_jansson) $(mod_list_jansson_event) \
 			   $(mod_list_geoip2) \
51fb7519
 			   $(mod_list_erlang) $(mod_list_systemd) \
d150d5ae
 			   $(mod_list_http_async) $(mod_list_nsq) \
599f3659
 			   $(mod_list_rabbitmq) $(mod_list_jsdt)) \
 			   $(mod_list_phonenum)
b5024f32
 
 
 
 ### --- Groups defined for source code compilation ###
 
 # groups are sets of modules selected by compile target interest (should be
 # built by combining lists)
 
3cf821d9
 # Modules in this group are the default compiled modules due to
b5024f32
 # no external compile or link dependencies
 module_group_default=$(mod_list_basic) $(mod_list_extra) \
 					  $(mod_list_db) $(mod_list_dbuid) \
a1d91264
 					  $(mod_list_devel) $(mod_list_jsdt)
b5024f32
 
3cf821d9
 # Modules in this group are the default compiled modules due to
b5024f32
 # no internal/external compile or link dependencies
 module_group_standard=$(mod_list_basic) $(mod_list_extra) \
a1d91264
 					  $(mod_list_devel) $(mod_list_jsdt)
b5024f32
 
3cf821d9
 # Modules in this group are considered a standard part due to
18d52943
 # widespread usage, but they have dependencies that must be satisfied for
b5024f32
 # compilation (e.g., lcr, radius, presence, tls, ...).
 module_group_common=$(mod_list_db) $(mod_list_dbuid) \
 					$(mod_list_pcre) $(mod_list_radius) \
 					$(mod_list_xmldeps) $(mod_list_presence) \
a5e5aaa1
 					$(mod_list_tlsdeps) $(mod_list_tlsdeps_curl)
23a22e2c
 
 # For db use (db modules, excluding drivers)
b5024f32
 module_group_db=$(mod_list_db)
23a22e2c
 
 # For mysql
b5024f32
 module_group_mysql_driver=$(mod_list_mysql)
23a22e2c
 module_group_mysql=$(module_group_mysql_driver) $(module_group_db)
 
 # For postgress
b5024f32
 module_group_postgres_driver=$(mod_list_postgres)
23a22e2c
 module_group_postgres=$(module_group_postgres_driver) $(module_group_db)
 
 # For radius
b5024f32
 module_group_radius=$(mod_list_radius)
23a22e2c
 
 # For presence
 # kamailio modules
b5024f32
 module_group_presence=$(mod_list_presence)
23a22e2c
 
 # For cassandra
b5024f32
 module_group_cassandra_driver=$(mod_list_cassandra)
23a22e2c
 module_group_cassandra=$(module_group_cassandra_driver) $(module_group_db)
 
b5024f32
 # For all modules not compiled by default
 module_group_ignore= $(sort $(filter-out $(module_group_default), $(mod_list_all)))
 
 
 
3cf821d9
 ### --- Groups defined for pacKaging ###
23a22e2c
 
3cf821d9
 # Standard modules in main pkg
b5024f32
 module_group_kstandard=$(mod_list_basic) $(mod_list_extra) \
 					  $(mod_list_db) $(mod_list_dbuid) \
13846d38
 					  $(mod_list_pcre) $(mod_list_jsdt)
23a22e2c
 
1d312e12
 # Standard modules without any dependencies (such as pcre)
 module_group_kmini=$(mod_list_basic) $(mod_list_extra) \
 					  $(mod_list_db) $(mod_list_dbuid) \
 					  $(mod_list_jsdt)
 
d3525cd3
 # pkg pcre module
 module_group_kpcre=$(mod_list_pcre)
 
3cf821d9
 # pkg mysql module
b5024f32
 module_group_kmysql=$(mod_list_mysql)
23a22e2c
 
3cf821d9
 # pkg postgress module
b5024f32
 module_group_kpostgres=$(mod_list_postgres)
23a22e2c
 
3cf821d9
 # pkg cpl module
b5024f32
 module_group_kcpl=$(mod_list_cpl)
 
3cf821d9
 # pkg xml modules
49251e62
 module_group_kxml=$(mod_list_xmldeps)
 
3cf821d9
 # pkg radius modules
b5024f32
 module_group_kradius=$(mod_list_radius)
23a22e2c
 
3cf821d9
 # pkg unixodbc module
b5024f32
 module_group_kunixodbc=$(mod_list_unixodbc)
23a22e2c
 
3cf821d9
 # pkg perl module
f4a4ad8e
 module_group_kperl=$(mod_list_perldeps)
23a22e2c
 
3cf821d9
 # pkg snmpstats module
b5024f32
 module_group_ksnmpstats=$(mod_list_snmpstats)
23a22e2c
 
3cf821d9
 # pkg xmpp module
b5024f32
 module_group_kxmpp=$(mod_list_xmpp)
23a22e2c
 
3cf821d9
 # pkg berkeley module
b5024f32
 module_group_kberkeley=$(mod_list_berkeley)
23a22e2c
 
3cf821d9
 # pkg ldap modules
b5024f32
 module_group_kldap=$(mod_list_ldap)
23a22e2c
 
3cf821d9
 # pkg utils module
b5024f32
 module_group_kutils=$(mod_list_utils)
23a22e2c
 
51fb7519
 # pkg https_async module
 module_group_khttp_async=$(mod_list_http_async)
 
3cf821d9
 # pkg memcached module
b5024f32
 module_group_kmemcached=$(mod_list_memcached)
23a22e2c
 
3cf821d9
 # pkg tls module
a5e5aaa1
 module_group_ktls_basic=$(mod_list_tlsdeps)
 
 # pkg tls module with curl
 module_group_ktls=$(mod_list_tlsdeps) $(mod_list_tlsdeps_curl)
23a22e2c
 
3cf821d9
 # pkg websocket module
b5024f32
 module_group_kwebsocket=$(mod_list_websocket)
23a22e2c
 
3cf821d9
 # pkg presence modules
b5024f32
 module_group_kpresence=$(mod_list_presence)
23a22e2c
 
3cf821d9
 # pkg lua module
b5024f32
 module_group_klua=$(mod_list_lua)
23a22e2c
 
3cf821d9
 # pkg python module
b5024f32
 module_group_kpython=$(mod_list_python)
23a22e2c
 
2e51e189
 # pkg python3 module
 module_group_kpython3=$(mod_list_python3)
 
3fbb0af0
 # pkg ruby module
 module_group_kruby=$(mod_list_ruby)
 
3cf821d9
 # pkg geoip module
b5024f32
 module_group_kgeoip=$(mod_list_geoip)
23a22e2c
 
89d178f6
 # pkg geoip2 module
 module_group_kgeoip2=$(mod_list_geoip2)
 
3cf821d9
 # pkg sqlite module
b5024f32
 module_group_ksqlite=$(mod_list_sqlite)
23a22e2c
 
 # K json modules
493ffd38
 module_group_kjson_basic=$(mod_list_json)
 
 # K json modules with libevent
 module_group_kjson=$(mod_list_json) $(mod_list_json_event)
23a22e2c
 
c32f75cc
 # K jansson modules
cf54a098
 module_group_kjansson_basic=$(mod_list_jansson)
 
 # K jansson modules with libevent
 module_group_kjansson=$(mod_list_jansson) $(mod_list_jansson_event)
c32f75cc
 
3cf821d9
 # pkg redis module
b5024f32
 module_group_kredis=$(mod_list_redis)
23a22e2c
 
3cf821d9
 # pkg mono module
b5024f32
 module_group_kmono=$(mod_list_mono)
23a22e2c
 
3cf821d9
 # pkg IMS modules
b5024f32
 module_group_kims=$(mod_list_ims)
 
63750441
 # pkg outbound module
 module_group_koutbound=$(mod_list_outbound)
 
289bc239
 # pkg java module
 module_group_kjava=$(mod_list_java)
b5024f32
 
38a4b85d
 # pkg dnssec module
 module_group_kdnssec=$(mod_list_dnssec)
 
25c3df17
 # pkg sctp module
 module_group_ksctp=$(mod_list_sctp)
 
2a29b2ba
 # pkg auth_ephemeral module
 module_group_kautheph=$(mod_list_autheph)
 
4dcbd1b1
 # pkg gzcompress module
 module_group_kgzcompress=$(mod_list_gzcompress)
 
c5eb9b7a
 # pkg uuid module
 module_group_kuuid=$(mod_list_uuid)
 
afc1ced9
 # pkg libev modules
 module_group_kev=$(mod_list_ev)
 
653e618a
 # pkg kazoo module
 module_group_kkazoo=$(mod_list_kazoo)
 
603c5d20
 # pkg mongodb modules
 module_group_kmongodb=$(mod_list_mongodb)
 
0cafc419
 # pkg cnxcc module
 module_group_kcnxcc=$(mod_list_cnxcc)
 
23c6328b
 # pkg erlang module
 module_group_kerlang=$(mod_list_erlang)
 
7db9bfea
 # pkg systemd module
 module_group_ksystemd=$(mod_list_systemd)
 
18d52943
 # K nsq modules
 module_group_knsq=$(mod_list_nsq)
 
d150d5ae
 # K rabbitmq modules
 module_group_krabbitmq=$(mod_list_rabbitmq)
 
599f3659
 # K phonenumber modules
 module_group_kphonenum=$(mod_list_phonenum)
 
b5024f32
 # list of static modules
23a22e2c
 #
 static_modules:=