Jacek Caban : configure: Use cross compiler for EXCESS_PRECISION_CFLAGS check when available.
Alexandre Julliard
julliard at winehq.org
Tue May 19 16:07:49 CDT 2020
Module: wine
Branch: master
Commit: 69bc1fe4bc8b74690d0aa94de8c0849085fdb575
URL: https://source.winehq.org/git/wine.git/?a=commit;h=69bc1fe4bc8b74690d0aa94de8c0849085fdb575
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue May 19 15:46:12 2020 +0200
configure: Use cross compiler for EXCESS_PRECISION_CFLAGS check when available.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
configure | 124 +++++++++++++++++++++++++++++++++++++++++++++--------------
configure.ac | 9 ++++-
2 files changed, 104 insertions(+), 29 deletions(-)
diff --git a/configure b/configure
index a6c4384dda..f695e0fb00 100755
--- a/configure
+++ b/configure
@@ -631,7 +631,6 @@ RT_LIBS
POLL_LIBS
TOOLSEXT
MSVCRTFLAGS
-EXCESS_PRECISION_CFLAGS
EXTRACFLAGS
VKD3D_LIBS
VKD3D_CFLAGS
@@ -705,6 +704,7 @@ X_PRE_LIBS
X_CFLAGS
XMKMF
PTHREAD_LIBS
+EXCESS_PRECISION_CFLAGS
CROSSDEBUG
DELAYLOADFLAG
CROSSLDFLAGS
@@ -9982,6 +9982,37 @@ fi
$as_echo "$ac_cv_crosscflags__Werror_unknown_warning_option" >&6; }
if test "x$ac_cv_crosscflags__Werror_unknown_warning_option" = xyes; then :
CFLAGS="$CFLAGS -Werror=unknown-warning-option"
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -Werror=ignored-optimization-argument" >&5
+$as_echo_n "checking whether the cross-compiler supports -Werror=ignored-optimization-argument... " >&6; }
+if ${ac_cv_crosscflags__Werror_ignored_optimization_argument+:} 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 -Werror=ignored-optimization-argument"
+CC="$CROSSCC"
+ac_exeext=".exe"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int __cdecl mainCRTStartup(void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_crosscflags__Werror_ignored_optimization_argument=yes
+else
+ ac_cv_crosscflags__Werror_ignored_optimization_argument=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+CC=$ac_wine_try_cflags_saved_cc
+ac_exeext=$ac_wine_try_cflags_saved_exeext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crosscflags__Werror_ignored_optimization_argument" >&5
+$as_echo "$ac_cv_crosscflags__Werror_ignored_optimization_argument" >&6; }
+if test "x$ac_cv_crosscflags__Werror_ignored_optimization_argument" = xyes; then :
+ CFLAGS="$CFLAGS -Werror=ignored-optimization-argument"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -Wdeclaration-after-statement" >&5
$as_echo_n "checking whether the cross-compiler supports -Wdeclaration-after-statement... " >&6; }
@@ -10652,6 +10683,39 @@ if test "x$ac_cv_crosscflags__gcodeview" = xyes; then :
fi ;;
esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -fexcess-precision=standard" >&5
+$as_echo_n "checking whether the cross-compiler supports -fexcess-precision=standard... " >&6; }
+if ${ac_cv_crosscflags__fexcess_precision_standard+:} 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 -fexcess-precision=standard"
+CC="$CROSSCC"
+ac_exeext=".exe"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int __cdecl mainCRTStartup(void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_crosscflags__fexcess_precision_standard=yes
+else
+ ac_cv_crosscflags__fexcess_precision_standard=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+CC=$ac_wine_try_cflags_saved_cc
+ac_exeext=$ac_wine_try_cflags_saved_exeext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_crosscflags__fexcess_precision_standard" >&5
+$as_echo "$ac_cv_crosscflags__fexcess_precision_standard" >&6; }
+if test "x$ac_cv_crosscflags__fexcess_precision_standard" = xyes; then :
+ EXCESS_PRECISION_CFLAGS="-fexcess-precision=standard"
+
+fi
+
if test "x$enable_werror" = "xyes"
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the cross-compiler supports -Werror" >&5
@@ -17177,32 +17241,6 @@ fi
$as_echo "$ac_cv_cflags__fno_strict_aliasing" >&6; }
if test "x$ac_cv_cflags__fno_strict_aliasing" = xyes; then :
EXTRACFLAGS="$EXTRACFLAGS -fno-strict-aliasing"
-fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fexcess-precision=standard" >&5
-$as_echo_n "checking whether the compiler supports -fexcess-precision=standard... " >&6; }
-if ${ac_cv_cflags__fexcess_precision_standard+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_wine_try_cflags_saved=$CFLAGS
-CFLAGS="$CFLAGS -fexcess-precision=standard"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-int main(int argc, char **argv) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_cflags__fexcess_precision_standard=yes
-else
- ac_cv_cflags__fexcess_precision_standard=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-CFLAGS=$ac_wine_try_cflags_saved
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fexcess_precision_standard" >&5
-$as_echo "$ac_cv_cflags__fexcess_precision_standard" >&6; }
-if test "x$ac_cv_cflags__fexcess_precision_standard" = xyes; then :
- EXCESS_PRECISION_CFLAGS="-fexcess-precision=standard"
-
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wdeclaration-after-statement" >&5
$as_echo_n "checking whether the compiler supports -Wdeclaration-after-statement... " >&6; }
@@ -17480,6 +17518,36 @@ if test "x$ac_cv_cflags__Wwrite_strings" = xyes; then :
EXTRACFLAGS="$EXTRACFLAGS -Wwrite-strings"
fi
+ if test -z "$CROSSTARGET"
+ then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fexcess-precision=standard" >&5
+$as_echo_n "checking whether the compiler supports -fexcess-precision=standard... " >&6; }
+if ${ac_cv_cflags__fexcess_precision_standard+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_wine_try_cflags_saved=$CFLAGS
+CFLAGS="$CFLAGS -fexcess-precision=standard"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int main(int argc, char **argv) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_cflags__fexcess_precision_standard=yes
+else
+ ac_cv_cflags__fexcess_precision_standard=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+CFLAGS=$ac_wine_try_cflags_saved
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fexcess_precision_standard" >&5
+$as_echo "$ac_cv_cflags__fexcess_precision_standard" >&6; }
+if test "x$ac_cv_cflags__fexcess_precision_standard" = xyes; then :
+ EXCESS_PRECISION_CFLAGS="-fexcess-precision=standard"
+
+fi
+ fi
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wpointer-arith" >&5
$as_echo_n "checking whether the compiler supports -Wpointer-arith... " >&6; }
if ${ac_cv_cflags__Wpointer_arith+:} false; then :
@@ -20061,6 +20129,7 @@ OPENCL_LIBS = $OPENCL_LIBS
QUICKTIME_LIBS = $QUICKTIME_LIBS
CARBON_LIBS = $CARBON_LIBS
METAL_LIBS = $METAL_LIBS
+EXCESS_PRECISION_CFLAGS = $EXCESS_PRECISION_CFLAGS
PTHREAD_LIBS = $PTHREAD_LIBS
X_CFLAGS = $X_CFLAGS
X_PRE_LIBS = $X_PRE_LIBS
@@ -20132,7 +20201,6 @@ NETAPI_CFLAGS = $NETAPI_CFLAGS
NETAPI_LIBS = $NETAPI_LIBS
VKD3D_CFLAGS = $VKD3D_CFLAGS
VKD3D_LIBS = $VKD3D_LIBS
-EXCESS_PRECISION_CFLAGS = $EXCESS_PRECISION_CFLAGS
POLL_LIBS = $POLL_LIBS
RT_LIBS = $RT_LIBS
LDAP_CFLAGS = $LDAP_CFLAGS
diff --git a/configure.ac b/configure.ac
index 8ddeb0710a..4c3f1b9de5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1078,6 +1078,7 @@ then
WINE_TRY_CROSSCFLAGS([-fno-strict-aliasing])
dnl clang needs to be told to fail on unknown options
WINE_TRY_CROSSCFLAGS([-Werror=unknown-warning-option],[CFLAGS="$CFLAGS -Werror=unknown-warning-option"])
+ WINE_TRY_CROSSCFLAGS([-Werror=ignored-optimization-argument],[CFLAGS="$CFLAGS -Werror=ignored-optimization-argument"])
WINE_TRY_CROSSCFLAGS([-Wdeclaration-after-statement])
WINE_TRY_CROSSCFLAGS([-Wempty-body])
WINE_TRY_CROSSCFLAGS([-Wignored-qualifiers])
@@ -1119,6 +1120,8 @@ then
pdb) WINE_TRY_CROSSCFLAGS([-gcodeview]) ;;
esac
+ WINE_TRY_CROSSCFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
+
if test "x$enable_werror" = "xyes"
then
WINE_TRY_CROSSCFLAGS([-Werror])
@@ -2049,7 +2052,6 @@ then
WINE_TRY_CFLAGS([-fcf-protection=none])
WINE_TRY_CFLAGS([-fno-stack-protector])
WINE_TRY_CFLAGS([-fno-strict-aliasing])
- WINE_TRY_CFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
WINE_TRY_CFLAGS([-Wdeclaration-after-statement])
WINE_TRY_CFLAGS([-Wempty-body])
WINE_TRY_CFLAGS([-Wignored-qualifiers])
@@ -2062,6 +2064,11 @@ then
WINE_TRY_CFLAGS([-Wvla])
WINE_TRY_CFLAGS([-Wwrite-strings])
+ if test -z "$CROSSTARGET"
+ then
+ WINE_TRY_CFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
+ fi
+
dnl Check for noisy string.h
WINE_TRY_CFLAGS([-Wpointer-arith],
[saved_string_h_CFLAGS=$CFLAGS
More information about the wine-cvs
mailing list