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>
master
Paolo Bonzini 2020-09-21 04:49:50 -04:00
parent 73362fc0b0
commit b6c7cfd490
2 changed files with 7 additions and 16 deletions

15
configure vendored
View File

@ -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"

View File

@ -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'])]