From c8905b2880aff43ce4660e751d54ecfc55deab2e Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 5 May 2020 16:31:19 +0200 Subject: [PATCH] configure: Explicitly specify subsystem when using msvc target. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- configure | 14 +++++++++----- configure.ac | 8 ++++++-- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/configure b/configure index 47a2a252195..3c6c360a442 100755 --- a/configure +++ b/configure @@ -9847,6 +9847,7 @@ $as_echo "$wine_cv_crosscc" >&6; } done llvm_target=$CROSSTARGET + llvm_cflags="-fuse-ld=lld" if test -z "$llvm_target" then case $host_cpu in @@ -9854,16 +9855,19 @@ $as_echo "$wine_cv_crosscc" >&6; } *) llvm_target=$host_cpu-windows-gnu ;; esac fi - as_ac_var=`$as_echo "ac_cv_crosscflags_-target $llvm_target -fuse-ld=lld" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -target $llvm_target -fuse-ld=lld" >&5 -$as_echo_n "checking whether the cross-compiler supports -target $llvm_target -fuse-ld=lld... " >&6; } + case $llvm_target in + *windows) llvm_cflags="$llvm_cflags -Wl,-subsystem:console" ;; + esac + as_ac_var=`$as_echo "ac_cv_crosscflags_-target $llvm_target $llvm_cflags" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -target $llvm_target $llvm_cflags" >&5 +$as_echo_n "checking whether the cross-compiler supports -target $llvm_target $llvm_cflags... " >&6; } if eval \${$as_ac_var+:} false; then : $as_echo_n "(cached) " >&6 else ac_wine_try_cflags_saved=$CFLAGS ac_wine_try_cflags_saved_cc=$CC ac_wine_try_cflags_saved_exeext=$ac_exeext -CFLAGS="$CFLAGS $EXTRACROSSCFLAGS -nostartfiles -nodefaultlibs -target $llvm_target -fuse-ld=lld" +CFLAGS="$CFLAGS $EXTRACROSSCFLAGS -nostartfiles -nodefaultlibs -target $llvm_target $llvm_cflags" CC="$CROSSCC" ac_exeext=".exe" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -9889,7 +9893,7 @@ if eval test \"x\$"$as_ac_var"\" = x"yes"; then : EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -target $CROSSTARGET" DELAYLOADFLAG="-Wl,-delayload," - CFLAGS="$CFLAGS -fuse-ld=lld" + CFLAGS="$CFLAGS $llvm_cflags" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -fno-strict-aliasing" >&5 diff --git a/configure.ac b/configure.ac index 103e81e2857..d4a92d3cbb0 100644 --- a/configure.ac +++ b/configure.ac @@ -1057,6 +1057,7 @@ then dnl Check if cross compiler supports -target argument llvm_target=$CROSSTARGET + llvm_cflags="-fuse-ld=lld" if test -z "$llvm_target" then case $host_cpu in @@ -1064,11 +1065,14 @@ then *) llvm_target=$host_cpu-windows-gnu ;; esac fi - WINE_TRY_CROSSCFLAGS([-target $llvm_target -fuse-ld=lld], + case $llvm_target in + *windows) llvm_cflags="$llvm_cflags -Wl,-subsystem:console" ;; + esac + WINE_TRY_CROSSCFLAGS([-target $llvm_target $llvm_cflags], [CROSSTARGET=$llvm_target EXTRACROSSCFLAGS="$EXTRACROSSCFLAGS -target $CROSSTARGET" AC_SUBST(DELAYLOADFLAG,["-Wl,-delayload,"]) - CFLAGS="$CFLAGS -fuse-ld=lld"]) + CFLAGS="$CFLAGS $llvm_cflags"]) fi WINE_TRY_CROSSCFLAGS([-fno-strict-aliasing]) dnl clang needs to be told to fail on unknown options