From: Ales Mrazek Date: Wed, 8 Jan 2020 11:43:47 +0000 (+0100) Subject: sysrepo: meson configuration X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0be77fe031679a2c109dc79eef4ad2445804923;p=thirdparty%2Fknot-resolver.git sysrepo: meson configuration --- diff --git a/meson.build b/meson.build index b3d56e22d..db50bc6c2 100644 --- a/meson.build +++ b/meson.build @@ -112,6 +112,20 @@ systemd_files = get_option('systemd_files') libsystemd = dependency('libsystemd', required: systemd_files == 'enabled') message('---------------------------') +### Sysrepo +message('--- sysrepo dependencies ---') +libsysrepo = dependency('libsysrepo', version: '>=1', required: false) +libyang = dependency('libyang', version: '>=1', required: false) +sysrepo_build = get_option('sysrepo') +if (sysrepo_build == 'auto' or sysrepo_build == 'enabled') and libsysrepo.found() and libyang.found() + enable_sysrepo = true +elif sysrepo_build == 'enabled' and not libsysrepo.found() and not libyang.found() + error('sysrepo=enabled requires libsysrepo and libyang') +else + enable_sysrepo = false +endif +message('---------------------------') + ## Compiler args add_project_arguments( '-D_GNU_SOURCE', @@ -169,6 +183,7 @@ conf_data.set('SYSTEMD_VERSION', libsystemd.found() ? libsystemd.version().to_int() : -1) conf_data.set('NOVERBOSELOG', not verbose_log) conf_data.set('ENABLE_SENDMMSG', sendmmsg.to_int()) +conf_data.set('ENABLE_SYSREPO', enable_sysrepo.to_int()) conf_data.set('ENABLE_CAP_NG', capng.found()) kresconfig = configure_file( @@ -275,6 +290,8 @@ run_target( # https://github.com/mesonbuild/meson/issues/2404 s_managed_ta = managed_ta ? 'enabled' : 'disabled' s_install_root_keys = install_root_keys ? 'enabled' : 'disabled' +s_systemd_socket = libsystemd.found() ? 'enabled' : 'disabled' +s_enable_sysrepo = enable_sysrepo ? 'enabled' : 'disabled' s_build_client = build_client ? 'enabled' : 'disabled' s_build_utils = build_utils ? 'enabled' : 'disabled' s_build_dnstap = build_dnstap ? 'enabled' : 'disabled' @@ -307,6 +324,7 @@ message(''' cache_dir: @0@'''.format(systemd_cache_dir) + ''' optional components + sysrepo: @0@'''.format(s_enable_sysrepo) + ''' client: @0@'''.format(s_build_client) + ''' utils: @0@'''.format(s_build_utils) + ''' dnstap: @0@'''.format(s_build_dnstap) + ''' diff --git a/meson_options.txt b/meson_options.txt index f7ca06aab..0d7f8ccbb 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -135,10 +135,22 @@ option( 'enabled', 'disabled', ], - value: 'auto', + value: 'disabled', description: 'build kresc client binary', ) +option( + 'sysrepo', + type: 'combo', + choices: [ + 'auto', + 'enabled', + 'disabled', + ], + value: 'auto', + description: 'build with sysrepo integration', +) + option( 'utils', type: 'combo', diff --git a/modules/meson.build b/modules/meson.build index 472c29513..9cc707eff 100644 --- a/modules/meson.build +++ b/modules/meson.build @@ -50,6 +50,8 @@ subdir('nsid') subdir('policy') subdir('refuse_nord') subdir('stats') +subdir('sysrepo') +subdir('sysrepo-lua') subdir('view') # install lua modules diff --git a/modules/sysrepo-lua/meson.build b/modules/sysrepo-lua/meson.build new file mode 100644 index 000000000..5da9ea8ab --- /dev/null +++ b/modules/sysrepo-lua/meson.build @@ -0,0 +1,8 @@ +# lua module: sysrepo-lua + +sysrepo_lua_src = files([ +]) + +if enable_sysrepo + +endif diff --git a/modules/sysrepo/meson.build b/modules/sysrepo/meson.build new file mode 100644 index 000000000..041db3d98 --- /dev/null +++ b/modules/sysrepo/meson.build @@ -0,0 +1,8 @@ +# C module: sysrepo + +sysrepo_src = files([ +]) + +if enable_sysrepo + +endif \ No newline at end of file diff --git a/utils/kres_watcher/meson.build b/utils/kres_watcher/meson.build new file mode 100644 index 000000000..7267c6445 --- /dev/null +++ b/utils/kres_watcher/meson.build @@ -0,0 +1,6 @@ +kres_watcher_src = files([ +]) + +if enable_sysrepo + +endif \ No newline at end of file diff --git a/utils/kresc/meson.build b/utils/kresc/meson.build new file mode 100644 index 000000000..0cc128328 --- /dev/null +++ b/utils/kresc/meson.build @@ -0,0 +1,6 @@ +kresc_src = files([ +]) + +if enable_sysrepo + +endif \ No newline at end of file diff --git a/utils/meson.build b/utils/meson.build index 048753846..96dffb0ab 100644 --- a/utils/meson.build +++ b/utils/meson.build @@ -3,6 +3,8 @@ build_utils = get_option('utils') != 'disabled' +subdir('kresc') +subdir('kres_watcher') subdir('client') subdir('cache_gc') subdir('upgrade')