Skip to content

Commit

Permalink
Merge branch 'rickard/configure-defaults/OTP-11723'
Browse files Browse the repository at this point in the history
* rickard/configure-defaults/OTP-11723:
  Always default to disabled floating point exceptions on Linux
  • Loading branch information
rickard-green committed Feb 24, 2014
2 parents 4acee7b + c7ddafb commit 093966d
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
7 changes: 6 additions & 1 deletion HOWTO/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,11 @@ Some of the available `configure` options are:
default if possible)
* `--{enable,disable}-hipe` - HiPE support (enabled by default on supported
platforms)
* `--{enable,disable}-fp-exceptions` - Floating point exceptions (an
optimization for floating point operations). The default differs
depending on operating system and hardware platform. Note that by
enabling this you might get a seemingly working system that sometimes
fail on floating point operations.
* `--enable-darwin-universal` - Build universal binaries on darwin i386.
* `--enable-darwin-64bit` - Build 64-bit binaries on darwin
* `--enable-m64-build` - Build 64-bit binaries using the `-m64` flag to
Expand All @@ -293,7 +298,7 @@ Some of the available `configure` options are:
memory accesses. If `configure` should inform you about no native atomic
implementation available, you typically want to try using the
`libatomic_ops` library. It can be downloaded from
<http://www.hpl.hp.com/research/linux/atomic_ops/>.
<https://github.com/ivmai/libatomic_ops/>.
* `--disable-smp-require-native-atomics` - By default `configure` will
fail if an SMP runtime system is about to be built, and no implementation
for native atomic memory accesses can be found. If this happens, you are
Expand Down
5 changes: 5 additions & 0 deletions erts/configure.in
Original file line number Diff line number Diff line change
Expand Up @@ -2798,6 +2798,11 @@ esac

if test X${enable_fp_exceptions} = Xauto ; then
case $host_os in
*linux*)
enable_fp_exceptions=no
AC_MSG_NOTICE([Floating point exceptions disabled by default on Linux]) ;;
*)
;;
darwin*)
enable_fp_exceptions=no
AC_MSG_NOTICE([Floating point exceptions disabled by default on MacOS X]) ;;
Expand Down
18 changes: 8 additions & 10 deletions otp_build
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,14 @@ determine_version_controller ()
# Special static config flags for certain platforms are set here
set_config_flags ()
{
#
# NOTE! Do not add special flags here without a *very good*
# reason. We normally do not want "./otp_build configure"
# and "./configure" to produce different results.
# However, in the Windows case this does not matter, since
# the only supported way to build on Windows is using
# otp_build.
#
# * Extra flags to pass to configure are placed in `CONFIG_FLAGS'.
# * The command line is no longer added to `CONFIG_FLAGS' by
# `set_config_flags'. It is instead passed directly to
Expand All @@ -183,16 +191,6 @@ set_config_flags ()
# (in the cross compilation case the whole command line as well as
# the cross configuration have been moved here).

if target_contains linux; then
XX=`echo $* | grep -v able-fp-exceptions`
if [ "$*" = "$XX" ]; then
CONFIG_FLAGS="$CONFIG_FLAGS --disable-fp-exceptions"
fi
fi
if target_contains "univel-sysv4"; then
CONFIG_FLAGS="$CONFIG_FLAGS --x-libraries=/usr/lib/X11"
fi

if target_contains free_source; then
CONFIG_FLAGS="$CONFIG_FLAGS --host=$TARGET"
fi
Expand Down

0 comments on commit 093966d

Please sign in to comment.