[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] meson: honor --enable-rbd if cc.links test fails
From: |
Peter Lieven |
Subject: |
Re: [PATCH] meson: honor --enable-rbd if cc.links test fails |
Date: |
Tue, 26 Jan 2021 11:42:05 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
Am 26.01.21 um 11:27 schrieb Paolo Bonzini:
> If the link test failed, compilation proceeded with RBD disabled,
> even if --enable-rbd was used on the configure command line.
> Fix that.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> meson.build | 24 +++++++++++++++---------
> 1 file changed, 15 insertions(+), 9 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index f991d4274d..5943aa8a51 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -690,15 +690,21 @@ if not get_option('rbd').auto() or have_block
> librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
> required: get_option('rbd'),
> kwargs: static_kwargs)
> - if librados.found() and librbd.found() and cc.links('''
> - #include <stdio.h>
> - #include <rbd/librbd.h>
> - int main(void) {
> - rados_t cluster;
> - rados_create(&cluster, NULL);
> - return 0;
> - }''', dependencies: [librbd, librados])
> - rbd = declare_dependency(dependencies: [librbd, librados])
> + if librados.found() and librbd.found()
> + if cc.links('''
> + #include <stdio.h>
> + #include <rbd/librbd.h>
> + int main(void) {
> + rados_t cluster;
> + rados_create(&cluster, NULL);
> + return 0;
> + }''', dependencies: [librbd, librados])
> + rbd = declare_dependency(dependencies: [librbd, librados])
> + elif get_option('rbd').enabled()
> + error('could not link librados')
> + else
> + warning('could not link librados, disabling')
> + endif
> endif
> endif
>
That was fast, tank you.
Tested-by: Peter Lieven <pl@kamp.de>
Peter