mirror of https://github.com/xemu-project/xemu.git
meson: perform snappy test with the C++ compiler if used
Snappy is written in C++ and as such needs to link against libstdc++. When linking statically, this means that the compile test cannot succeed unless performed with a C++ compiler. Do so if link_language is set to C++; if it is C, the test will usually fail and snappy will be disabled. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b3af7fdf9c
commit
565174d08e
|
@ -197,6 +197,10 @@ add_project_arguments('-iquote', '.',
|
||||||
link_language = meson.get_external_property('link_language', 'cpp')
|
link_language = meson.get_external_property('link_language', 'cpp')
|
||||||
if link_language == 'cpp'
|
if link_language == 'cpp'
|
||||||
add_languages('cpp', required: true, native: false)
|
add_languages('cpp', required: true, native: false)
|
||||||
|
cxx = meson.get_compiler('cpp')
|
||||||
|
linker = cxx
|
||||||
|
else
|
||||||
|
linker = cc
|
||||||
endif
|
endif
|
||||||
if host_machine.system() == 'darwin'
|
if host_machine.system() == 'darwin'
|
||||||
add_languages('objc', required: false, native: false)
|
add_languages('objc', required: false, native: false)
|
||||||
|
@ -1109,7 +1113,7 @@ if not get_option('snappy').auto() or have_system
|
||||||
required: get_option('snappy'),
|
required: get_option('snappy'),
|
||||||
kwargs: static_kwargs)
|
kwargs: static_kwargs)
|
||||||
endif
|
endif
|
||||||
if snappy.found() and not cc.links('''
|
if snappy.found() and not linker.links('''
|
||||||
#include <snappy-c.h>
|
#include <snappy-c.h>
|
||||||
int main(void) { snappy_max_compressed_length(4096); return 0; }''', dependencies: snappy)
|
int main(void) { snappy_max_compressed_length(4096); return 0; }''', dependencies: snappy)
|
||||||
snappy = not_found
|
snappy = not_found
|
||||||
|
|
Loading…
Reference in New Issue