diff --git a/.gitignore b/.gitignore index 5d58ff3074..380f73c549 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,7 @@ *.la *-*.gir *.typelib -**.stamp +*.stamp .dirstamp *-enum-types.[ch] *-glue.h diff --git a/libnm-util/meson.build b/libnm-util/meson.build index 55df550175..1e30fd9adf 100644 --- a/libnm-util/meson.build +++ b/libnm-util/meson.build @@ -57,7 +57,6 @@ libnm_utils_enum = gnome.mkenums( sources = files( 'crypto.c', - 'crypto_' + crypto + '.c', 'nm-connection.c', 'nm-param-spec-specialized.c', 'nm-setting-8021x.c', @@ -93,7 +92,6 @@ sources = files( sources += shared_files_libnm_util deps = [ - crypto_dep, dbus_dep, dbus_glib_dep, shared_dep, @@ -109,6 +107,32 @@ cflags = common_cflags + [ '-DG_LOG_DOMAIN="@0@"'.format(libnm_util_name) ] +if crypto_gnutls_dep.found() + libnm_util_crypto_gnutls = static_library( + 'nm-util-crypto-gnutls', + sources: [ 'crypto_gnutls.c' ], + dependencies: deps + [ crypto_gnutls_dep ], + c_args: cflags + ) +endif + +if crypto_nss_dep.found() + libnm_util_crypto_nss = static_library( + 'nm-util-crypto-nss', + sources: [ 'crypto_nss.c' ], + dependencies: deps + [ crypto_nss_dep ], + c_args: cflags + ) +endif + +if crypto == 'gnutls' + libnm_util_crypto = libnm_util_crypto_gnutls +elif crypto == 'nss' + libnm_util_crypto = libnm_util_crypto_nss +else + error('bug') +endif + linker_script = join_paths(meson.current_source_dir(), 'libnm-util.ver') libnm_util = shared_library( @@ -121,6 +145,7 @@ libnm_util = shared_library( '-Wl,--version-script,@0@'.format(linker_script), ], link_depends: linker_script, + link_with: libnm_util_crypto, install: true ) @@ -175,11 +200,9 @@ run_target( sources = files( 'crypto.c', - 'crypto_' + crypto + '.c' ) deps = [ - crypto_dep, shared_dep ] @@ -187,6 +210,7 @@ libtest_crypto = static_library( 'test-crypto', sources: sources, dependencies: deps, + link_with: libnm_util_crypto, c_args: cflags ) diff --git a/meson.build b/meson.build index 68ecb0ecd8..f049a5d2d1 100644 --- a/meson.build +++ b/meson.build @@ -652,7 +652,11 @@ config_h.set_quoted('DNSMASQ_PATH', find_program(get_option('dnsmasq')).path()) # dnssec-trigger-script path dnssec_trigger_script = find_program(get_option('dnssec_trigger'), required: false) -config_h.set_quoted('DNSSEC_TRIGGER_SCRIPT', (dnssec_trigger_script.found() ? dnssec_trigger_script.path() : '/usr/libexec/dnssec-trigger-script')) +if dnssec_trigger_script.found() + config_h.set_quoted('DNSSEC_TRIGGER_SCRIPT', dnssec_trigger_script.path()) +else + config_h.set_quoted('DNSSEC_TRIGGER_SCRIPT', join_paths(nm_libexecdir, 'dnssec-trigger-script')) +endif # system CA certificates path system_ca_path = get_option('system_ca_path') diff --git a/vapi/meson.build b/vapi/meson.build index 835a0b9aaf..37e5090c5a 100644 --- a/vapi/meson.build +++ b/vapi/meson.build @@ -18,12 +18,11 @@ if enable_libnm_glib install: true ) - packages += libnm_util_vapi - gnome.generate_vapi( libnm_glib_name, sources: libnm_glib_gir[0], - packages: packages, + packages: packages + [libnm_util_vapi], + gir_dirs: [join_paths(meson.current_build_dir(), '..', 'libnm-util')], install: true ) endif