Makefile.groups 10 KB

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