-crypto_ss = ss.source_set()
crypto_ss.add(genh)
crypto_ss.add(files(
'afsplit.c',
+ 'akcipher.c',
'block-luks.c',
'block-qcow.c',
'block.c',
'cipher.c',
- 'desrfb.c',
+ 'der.c',
'hash.c',
'hmac.c',
'ivgen-essiv.c',
'tlscredspsk.c',
'tlscredsx509.c',
'tlssession.c',
+ 'rsakey.c',
))
-if 'CONFIG_GCRYPT' in config_host
- wo_nettle = files('hash-gcrypt.c', 'pbkdf-gcrypt.c')
+if nettle.found()
+ crypto_ss.add(nettle, files('hash-nettle.c', 'hmac-nettle.c', 'pbkdf-nettle.c'))
+ if hogweed.found()
+ crypto_ss.add(gmp, hogweed)
+ endif
+ if xts == 'private'
+ crypto_ss.add(files('xts.c'))
+ endif
+elif gcrypt.found()
+ crypto_ss.add(gcrypt, files('hash-gcrypt.c', 'hmac-gcrypt.c', 'pbkdf-gcrypt.c'))
+elif gnutls_crypto.found()
+ crypto_ss.add(gnutls, files('hash-gnutls.c', 'hmac-gnutls.c', 'pbkdf-gnutls.c'))
else
- wo_nettle = files('hash-glib.c', 'pbkdf-stub.c')
+ crypto_ss.add(files('hash-glib.c', 'hmac-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'))
+if have_keyring
+ crypto_ss.add(files('secret_keyring.c'))
+endif
+if have_afalg
+ crypto_ss.add(if_true: files('afalg.c', 'cipher-afalg.c', 'hash-afalg.c'))
+endif
-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)
+system_ss.add(when: gnutls, if_true: files('tls-cipher-suites.c'))
-crypto = declare_dependency(link_whole: libcrypto,
- dependencies: [authz, qom])
+util_ss.add(files(
+ 'aes.c',
+ 'clmul.c',
+ 'init.c',
+ 'sm4.c',
+))
+if gnutls.found()
+ util_ss.add(gnutls)
+endif
-util_ss.add(files('aes.c'))
-util_ss.add(files('init.c'))
-if 'CONFIG_GCRYPT' in config_host
- util_ss.add(files('random-gcrypt.c'))
-elif 'CONFIG_GNUTLS' in config_host
- util_ss.add(files('random-gnutls.c'), gnutls)
-elif 'CONFIG_RNG_NONE' in config_host
+if gcrypt.found()
+ util_ss.add(gcrypt, files('random-gcrypt.c'))
+elif gnutls.found()
+ util_ss.add(gnutls, files('random-gnutls.c'))
+elif get_option('rng_none')
util_ss.add(files('random-none.c'))
else
util_ss.add(files('random-platform.c'))
endif
+