aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/ChangeLog4
-rw-r--r--config/dfp.m453
-rw-r--r--libdecnumber/ChangeLog7
-rw-r--r--libdecnumber/Makefile.in1
-rw-r--r--libdecnumber/aclocal.m41
-rwxr-xr-xlibdecnumber/configure38
-rw-r--r--libdecnumber/configure.ac38
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