meson: Propagate gnutls dependency

crypto/tlscreds.h includes GnuTLS headers if CONFIG_GNUTLS is set, but
GNUTLS_CFLAGS, that describe include path, are not propagated
transitively to all users of crypto and build fails if GnuTLS headers
reside in non-standard directory (which is a case for homebrew on Apple
Silicon).

Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Message-Id: <20210102125213.41279-1-r.bolshakov@yadro.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Roman Bolshakov 2021-01-02 15:52:13 +03:00 committed by Paolo Bonzini
parent d533d6359b
commit 3eacf70bb5
6 changed files with 10 additions and 9 deletions

View File

@ -40,7 +40,7 @@ block_ss.add(files(
'vmdk.c', 'vmdk.c',
'vpc.c', 'vpc.c',
'write-threshold.c', 'write-threshold.c',
), zstd, zlib) ), zstd, zlib, gnutls)
softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c')) softmmu_ss.add(when: 'CONFIG_TCG', if_true: files('blkreplay.c'))

View File

@ -12,4 +12,4 @@ io_ss.add(files(
'dns-resolver.c', 'dns-resolver.c',
'net-listener.c', 'net-listener.c',
'task.c', 'task.c',
)) ), gnutls)

View File

@ -1814,7 +1814,7 @@ blockdev_ss.add(files(
'blockdev-nbd.c', 'blockdev-nbd.c',
'iothread.c', 'iothread.c',
'job-qmp.c', 'job-qmp.c',
)) ), gnutls)
# os-posix.c contains POSIX-specific functions used by qemu-storage-daemon, # os-posix.c contains POSIX-specific functions used by qemu-storage-daemon,
# os-win32.c does not # os-win32.c does not
@ -1970,6 +1970,7 @@ qmp = declare_dependency(link_whole: [libqmp])
libchardev = static_library('chardev', chardev_ss.sources() + genh, libchardev = static_library('chardev', chardev_ss.sources() + genh,
name_suffix: 'fa', name_suffix: 'fa',
dependencies: [gnutls],
build_by_default: false) build_by_default: false)
chardev = declare_dependency(link_whole: libchardev) chardev = declare_dependency(link_whole: libchardev)
@ -2188,7 +2189,7 @@ if have_tools
qemu_io = executable('qemu-io', files('qemu-io.c'), qemu_io = executable('qemu-io', files('qemu-io.c'),
dependencies: [block, qemuutil], install: true) dependencies: [block, qemuutil], install: true)
qemu_nbd = executable('qemu-nbd', files('qemu-nbd.c'), qemu_nbd = executable('qemu-nbd', files('qemu-nbd.c'),
dependencies: [blockdev, qemuutil], install: true) dependencies: [blockdev, qemuutil, gnutls], install: true)
subdir('storage-daemon') subdir('storage-daemon')
subdir('contrib/rdmacm-mux') subdir('contrib/rdmacm-mux')

View File

@ -1,6 +1,6 @@
qsd_ss = ss.source_set() qsd_ss = ss.source_set()
qsd_ss.add(files('qemu-storage-daemon.c')) qsd_ss.add(files('qemu-storage-daemon.c'))
qsd_ss.add(blockdev, chardev, qmp, qom, qemuutil) qsd_ss.add(blockdev, chardev, qmp, qom, qemuutil, gnutls)
subdir('qapi') subdir('qapi')

View File

@ -159,11 +159,11 @@ if have_block
'CONFIG_POSIX' in config_host 'CONFIG_POSIX' in config_host
tests += { tests += {
'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'test-crypto-tlscredsx509': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, crypto], tasn1, crypto, gnutls],
'test-crypto-tlssession': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c', 'test-crypto-tlssession': ['crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'crypto-tls-psk-helpers.c',
tasn1, crypto], tasn1, crypto, gnutls],
'test-io-channel-tls': ['io-channel-helpers.c', 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c', 'test-io-channel-tls': ['io-channel-helpers.c', 'crypto-tls-x509-helpers.c', 'pkix_asn1_tab.c',
tasn1, io, crypto]} tasn1, io, crypto, gnutls]}
endif endif
if 'CONFIG_AUTH_PAM' in config_host if 'CONFIG_AUTH_PAM' in config_host
tests += {'test-authz-pam': [authz]} tests += {'test-authz-pam': [authz]}

View File

@ -29,7 +29,7 @@ vnc_ss.add(files(
'vnc-ws.c', 'vnc-ws.c',
'vnc-jobs.c', 'vnc-jobs.c',
)) ))
vnc_ss.add(zlib, png, jpeg) vnc_ss.add(zlib, png, jpeg, gnutls)
vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c')) vnc_ss.add(when: sasl, if_true: files('vnc-auth-sasl.c'))
softmmu_ss.add_all(when: vnc, if_true: vnc_ss) softmmu_ss.add_all(when: vnc, if_true: vnc_ss)
softmmu_ss.add(when: vnc, if_false: files('vnc-stubs.c')) softmmu_ss.add(when: vnc, if_false: files('vnc-stubs.c'))