From: Fred Morcos Date: Fri, 18 Aug 2023 22:16:53 +0000 (+0200) Subject: Meson: Rework how modules are handled X-Git-Tag: rec-5.1.0-alpha1~80^2~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=70e1b8f29ddceddd2103447db5e25531f41a93e2;p=thirdparty%2Fpdns.git Meson: Rework how modules are handled --- diff --git a/meson.build b/meson.build index 0a771669cc..f3797b8bc0 100644 --- a/meson.build +++ b/meson.build @@ -117,48 +117,24 @@ all_modules = { 'geoip': ['geoip'], 'lmdb': ['lmdb', 'boost-serialization'], } + selected_modules = [] selected_dyn_modules = [] +dep_modules = [] foreach module_name, module_deps: all_modules module_backend_name = module_name + 'backend' module_opt = get_option('module-' + module_name) module_opt_dyn = get_option('module-' + module_name + '-dyn') - if module_name == 'remote' and (module_opt != 'disabled' or module_opt_dyn != 'disabled') - set_variable(module_name + '_module', module_opt != 'disabled') - set_variable(module_name + '_dyn_module', module_opt_dyn != 'disabled') - - selected_modules += module_opt != 'disabled' ? module_name : [] - selected_dyn_modules += module_opt_dyn != 'disabled' ? module_name : [] - - foreach dep: module_deps - if dep == 'prog-curl' - if not opt_unittests - continue # We only need cURL for unit tests. - endif - elif dep == 'zeromq' - if module_opt != 'with-zeromq' and module_opt_dyn != 'with-zeromq' - continue - endif - endif - - subdir('meson' / dep) - endforeach - elif module_opt or module_opt_dyn - set_variable(module_name + '_module', module_opt) - set_variable(module_name + '_dyn_module', module_opt_dyn) - - selected_modules += module_opt ? module_name : [] - selected_dyn_modules += module_opt_dyn ? module_name : [] - - foreach dep: module_deps - subdir('meson' / dep) - endforeach - else - continue - endif + selected_modules += module_opt ? module_name : [] + selected_dyn_modules += module_opt_dyn ? module_name : [] + + foreach dep: module_deps + subdir('meson' / dep) + endforeach subdir('modules' / module_backend_name) + dep_modules += get_variable('dep_' + module_backend_name) endforeach conf.set_quoted( @@ -215,5 +191,6 @@ pdns_server = executable( dependencies: [ libpdns, libpdns_auth, - ] + ], + link_with: dep_modules, )