configure: Explicitly specify subsystem when using msvc target.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2020-05-05 16:31:19 +02:00 committed by Alexandre Julliard
parent 583ad67ff0
commit c8905b2880
2 changed files with 15 additions and 7 deletions

14
configure vendored
View File

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

View File

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