aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2022-04-20 17:33:50 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2022-05-07 07:46:58 +0200
commitd2147e04f95f24d0535bba600b95be2676558367 (patch)
tree8f7fdf2e5dc89bb0f9706d853d8056937af3f629
parent40c909f534e3f3cd2bcb797b95f96d52e6dd5cdf (diff)
configure: move Windows flags detection to meson
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-xconfigure20
-rw-r--r--meson.build8
2 files changed, 8 insertions, 20 deletions
diff --git a/configure b/configure
index b146763fbd..c54e10ea26 100755
--- a/configure
+++ b/configure
@@ -224,10 +224,6 @@ glob() {
eval test -z '"${1#'"$2"'}"'
}
-ld_has() {
- $ld --help 2>/dev/null | grep ".$1" >/dev/null 2>&1
-}
-
if printf %s\\n "$source_path" "$PWD" | grep -q "[[:space:]:]";
then
error_exit "main directory cannot contain spaces nor colons"
@@ -2089,22 +2085,6 @@ if test "$solaris" = "no" && test "$tsan" = "no"; then
fi
fi
-# Use ASLR, no-SEH and DEP if available
-if test "$mingw32" = "yes" ; then
- flags="--no-seh --nxcompat"
-
- # Disable ASLR for debug builds to allow debugging with gdb
- if test "$debug" = "no" ; then
- flags="--dynamicbase $flags"
- fi
-
- for flag in $flags; do
- if ld_has $flag ; then
- QEMU_LDFLAGS="-Wl,$flag $QEMU_LDFLAGS"
- fi
- done
-fi
-
# Guest agent Windows MSI package
if test "$QEMU_GA_MANUFACTURER" = ""; then
diff --git a/meson.build b/meson.build
index 448a8dd2a4..6606c9790f 100644
--- a/meson.build
+++ b/meson.build
@@ -182,6 +182,14 @@ qemu_cxxflags = config_host['QEMU_CXXFLAGS'].split()
qemu_objcflags = config_host['QEMU_OBJCFLAGS'].split()
qemu_ldflags = config_host['QEMU_LDFLAGS'].split()
+if targetos == 'windows'
+ qemu_ldflags += cc.get_supported_link_arguments('-Wl,--no-seh', '-Wl,--nxcompat')
+ # Disable ASLR for debug builds to allow debugging with gdb
+ if get_option('optimization') == '0'
+ qemu_ldflags += cc.get_supported_link_arguments('-Wl,--dynamicbase')
+ endif
+endif
+
if get_option('gprof')
qemu_cflags += ['-p']
qemu_cxxflags += ['-p']