Skip to content

Commit

Permalink
meson: honor --enable-rbd if cc.links test fails
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bonzini committed Feb 8, 2021
1 parent d7dedf4 commit c518d6c
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions meson.build
Expand Up @@ -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

Expand Down

0 comments on commit c518d6c

Please sign in to comment.