diff options
-rw-r--r-- | config/ChangeLog | 4 | ||||
-rw-r--r-- | config/dfp.m4 | 53 | ||||
-rw-r--r-- | libdecnumber/ChangeLog | 7 | ||||
-rw-r--r-- | libdecnumber/Makefile.in | 1 | ||||
-rw-r--r-- | libdecnumber/aclocal.m4 | 1 | ||||
-rwxr-xr-x | libdecnumber/configure | 38 | ||||
-rw-r--r-- | libdecnumber/configure.ac | 38 |
7 files changed, 93 insertions, 49 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index 22a3641..af06955 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * dfp.m4: New file. + 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> PR target/45084 diff --git a/config/dfp.m4 b/config/dfp.m4 new file mode 100644 index 0000000..4cace76 --- /dev/null +++ b/config/dfp.m4 @@ -0,0 +1,53 @@ +dnl @synopsis GCC_AC_ENABLE_DECIMAL_FLOAT([target triplet]) +dnl +dnl Enable C extension for decimal float if target supports it. +dnl +dnl @author Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + +AC_DEFUN([GCC_AC_ENABLE_DECIMAL_FLOAT], +[ +AC_ARG_ENABLE(decimal-float, +[ --enable-decimal-float={no,yes,bid,dpd} + enable decimal float extension to C. Selecting 'bid' + or 'dpd' choses which decimal floating point format + to use], +[ + case $enable_decimal_float in + yes | no | bid | dpd) ;; + *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float. +Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;; + esac +], +[ + case $1 in + powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux*) + enable_decimal_float=yes + ;; + *) + AC_MSG_WARN(decimal float is not supported for this target, ignored) + enable_decimal_float=no + ;; + esac +]) + +# x86's use BID format instead of DPD +case x$enable_decimal_float in + xyes) + case $1 in + i?86*-*-* | x86_64*-*-*) + enable_decimal_float=bid + ;; + *) + enable_decimal_float=dpd + ;; + esac + ;; + xno) + # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper + # dependency on libdecnumber. + enable_decimal_float=dpd + ;; +esac +AC_SUBST(enable_decimal_float) + +])
\ No newline at end of file diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog index 9ea1ed7..b7952d0 100644 --- a/libdecnumber/ChangeLog +++ b/libdecnumber/ChangeLog @@ -1,3 +1,10 @@ +2010-09-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> + + * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro. + * Makefile.in: Add aclocal.m4 dependency to dfp.m4. + * configure: Regenerate. + * aclocal.m4: Regenerate. + 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> * configure: Regenerate. diff --git a/libdecnumber/Makefile.in b/libdecnumber/Makefile.in index de91f6f..6424c38 100644 --- a/libdecnumber/Makefile.in +++ b/libdecnumber/Makefile.in @@ -98,6 +98,7 @@ aclocal_deps = \ $(srcdir)/../config/stdint.m4 \ $(srcdir)/../config/warnings.m4 \ $(srcdir)/../config/override.m4 \ + $(srcdir)/../config/dfp.m4 \ $(srcdir)/configure.ac $(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps) diff --git a/libdecnumber/aclocal.m4 b/libdecnumber/aclocal.m4 index 7dc0312..fda021e 100644 --- a/libdecnumber/aclocal.m4 +++ b/libdecnumber/aclocal.m4 @@ -11,6 +11,7 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. +m4_include([../config/dfp.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) m4_include([../config/warnings.m4]) diff --git a/libdecnumber/configure b/libdecnumber/configure index ce31976..636839c 100755 --- a/libdecnumber/configure +++ b/libdecnumber/configure @@ -4588,6 +4588,8 @@ test -n "$target_alias" && # If you change the defaults here, be sure to change them in the GCC directory also { $as_echo "$as_me:${as_lineno-$LINENO}: checking for decimal floating point" >&5 $as_echo_n "checking for decimal floating point... " >&6; } + + # Check whether --enable-decimal-float was given. if test "${enable_decimal_float+set}" = set; then : enableval=$enable_decimal_float; @@ -4600,10 +4602,12 @@ Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;; else case $target in - powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*) + powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux*) enable_decimal_float=yes ;; *) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: decimal float is not supported for this target" >&5 +$as_echo "$as_me: WARNING: decimal float is not supported for this target" >&2;} enable_decimal_float=no ;; esac @@ -4612,18 +4616,26 @@ fi # x86's use BID format instead of DPD -# In theory --enable-decimal-float=no should not compile anything -# For the sake of simplicity, just use the default format in this directory -if test x$enable_decimal_float = xyes -o x$enable_decimal_float = xno; then - case $target in - i?86*-*-linux* | x86_64*-*-linux*) - enable_decimal_float=bid - ;; - *) - enable_decimal_float=dpd - ;; - esac -fi +case x$enable_decimal_float in + xyes) + case $target in + i?86*-*-* | x86_64*-*-*) + enable_decimal_float=bid + ;; + *) + enable_decimal_float=dpd + ;; + esac + ;; + xno) + # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper + # dependency on libdecnumber. + enable_decimal_float=dpd + ;; +esac + + + # If BID is being used, additional objects should be linked in. if test x$enable_decimal_float = xbid; then diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac index 4d9060f..a4cbf55 100644 --- a/libdecnumber/configure.ac +++ b/libdecnumber/configure.ac @@ -75,42 +75,8 @@ AC_CANONICAL_TARGET # Default decimal format # If you change the defaults here, be sure to change them in the GCC directory also AC_MSG_CHECKING([for decimal floating point]) -AC_ARG_ENABLE(decimal-float, -[ --enable-decimal-float={no,yes,bid,dpd} - enable decimal float extension to C. Selecting 'bid' - or 'dpd' choses which decimal floating point format - to use], -[ - case $enable_decimal_float in - yes | no | bid | dpd) ;; - *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float. -Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;; - esac -], -[ - case $target in - powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux*) - enable_decimal_float=yes - ;; - *) - enable_decimal_float=no - ;; - esac -]) - -# x86's use BID format instead of DPD -# In theory --enable-decimal-float=no should not compile anything -# For the sake of simplicity, just use the default format in this directory -if test x$enable_decimal_float = xyes -o x$enable_decimal_float = xno; then - case $target in - i?86*-*-linux* | x86_64*-*-linux*) - enable_decimal_float=bid - ;; - *) - enable_decimal_float=dpd - ;; - esac -fi + +GCC_AC_ENABLE_DECIMAL_FLOAT([$target]) # If BID is being used, additional objects should be linked in. if test x$enable_decimal_float = xbid; then |