From c18220cc1350847f0b6182449843ba4b9f3d75e2 Mon Sep 17 00:00:00 2001 From: Ales Mrazek Date: Wed, 8 Jan 2020 12:43:47 +0100 Subject: [PATCH] sysrepo: meson configuration --- meson.build | 17 +++++++++++++++++ meson_options.txt | 14 +++++++++++++- modules/meson.build | 2 ++ modules/sysrepo-lua/meson.build | 8 ++++++++ modules/sysrepo/meson.build | 8 ++++++++ utils/kres_watcher/meson.build | 6 ++++++ utils/kresc/meson.build | 6 ++++++ utils/meson.build | 2 ++ 8 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 modules/sysrepo-lua/meson.build create mode 100644 modules/sysrepo/meson.build create mode 100644 utils/kres_watcher/meson.build create mode 100644 utils/kresc/meson.build diff --git a/meson.build b/meson.build index 9527acafa..7999bc1b6 100644 --- a/meson.build +++ b/meson.build @@ -106,6 +106,20 @@ if systemd_files == 'enabled' and ( endif 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', @@ -151,6 +165,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( @@ -258,6 +273,7 @@ run_target( 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' @@ -289,6 +305,7 @@ message(''' work_dir: @0@'''.format(systemd_work_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 b85631b68..cdf58572a 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -122,10 +122,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 d4a0ab5ae..be29638c2 100644 --- a/modules/meson.build +++ b/modules/meson.build @@ -51,6 +51,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 fbf8f33c9..616a08d6d 100644 --- a/utils/meson.build +++ b/utils/meson.build @@ -2,5 +2,7 @@ build_utils = get_option('utils') != 'disabled' +subdir('kresc') +subdir('kres_watcher') subdir('client') subdir('cache_gc') -- 2.47.2