[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v8 059/152] meson: convert crypto directory to Meson
From: |
Paolo Bonzini |
Subject: |
[PULL v8 059/152] meson: convert crypto directory to Meson |
Date: |
Fri, 21 Aug 2020 06:21:56 -0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Makefile | 1 -
Makefile.objs | 2 +-
Makefile.target | 2 +-
crypto/Makefile.objs | 37 -------------------------------
crypto/meson.build | 52 ++++++++++++++++++++++++++++++++++++++++++++
meson.build | 4 ++--
qom/meson.build | 2 +-
7 files changed, 57 insertions(+), 43 deletions(-)
delete mode 100644 crypto/Makefile.objs
diff --git a/Makefile b/Makefile
index d380271765..c3cc71cfc0 100644
--- a/Makefile
+++ b/Makefile
@@ -246,7 +246,6 @@ dummy := $(call unnest-vars,, \
block-obj-m \
storage-daemon-obj-y \
storage-daemon-obj-m \
- crypto-obj-y \
io-obj-y \
common-obj-y \
common-obj-m)
diff --git a/Makefile.objs b/Makefile.objs
index 0bc361d338..018338d2db 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -19,7 +19,7 @@ block-obj-$(CONFIG_REPLICATION) += replication.o
block-obj-m = block/
-crypto-obj-y = crypto/
+crypto-obj-y = crypto/libcrypto.fa
io-obj-y = io/
diff --git a/Makefile.target b/Makefile.target
index 79b6e02bed..b213955a81 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -193,12 +193,12 @@ common-obj-m :=
include $(SRC_PATH)/Makefile.objs
dummy := $(call fix-paths,../,, \
authz-obj-y \
+ crypto-obj-y \
qom-obj-y)
dummy := $(call unnest-vars,.., \
block-obj-y \
block-obj-m \
chardev-obj-y \
- crypto-obj-y \
io-obj-y \
common-obj-y \
common-obj-m)
diff --git a/crypto/Makefile.objs b/crypto/Makefile.objs
deleted file mode 100644
index a9885919f2..0000000000
--- a/crypto/Makefile.objs
+++ /dev/null
@@ -1,37 +0,0 @@
-crypto-obj-y = init.o
-crypto-obj-y += hash.o
-crypto-obj-$(CONFIG_NETTLE) += hash-nettle.o
-crypto-obj-$(if $(CONFIG_NETTLE),n,$(CONFIG_GCRYPT)) += hash-gcrypt.o
-crypto-obj-$(if $(CONFIG_NETTLE),n,$(if $(CONFIG_GCRYPT),n,y)) += hash-glib.o
-crypto-obj-y += hmac.o
-crypto-obj-$(CONFIG_NETTLE) += hmac-nettle.o
-crypto-obj-$(CONFIG_GCRYPT_HMAC) += hmac-gcrypt.o
-crypto-obj-$(if $(CONFIG_NETTLE),n,$(if $(CONFIG_GCRYPT_HMAC),n,y)) +=
hmac-glib.o
-crypto-obj-y += aes.o
-crypto-obj-y += desrfb.o
-crypto-obj-y += cipher.o
-crypto-obj-$(CONFIG_AF_ALG) += afalg.o
-crypto-obj-$(CONFIG_AF_ALG) += cipher-afalg.o
-crypto-obj-$(CONFIG_AF_ALG) += hash-afalg.o
-crypto-obj-$(CONFIG_GNUTLS) += tls-cipher-suites.o
-crypto-obj-y += tlscreds.o
-crypto-obj-y += tlscredsanon.o
-crypto-obj-y += tlscredspsk.o
-crypto-obj-y += tlscredsx509.o
-crypto-obj-y += tlssession.o
-crypto-obj-y += secret_common.o
-crypto-obj-y += secret.o
-crypto-obj-$(CONFIG_SECRET_KEYRING) += secret_keyring.o
-crypto-obj-y += pbkdf.o
-crypto-obj-$(CONFIG_NETTLE) += pbkdf-nettle.o
-crypto-obj-$(if $(CONFIG_NETTLE),n,$(CONFIG_GCRYPT)) += pbkdf-gcrypt.o
-crypto-obj-$(if $(CONFIG_NETTLE),n,$(if $(CONFIG_GCRYPT),n,y)) += pbkdf-stub.o
-crypto-obj-y += ivgen.o
-crypto-obj-y += ivgen-essiv.o
-crypto-obj-y += ivgen-plain.o
-crypto-obj-y += ivgen-plain64.o
-crypto-obj-y += afsplit.o
-crypto-obj-$(CONFIG_QEMU_PRIVATE_XTS) += xts.o
-crypto-obj-y += block.o
-crypto-obj-y += block-qcow.o
-crypto-obj-y += block-luks.o
diff --git a/crypto/meson.build b/crypto/meson.build
index 1b244315b9..18da7c8541 100644
--- a/crypto/meson.build
+++ b/crypto/meson.build
@@ -1,3 +1,55 @@
+crypto_ss = ss.source_set()
+crypto_ss.add(genh)
+crypto_ss.add(files(
+ 'afsplit.c',
+ 'block-luks.c',
+ 'block-qcow.c',
+ 'block.c',
+ 'cipher.c',
+ 'desrfb.c',
+ 'hash.c',
+ 'hmac.c',
+ 'ivgen-essiv.c',
+ 'ivgen-plain.c',
+ 'ivgen-plain64.c',
+ 'ivgen.c',
+ 'pbkdf.c',
+ 'secret_common.c',
+ 'secret.c',
+ 'tlscreds.c',
+ 'tlscredsanon.c',
+ 'tlscredspsk.c',
+ 'tlscredsx509.c',
+ 'tlssession.c',
+))
+
+if 'CONFIG_GCRYPT' in config_host
+ wo_nettle = files('hash-gcrypt.c', 'pbkdf-gcrypt.c')
+else
+ wo_nettle = files('hash-glib.c', 'pbkdf-stub.c')
+endif
+if 'CONFIG_GCRYPT_HMAC' not in config_host
+ wo_nettle += files('hmac-glib.c')
+endif
+crypto_ss.add(when: [nettle, 'CONFIG_NETTLE'],
+ if_true: files('hash-nettle.c', 'hmac-nettle.c',
'pbkdf-nettle.c'),
+ if_false: wo_nettle)
+
+crypto_ss.add(when: 'CONFIG_SECRET_KEYRING', if_true:
files('secret_keyring.c'))
+crypto_ss.add(when: 'CONFIG_QEMU_PRIVATE_XTS', if_true: files('xts.c'))
+crypto_ss.add(when: 'CONFIG_GCRYPT_HMAC', if_true: files('hmac-gcrypt.c'))
+crypto_ss.add(when: 'CONFIG_AF_ALG', if_true: files('afalg.c',
'cipher-afalg.c', 'hash-afalg.c'))
+crypto_ss.add(when: 'CONFIG_GNUTLS', if_true: files('tls-cipher-suites.c'))
+
+crypto_ss = crypto_ss.apply(config_host, strict: false)
+libcrypto = static_library('crypto', crypto_ss.sources() + genh,
+ dependencies: [crypto_ss.dependencies()],
+ name_suffix: 'fa',
+ build_by_default: false)
+
+crypto = declare_dependency(link_whole: libcrypto,
+ dependencies: [authz, qom])
+
util_ss.add(files('aes.c'))
util_ss.add(files('init.c'))
if 'CONFIG_GCRYPT' in config_host
diff --git a/meson.build b/meson.build
index 34363bff19..9d5cd00c89 100644
--- a/meson.build
+++ b/meson.build
@@ -328,6 +328,8 @@ subdir('qobject')
subdir('stubs')
subdir('trace')
subdir('util')
+subdir('qom')
+subdir('authz')
subdir('crypto')
subdir('storage-daemon')
subdir('ui')
@@ -344,8 +346,6 @@ libqemuutil = static_library('qemuutil',
qemuutil = declare_dependency(link_with: libqemuutil,
sources: genh + version_res)
-subdir('qom')
-subdir('authz')
subdir('fsdev')
# Other build targets
diff --git a/qom/meson.build b/qom/meson.build
index 7b2cd510f8..cbab9cdfa2 100644
--- a/qom/meson.build
+++ b/qom/meson.build
@@ -1,4 +1,5 @@
qom_ss = ss.source_set()
+qom_ss.add(genh)
qom_ss.add(files(
'container.c',
'object.c',
@@ -9,7 +10,6 @@ qom_ss.add(files(
qom_ss = qom_ss.apply(config_host, strict: false)
libqom = static_library('qom', qom_ss.sources() + genh,
dependencies: [qom_ss.dependencies()],
- link_with: [libqemuutil],
name_suffix: 'fa')
qom = declare_dependency(link_whole: libqom)
--
2.26.2
- [PULL v8 048/152] meson: add virtfs-proxy-helper, (continued)
- [PULL v8 048/152] meson: add virtfs-proxy-helper, Paolo Bonzini, 2020/08/21
- [PULL v8 050/152] meson: generate qemu-version.h, Paolo Bonzini, 2020/08/21
- [PULL v8 047/152] meson: add qemu-edid, Paolo Bonzini, 2020/08/21
- [PULL v8 051/152] meson: generate shader headers, Paolo Bonzini, 2020/08/21
- [PULL v8 057/152] meson: convert qom directory to Meson (tools part), Paolo Bonzini, 2020/08/21
- [PULL v8 054/152] meson: convert check-decodetree, Paolo Bonzini, 2020/08/21
- [PULL v8 061/152] meson: convert target/s390x/gen-features.h, Paolo Bonzini, 2020/08/21
- [PULL v8 056/152] meson: convert check-qapi-schema, Paolo Bonzini, 2020/08/21
- [PULL v8 052/152] meson: generate hxtool files, Paolo Bonzini, 2020/08/21
- [PULL v8 063/152] meson: add modules infrastructure, Paolo Bonzini, 2020/08/21
- [PULL v8 059/152] meson: convert crypto directory to Meson,
Paolo Bonzini <=
- [PULL v8 064/152] meson: convert chardev directory to Meson (tools part), Paolo Bonzini, 2020/08/21
- [PULL v8 053/152] meson: handle edk2 bios and descriptors, Paolo Bonzini, 2020/08/21
- [PULL v8 067/152] meson: qemu-pr-helper, Paolo Bonzini, 2020/08/21
- [PULL v8 060/152] meson: convert io directory to Meson, Paolo Bonzini, 2020/08/21
- [PULL v8 055/152] meson: convert tests/fp and check-softfloat, Paolo Bonzini, 2020/08/21
- [PULL v8 073/152] meson: convert root directory to Meson, Paolo Bonzini, 2020/08/21
- [PULL v8 074/152] meson: convert most of softmmu/, Paolo Bonzini, 2020/08/21
- [PULL v8 075/152] meson: convert trace/, Paolo Bonzini, 2020/08/21
- [PULL v8 065/152] meson: convert block, Paolo Bonzini, 2020/08/21
- [PULL v8 058/152] meson: convert authz directory to Meson, Paolo Bonzini, 2020/08/21