summaryrefslogtreecommitdiffstats
path: root/lib/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'lib/meson.build')
-rw-r--r--lib/meson.build116
1 files changed, 116 insertions, 0 deletions
diff --git a/lib/meson.build b/lib/meson.build
new file mode 100644
index 0000000..9f503b6
--- /dev/null
+++ b/lib/meson.build
@@ -0,0 +1,116 @@
+subdir('crypto_backend')
+lib_build_dir = meson.current_build_dir()
+
+libutils_io = static_library('utils_io',
+ files(
+ 'utils_io.c',
+ ))
+
+libcryptsetup_sym_path = join_paths(meson.current_source_dir(), 'libcryptsetup.sym')
+
+libcryptsetup_deps = [
+ uuid,
+ devmapper,
+ libargon2_external,
+ jsonc,
+ blkid,
+ dl,
+]
+
+libcryptsetup_sources = files(
+ 'bitlk/bitlk.c',
+ 'fvault2/fvault2.c',
+ 'integrity/integrity.c',
+ 'loopaes/loopaes.c',
+ 'luks1/af.c',
+ 'luks1/keyencryption.c',
+ 'luks1/keymanage.c',
+ 'luks2/hw_opal/hw_opal.c',
+ 'luks2/luks2_digest.c',
+ 'luks2/luks2_digest_pbkdf2.c',
+ 'luks2/luks2_disk_metadata.c',
+ 'luks2/luks2_json_format.c',
+ 'luks2/luks2_json_metadata.c',
+ 'luks2/luks2_keyslot.c',
+ 'luks2/luks2_keyslot_luks2.c',
+ 'luks2/luks2_keyslot_reenc.c',
+ 'luks2/luks2_luks1_convert.c',
+ 'luks2/luks2_reencrypt.c',
+ 'luks2/luks2_reencrypt_digest.c',
+ 'luks2/luks2_segment.c',
+ 'luks2/luks2_token.c',
+ 'luks2/luks2_token_keyring.c',
+ 'tcrypt/tcrypt.c',
+ 'verity/rs_decode_char.c',
+ 'verity/rs_encode_char.c',
+ 'verity/verity.c',
+ 'verity/verity_fec.c',
+ 'verity/verity_hash.c',
+ 'crypt_plain.c',
+ 'keyslot_context.c',
+ 'libdevmapper.c',
+ 'random.c',
+ 'setup.c',
+ 'utils.c',
+ 'utils_benchmark.c',
+ 'utils_blkid.c',
+ 'utils_crypt.c',
+ 'utils_device.c',
+ 'utils_device_locking.c',
+ 'utils_devpath.c',
+ 'utils_keyring.c',
+ 'utils_loop.c',
+ 'utils_pbkdf.c',
+ 'utils_safe_memory.c',
+ 'utils_storage_wrappers.c',
+ 'utils_wipe.c',
+ 'volumekey.c',
+)
+
+if enable_static
+ libcryptsetup = static_library('cryptsetup',
+ libcryptsetup_sources,
+ dependencies: libcryptsetup_deps,
+ link_with: [
+ libcrypto_backend,
+ libutils_io,
+ ],
+ install: true)
+else
+ libcryptsetup = library('cryptsetup',
+ libcryptsetup_sources,
+ dependencies: libcryptsetup_deps,
+ version: libcryptsetup_version,
+ link_args: [
+ '-Wl,--version-script=' +
+ libcryptsetup_sym_path,
+ ],
+ link_with: [
+ libcrypto_backend,
+ libutils_io,
+ ],
+ install: true)
+endif
+
+lib_tools_files = files(
+ 'utils_blkid.c',
+ 'utils_crypt.c',
+ 'utils_io.c',
+ 'utils_loop.c',
+)
+lib_utils_crypt_files = files(
+ 'utils_crypt.c',
+)
+lib_ssh_token_files = files(
+ 'utils_io.c',
+ 'utils_loop.c',
+)
+
+install_headers(
+ 'libcryptsetup.h',
+)
+pkgconfig.generate(
+ libcryptsetup,
+ name: 'libcryptsetup',
+ version: PACKAGE_VERSION,
+ description: 'cryptsetup library')