Commit 71a2e64a authored by Alexandre Julliard's avatar Alexandre Julliard

configure: Require floating point support on ARM targets.

PE code requires hardware floating point.
parent 23218818
...@@ -929,7 +929,6 @@ with_capi ...@@ -929,7 +929,6 @@ with_capi
with_coreaudio with_coreaudio
with_cups with_cups
with_dbus with_dbus
with_float_abi
with_fontconfig with_fontconfig
with_freetype with_freetype
with_gettext with_gettext
...@@ -2489,7 +2488,6 @@ Optional Packages: ...@@ -2489,7 +2488,6 @@ Optional Packages:
--without-coreaudio do not use the CoreAudio sound support --without-coreaudio do not use the CoreAudio sound support
--without-cups do not use CUPS --without-cups do not use CUPS
--without-dbus do not use DBus (dynamic device support) --without-dbus do not use DBus (dynamic device support)
--with-float-abi=abi specify the ABI (soft|softfp|hard) for ARM platforms
--without-fontconfig do not use fontconfig --without-fontconfig do not use fontconfig
--without-freetype do not use the FreeType library --without-freetype do not use the FreeType library
--without-gettext do not use gettext --without-gettext do not use gettext
...@@ -4273,13 +4271,6 @@ then : ...@@ -4273,13 +4271,6 @@ then :
fi fi
# Check whether --with-float-abi was given.
if test ${with_float_abi+y}
then :
withval=$with_float_abi;
fi
# Check whether --with-fontconfig was given. # Check whether --with-fontconfig was given.
if test ${with_fontconfig+y} if test ${with_fontconfig+y}
then : then :
...@@ -6367,19 +6358,8 @@ printf "%s\n" "$wine_cv_thumb2" >&6; } ...@@ -6367,19 +6358,8 @@ printf "%s\n" "$wine_cv_thumb2" >&6; }
else else
CFLAGS="$CFLAGS -marm" CFLAGS="$CFLAGS -marm"
fi fi
case $with_float_abi in { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports floating point instructions" >&5
soft|softfp|hard) printf %s "checking whether $CC supports floating point instructions... " >&6; }
float_abi=$with_float_abi ;;
*)
case $host_os in
*eabihf)
float_abi=hard ;;
*)
float_abi=softfp
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -mfloat-abi=$float_abi" >&5
printf %s "checking whether $CC supports -mfloat-abi=$float_abi... " >&6; }
if test ${wine_cv_float_abi+y} if test ${wine_cv_float_abi+y}
then : then :
printf %s "(cached) " >&6 printf %s "(cached) " >&6
...@@ -6406,16 +6386,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ ...@@ -6406,16 +6386,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
fi fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $wine_cv_float_abi" >&5 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $wine_cv_float_abi" >&5
printf "%s\n" "$wine_cv_float_abi" >&6; } printf "%s\n" "$wine_cv_float_abi" >&6; }
if test $wine_cv_float_abi = no test $wine_cv_float_abi != no || as_fn_error $? "The ARM target needs to support floating point instructions." "$LINENO" 5
then
float_abi=soft
as_fn_append wine_warnings "|Floating point is not supported for this target. The resulting build won't be compatible with Windows ARM binaries."
fi
CFLAGS=$saved_CFLAGS
esac
;;
esac
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
;; ;;
esac esac
......
...@@ -29,7 +29,6 @@ AC_ARG_WITH(capi, AS_HELP_STRING([--without-capi],[do not use CAPI (ISDN su ...@@ -29,7 +29,6 @@ AC_ARG_WITH(capi, AS_HELP_STRING([--without-capi],[do not use CAPI (ISDN su
AC_ARG_WITH(coreaudio, AS_HELP_STRING([--without-coreaudio],[do not use the CoreAudio sound support])) AC_ARG_WITH(coreaudio, AS_HELP_STRING([--without-coreaudio],[do not use the CoreAudio sound support]))
AC_ARG_WITH(cups, AS_HELP_STRING([--without-cups],[do not use CUPS])) AC_ARG_WITH(cups, AS_HELP_STRING([--without-cups],[do not use CUPS]))
AC_ARG_WITH(dbus, AS_HELP_STRING([--without-dbus],[do not use DBus (dynamic device support)])) AC_ARG_WITH(dbus, AS_HELP_STRING([--without-dbus],[do not use DBus (dynamic device support)]))
AC_ARG_WITH(float-abi, AS_HELP_STRING([--with-float-abi=abi],[specify the ABI (soft|softfp|hard) for ARM platforms]))
AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig])) AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig]))
AC_ARG_WITH(freetype, AS_HELP_STRING([--without-freetype],[do not use the FreeType library])) AC_ARG_WITH(freetype, AS_HELP_STRING([--without-freetype],[do not use the FreeType library]))
AC_ARG_WITH(gettext, AS_HELP_STRING([--without-gettext],[do not use gettext])) AC_ARG_WITH(gettext, AS_HELP_STRING([--without-gettext],[do not use gettext]))
...@@ -149,29 +148,9 @@ case $host in ...@@ -149,29 +148,9 @@ case $host in
else else
CFLAGS="$CFLAGS -marm" CFLAGS="$CFLAGS -marm"
fi fi
case $with_float_abi in AC_CACHE_CHECK([whether $CC supports floating point instructions],wine_cv_float_abi,
soft|softfp|hard) [WINE_TRY_ASM_LINK(["vmrs r2,fpscr"],,,[wine_cv_float_abi=yes],[wine_cv_float_abi=no])])
float_abi=$with_float_abi ;; test $wine_cv_float_abi != no || AC_MSG_ERROR([The ARM target needs to support floating point instructions.])
*)
case $host_os in
*eabihf)
float_abi=hard ;;
*)
float_abi=softfp
saved_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
AC_CACHE_CHECK([whether $CC supports -mfloat-abi=$float_abi],wine_cv_float_abi,
[WINE_TRY_ASM_LINK(["vmrs r2,fpscr"],,,[wine_cv_float_abi=yes],[wine_cv_float_abi=no])])
if test $wine_cv_float_abi = no
then
float_abi=soft
WINE_WARNING([Floating point is not supported for this target. The resulting build won't be compatible with Windows ARM binaries.])
fi
CFLAGS=$saved_CFLAGS
esac
;;
esac
CFLAGS="$CFLAGS -mfloat-abi=$float_abi"
;; ;;
esac esac
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment