]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: move declaration of cryptsetup token modules
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 23 Jun 2023 02:21:40 +0000 (11:21 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 31 Jul 2023 13:17:34 +0000 (22:17 +0900)
meson.build
src/cryptsetup/cryptsetup-tokens/meson.build
src/cryptsetup/meson.build

index 3753d1909471d908aac24b4e89a4eceb3f576fa0..48fda2a225fd3040fde1d746bb45da10e7baf35d 100644 (file)
@@ -2215,7 +2215,6 @@ subdir('src/libsystemd')
 subdir('src/shared')
 subdir('src/udev')
 subdir('src/libudev')
-subdir('src/cryptsetup/cryptsetup-tokens')
 
 libsystemd = shared_library(
         'systemd',
@@ -2300,62 +2299,6 @@ install_libudev_static = static_library(
         c_args : static_libudev_pic ? [] : ['-fno-PIC'],
         pic : static_libudev_pic)
 
-if conf.get('HAVE_LIBCRYPTSETUP_PLUGINS') == 1
-        if conf.get('HAVE_TPM2') == 1
-                shared_library(
-                        'cryptsetup-token-systemd-tpm2',
-                        cryptsetup_token_systemd_tpm2_sources,
-                        include_directories : includes,
-                        link_args : ['-shared',
-                                     '-Wl,--version-script=' + cryptsetup_token_sym_path],
-                        link_with : [lib_cryptsetup_token_common,
-                                     libshared],
-                        dependencies : [libcryptsetup,
-                                        tpm2,
-                                        userspace],
-                        link_depends : cryptsetup_token_sym,
-                        install_rpath : pkglibdir,
-                        install : true,
-                        install_dir : libcryptsetup_plugins_dir)
-        endif
-
-        if conf.get('HAVE_LIBFIDO2') == 1
-                shared_library(
-                        'cryptsetup-token-systemd-fido2',
-                        cryptsetup_token_systemd_fido2_sources,
-                        include_directories : includes,
-                        link_args : ['-shared',
-                                     '-Wl,--version-script=' + cryptsetup_token_sym_path],
-                        link_with : [lib_cryptsetup_token_common,
-                                     libshared],
-                        dependencies : [libcryptsetup,
-                                        libfido2,
-                                        userspace],
-                        link_depends : cryptsetup_token_sym,
-                        install_rpath : pkglibdir,
-                        install : true,
-                        install_dir : libcryptsetup_plugins_dir)
-        endif
-
-        if conf.get('HAVE_P11KIT') == 1
-                shared_library(
-                        'cryptsetup-token-systemd-pkcs11',
-                        cryptsetup_token_systemd_pkcs11_sources,
-                        include_directories : includes,
-                        link_args : ['-shared',
-                                     '-Wl,--version-script=' + cryptsetup_token_sym_path],
-                        link_with : [lib_cryptsetup_token_common,
-                                     libshared],
-                        dependencies : [libcryptsetup,
-                                        libp11kit,
-                                        userspace],
-                        link_depends : cryptsetup_token_sym,
-                        install_rpath : pkglibdir,
-                        install : true,
-                        install_dir : libcryptsetup_plugins_dir)
-        endif
-endif
-
 ############################################################
 
 executable_template = {
index e7b7fbab119fb4843c0d7b69dabc4c5cc1ce4fb7..120621eaee35e87a8772fcf6d405a6fbf546c528 100644 (file)
@@ -1,8 +1,5 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
-cryptsetup_token_sym = files('cryptsetup-token.sym')
-cryptsetup_token_sym_path = meson.current_source_dir() / 'cryptsetup-token.sym'
-
 lib_cryptsetup_token_common = static_library(
         'cryptsetup-token-common',
         'cryptsetup-token-util.c',
@@ -25,3 +22,54 @@ cryptsetup_token_systemd_pkcs11_sources = files(
         'cryptsetup-token-systemd-pkcs11.c',
         'luks2-pkcs11.c',
 )
+
+template = {
+        'include_directories' : includes,
+        'link_with' : [
+                lib_cryptsetup_token_common,
+                libshared,
+        ],
+        'link_depends' : files('cryptsetup-token.sym'),
+        'install_rpath' : pkglibdir,
+        'install' : true,
+        'install_dir' : libcryptsetup_plugins_dir,
+}
+
+modules += [
+        template + {
+                'name' : 'cryptsetup-token-systemd-tpm2',
+                'conditions' : [
+                        'HAVE_LIBCRYPTSETUP_PLUGINS',
+                        'HAVE_TPM2',
+                ],
+                'sources' : cryptsetup_token_systemd_tpm2_sources,
+                'dependencies' : [
+                        libcryptsetup,
+                        tpm2,
+                ],
+        },
+        template + {
+                'name' : 'cryptsetup-token-systemd-fido2',
+                'conditions' : [
+                        'HAVE_LIBCRYPTSETUP_PLUGINS',
+                        'HAVE_LIBFIDO2',
+                ],
+                'sources' : cryptsetup_token_systemd_fido2_sources,
+                'dependencies' : [
+                        libcryptsetup,
+                        libfido2,
+                ],
+        },
+        template + {
+                'name' : 'cryptsetup-token-systemd-pkcs11',
+                'conditions' : [
+                        'HAVE_LIBCRYPTSETUP_PLUGINS',
+                        'HAVE_P11KIT',
+                ],
+                'sources' : cryptsetup_token_systemd_pkcs11_sources,
+                'dependencies' : [
+                        libcryptsetup,
+                        libp11kit,
+                ],
+        },
+]
index 45c4154c956cfae90236586b5ac78486494cf47a..2a8e43a33a4a9bf6bd3ba3d346e57369f23ec93f 100644 (file)
@@ -1,5 +1,7 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 
+subdir('cryptsetup-tokens')
+
 systemd_cryptsetup_sources = files(
         'cryptsetup-keyfile.c',
         'cryptsetup.c',