diff --git a/config/dfp.m4 b/config/dfp.m4
index 4cace76..13f893f 100644
--- a/config/dfp.m4
+++ b/config/dfp.m4
@@ -13,7 +13,7 @@ AC_ARG_ENABLE(decimal-float,
 			to use],
 [
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
   esac
@@ -41,13 +41,14 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 AC_SUBST(enable_decimal_float)
 
-])
\ No newline at end of file
+])
diff --git a/gcc/configure b/gcc/configure
index da0c48b..bf49a66 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -6654,7 +6654,7 @@ fi
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -6686,11 +6686,12 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 
@@ -6704,6 +6705,9 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi`
 
 cat >>confdefs.h <<_ACEOF
@@ -17133,7 +17137,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17136 "configure"
+#line 17140 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -17239,7 +17243,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 17242 "configure"
+#line 17246 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index bbcbc7f..cdffb95 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -612,6 +612,9 @@ dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi`
 AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_FLOAT, $dfp,
 [Define to 1 to enable decimal float extension to C.])
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 bid=`if test $enable_decimal_float = bid; then echo 1; else echo 0; fi`
 AC_DEFINE_UNQUOTED(ENABLE_DECIMAL_BID_FORMAT, $bid,
 [Define to 1 to specify that we are using the BID decimal floating
diff --git a/libdecnumber/configure b/libdecnumber/configure
index 636839c..b76286d 100755
--- a/libdecnumber/configure
+++ b/libdecnumber/configure
@@ -4594,7 +4594,7 @@ $as_echo_n "checking for decimal floating point... " >&6; }
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -4626,17 +4626,21 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    default_decimal_float=dpd
     ;;
 esac
 
 
 
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 # If BID is being used, additional objects should be linked in.
 if test x$enable_decimal_float = xbid; then
   ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(bid_OBJS)"
diff --git a/libdecnumber/configure.ac b/libdecnumber/configure.ac
index a4cbf55..87820bf 100644
--- a/libdecnumber/configure.ac
+++ b/libdecnumber/configure.ac
@@ -78,6 +78,9 @@ AC_MSG_CHECKING([for decimal floating point])
 
 GCC_AC_ENABLE_DECIMAL_FLOAT([$target])
 
+# Use default_decimal_float for dependency.
+enable_decimal_float=$default_decimal_float
+
 # If BID is being used, additional objects should be linked in.
 if test x$enable_decimal_float = xbid; then
   ADDITIONAL_OBJS="$ADDITIONAL_OBJS \$(bid_OBJS)"
diff --git a/libgcc/configure b/libgcc/configure
old mode 100644
new mode 100755
index e6d42a1..4f07b24
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -3639,7 +3639,7 @@ decimal_float=$libgcc_cv_dfp
 if test "${enable_decimal_float+set}" = set; then :
   enableval=$enable_decimal_float;
   case $enable_decimal_float in
-    yes | no | bid | dpd) ;;
+    yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     *) as_fn_error "'$enable_decimal_float' is an invalid value for --enable-decimal-float.
 Valid choices are 'yes', 'bid', 'dpd', and 'no'." "$LINENO" 5 ;;
   esac
@@ -3671,11 +3671,11 @@ case x$enable_decimal_float in
 	enable_decimal_float=dpd
 	;;
     esac
+    default_decimal_float=$enable_decimal_float
     ;;
   xno)
-    # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
-    # dependency on libdecnumber.
-    enable_decimal_float=dpd
+    # Used for libdecnumber dependency.
+    default_decimal_float=dpd
     ;;
 esac
 
