diff --git a/meson.build b/meson.build index bdf192cfc1..b6170eecf9 100644 --- a/meson.build +++ b/meson.build @@ -1836,11 +1836,15 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1 if conf.get('HAVE_TPM2') == 1 cryptsetup_token_systemd_tpm2 = shared_library( 'cryptsetup-token-systemd-tpm2', + cryptsetup_token_systemd_tpm2_sources, + include_directories : includes, link_args : ['-shared', '-Wl,--version-script=' + cryptsetup_token_sym_path], - dependencies : libshared_deps + [libcryptsetup, versiondep], - link_with : [libshared], - link_whole : [cryptsetup_token_systemd_tpm2_static], + link_with : [lib_cryptsetup_token_common, + libshared], + dependencies : [libcryptsetup, + tpm2, + versiondep], link_depends : cryptsetup_token_sym, install_rpath : rootlibexecdir, install : true, @@ -1850,11 +1854,15 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1 if conf.get('HAVE_LIBFIDO2') == 1 cryptsetup_token_systemd_fido2 = shared_library( 'cryptsetup-token-systemd-fido2', + cryptsetup_token_systemd_fido2_sources, + include_directories : includes, link_args : ['-shared', '-Wl,--version-script=' + cryptsetup_token_sym_path], - dependencies : libshared_deps + [libcryptsetup, versiondep], - link_with : [libshared], - link_whole : [cryptsetup_token_systemd_fido2_static], + link_with : [lib_cryptsetup_token_common, + libshared], + dependencies : [libcryptsetup, + libfido2, + versiondep], link_depends : cryptsetup_token_sym, install_rpath : rootlibexecdir, install : true, @@ -1864,11 +1872,15 @@ if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1 if conf.get('HAVE_P11KIT') == 1 cryptsetup_token_systemd_pkcs11 = shared_library( 'cryptsetup-token-systemd-pkcs11', + cryptsetup_token_systemd_pkcs11_sources, + include_directories : includes, link_args : ['-shared', '-Wl,--version-script=' + cryptsetup_token_sym_path], - dependencies : libshared_deps + [libcryptsetup, versiondep], - link_with : [libshared], - link_whole : [cryptsetup_token_systemd_pkcs11_static], + link_with : [lib_cryptsetup_token_common, + libshared], + dependencies : [libcryptsetup, + libp11kit, + versiondep], link_depends : cryptsetup_token_sym, install_rpath : rootlibexecdir, install : true, diff --git a/src/cryptsetup/cryptsetup-tokens/meson.build b/src/cryptsetup/cryptsetup-tokens/meson.build index d174fcb714..42c29f100e 100644 --- a/src/cryptsetup/cryptsetup-tokens/meson.build +++ b/src/cryptsetup/cryptsetup-tokens/meson.build @@ -1,64 +1,28 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1 - -cryptsetup_token_c_args = ['-fvisibility=hidden'] - cryptsetup_token_sym = files('cryptsetup-token.sym') cryptsetup_token_sym_path = meson.current_source_dir() / 'cryptsetup-token.sym' -if conf.get('HAVE_TPM2') == 1 - cryptsetup_token_systemd_tpm2_sources = files(''' - cryptsetup-token-systemd-tpm2.c - cryptsetup-token.h - cryptsetup-token-util.h - cryptsetup-token-util.c - luks2-tpm2.c - luks2-tpm2.h - '''.split()) +lib_cryptsetup_token_common = static_library( + 'cryptsetup-token-common', + 'cryptsetup-token.h', + 'cryptsetup-token-util.h', + 'cryptsetup-token-util.c', + include_directories : includes, + link_with : libshared, + build_by_default : false) - cryptsetup_token_systemd_tpm2_static = static_library( - 'cryptsetup-token-systemd-tpm2_static', - cryptsetup_token_systemd_tpm2_sources, - include_directories : includes, - dependencies : libshared_deps + [libcryptsetup, versiondep], - c_args : cryptsetup_token_c_args) -endif +cryptsetup_token_systemd_tpm2_sources = files( + 'cryptsetup-token-systemd-tpm2.c', + 'luks2-tpm2.c', + 'luks2-tpm2.h') -if conf.get('HAVE_LIBFIDO2') == 1 - cryptsetup_token_systemd_fido2_sources = files(''' - cryptsetup-token-systemd-fido2.c - cryptsetup-token.h - cryptsetup-token-util.h - cryptsetup-token-util.c - luks2-fido2.c - luks2-fido2.h - '''.split()) +cryptsetup_token_systemd_fido2_sources = files( + 'cryptsetup-token-systemd-fido2.c', + 'luks2-fido2.c', + 'luks2-fido2.h') - cryptsetup_token_systemd_fido2_static = static_library( - 'cryptsetup-token-systemd-fido2_static', - cryptsetup_token_systemd_fido2_sources, - include_directories : includes, - dependencies : libshared_deps + [libcryptsetup, versiondep], - c_args : cryptsetup_token_c_args) -endif - -if conf.get('HAVE_P11KIT') == 1 - cryptsetup_token_systemd_pkcs11_sources = files(''' - cryptsetup-token-systemd-pkcs11.c - cryptsetup-token.h - cryptsetup-token-util.h - cryptsetup-token-util.c - luks2-pkcs11.c - luks2-pkcs11.h - '''.split()) - - cryptsetup_token_systemd_pkcs11_static = static_library( - 'cryptsetup-token-systemd-pkcs11_static', - cryptsetup_token_systemd_pkcs11_sources, - include_directories : includes, - dependencies : libshared_deps + [libcryptsetup, versiondep], - c_args : cryptsetup_token_c_args) -endif - -endif +cryptsetup_token_systemd_pkcs11_sources = files( + 'cryptsetup-token-systemd-pkcs11.c', + 'luks2-pkcs11.c', + 'luks2-pkcs11.h')