diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-09-21 04:49:50 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-10-03 08:18:56 -0400 |
commit | b6c7cfd490510a395ea36747f4a8682c6b1fc26f (patch) | |
tree | 750113426ae693a9135138ec8f84fa60ed9be6f6 | |
parent | 73362fc0b0c2d94e795a509f859e592572a09bfd (diff) |
configure: move OpenBSD W^X test to meson
The TCG option is now passed through to Meson.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-x | configure | 15 | ||||
-rw-r--r-- | meson.build | 8 |
2 files changed, 7 insertions, 16 deletions
@@ -1594,10 +1594,6 @@ if [ "$ARCH" = "unknown" ]; then linux_user="no" fi -if [ "$bsd_user" = "no" -a "$linux_user" = "no" -a "$softmmu" = "no" ] ; then - tcg="disabled" -fi - default_target_list="" deprecated_targets_list=ppc64abi32-linux-user,tilegx-linux-user,lm32-softmmu,unicore32-softmmu deprecated_features="" @@ -6041,17 +6037,6 @@ if test "$mingw32" = "yes" ; then done fi -# Disable OpenBSD W^X if available -if test "$tcg" = "enabled" && test "$targetos" = "OpenBSD"; then - cat > $TMPC <<EOF - int main(void) { return 0; } -EOF - wx_ldflags="-Wl,-z,wxneeded" - if compile_prog "" "$wx_ldflags"; then - QEMU_LDFLAGS="$QEMU_LDFLAGS $wx_ldflags" - fi -fi - qemu_confdir="$sysconfdir/$qemu_suffix" qemu_moddir="$libdir/$qemu_suffix" qemu_datadir="$datadir/$qemu_suffix" diff --git a/meson.build b/meson.build index 743a6504a7..60ecd03fbd 100644 --- a/meson.build +++ b/meson.build @@ -124,6 +124,7 @@ socket = [] version_res = [] coref = [] iokit = [] +emulator_link_args = [] cocoa = not_found hvf = not_found if targetos == 'windows' @@ -146,6 +147,11 @@ elif targetos == 'haiku' socket = [cc.find_library('posix_error_mapper'), cc.find_library('network'), cc.find_library('bsd')] +elif targetos == 'openbsd' + if not get_option('tcg').disabled() and target_dirs.length() > 0 + # Disable OpenBSD W^X if available + emulator_link_args = cc.get_supported_link_arguments('-Wl,-z,wxneeded') + endif endif accelerators = [] @@ -1247,7 +1253,7 @@ foreach target : target_dirs c_args = ['-DNEED_CPU_H', '-DCONFIG_TARGET="@0@-config-target.h"'.format(target), '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)] - link_args = [] + link_args = emulator_link_args config_target += config_host target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])] |