diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 540c73ab2a3353985b40f87a881f1b0d6e6c7b6b..fa5b683f145c314c925d3d8a65c32cec7dc3429e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,14 @@
+2005-03-21  Zack Weinberg  <zack@codesourcery.com>
+
+	* acinclude.m4 (GLIBCXX_CONFIGURE): Delete gcc_version logic.
+	(GLIBCXX_EXPORT_INSTALL_INFO): Adjust quotation so ${gcc_version}
+	is expanded by the Makefiles, not by configure.
+	* fragment.am: Set gcc_version.
+	* libmath/Makefile.am: Likewise.
+	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in
+	* libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in
+	* testsuite/Makefile.in: Regenerate.
+
 2005-03-16  Paolo Carlini  <pcarlini@suse.de>
 
 	* testsuite/20_util/functional/binders.cc: Remove explicit
@@ -64,7 +75,7 @@
 	* testsuite/23_containers/vector/cons/1.cc: Likewise.
 	* testsuite/23_containers/vector/cons/2.cc: Likewise.
 	* testsuite/23_containers/vector/cons/3.cc: Likewise.
-	* testsuite/23_containers/vector/cons/6513.cc: Likewise.	
+	* testsuite/23_containers/vector/cons/6513.cc: Likewise.
 	* testsuite/23_containers/vector/element_access/1.cc: Likewise.
 	* testsuite/23_containers/vector/invalidation/1.cc: Likewise.
 	* testsuite/23_containers/vector/invalidation/2.cc: Likewise.
@@ -72,7 +83,7 @@
 	* testsuite/23_containers/vector/invalidation/4.cc: Likewise.
 	* testsuite/23_containers/vector/modifiers/1.cc: Likewise.
 	* testsuite/23_containers/vector/modifiers/2.cc: Likewise.
-	* testsuite/23_containers/vector/modifiers/swap.cc: Likewise.	
+	* testsuite/23_containers/vector/modifiers/swap.cc: Likewise.
 	* testsuite/23_containers/vector/resize/1.cc: Likewise.
 	* testsuite/24_iterators/back_insert_iterator.cc: Likewise.
 	* testsuite/24_iterators/front_insert_iterator.cc: Likewise.
@@ -81,7 +92,7 @@
 	* testsuite/25_algorithms/copy/1.cc: Likewise.
 	* testsuite/25_algorithms/copy/2.cc: Likewise.
 	* testsuite/25_algorithms/copy/3.cc: Likewise.
-	* testsuite/25_algorithms/copy/4.cc: Likewise.	
+	* testsuite/25_algorithms/copy/4.cc: Likewise.
 	* testsuite/25_algorithms/equal.cc: Likewise.
 	* testsuite/25_algorithms/fill/1.cc: Likewise.
 	* testsuite/25_algorithms/fill/2.cc: Likewise.
diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in
index 72e4b6ca78068399a750a948e22bc06d1850cc02..2d03aa9e6b5cd501c36cc6fa730f33d90aa184df 100644
--- a/libstdc++-v3/Makefile.in
+++ b/libstdc++-v3/Makefile.in
@@ -252,6 +252,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 4ef88ad4d55faf08163960e79085607690efa559..737507ce96719e34ec0e897429bfa1b3f4b10237 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -32,7 +32,6 @@ dnl Initialize the rest of the library configury.  At this point we have
 dnl variables like $host.
 dnl
 dnl Sets:
-dnl  gcc_version          (x.y.z format)
 dnl  SUBDIRS
 dnl Substs:
 dnl  glibcxx_builddir     (absolute path)
@@ -109,11 +108,6 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [
   AC_SUBST(CFLAGS)
   AC_SUBST(CXXFLAGS)
 
-  # For directory versioning (e.g., headers) and other variables.
-  AC_MSG_CHECKING([for GCC version number])
-  gcc_version=`$CXX -dumpversion`
-  AC_MSG_RESULT($gcc_version)
-
   # Will set LN_S to either 'ln -s', 'ln', or 'cp -p' (if linking isn't
   # available).  Uncomment the next line to force a particular method.
   AC_PROG_LN_S
@@ -752,7 +746,7 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [
 
   # Default case for install directory for include files.
   if test $version_specific_libs = no && test $gxx_include_dir = no; then
-    gxx_include_dir='${prefix}'/include/c++/${gcc_version}
+    gxx_include_dir='${prefix}/include/c++/${gcc_version}'
   fi
 
   # Version-specific runtime libs processing.
@@ -762,10 +756,10 @@ AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [
     # is selected.  FIXME: these variables are misnamed, there are
     # no executables installed in _toolexecdir or _toolexeclibdir.
     if test x"$gxx_include_dir" = x"no"; then
-      gxx_include_dir='${libdir}/gcc/${host_alias}/'$gcc_version/include/c++
+      gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
     fi
     glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
-    glibcxx_toolexeclibdir='${toolexecdir}/'$gcc_version'$(MULTISUBDIR)'
+    glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
   fi
 
   # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 4b59bfe6916accfd743adf7e15be3f989d814068..738cae13796d75fa6fb273fae704d7b7bbda494e 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -3353,13 +3353,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
-  # For directory versioning (e.g., headers) and other variables.
-  echo "$as_me:$LINENO: checking for GCC version number" >&5
-echo $ECHO_N "checking for GCC version number... $ECHO_C" >&6
-  gcc_version=`$CXX -dumpversion`
-  echo "$as_me:$LINENO: result: $gcc_version" >&5
-echo "${ECHO_T}$gcc_version" >&6
-
   # Will set LN_S to either 'ln -s', 'ln', or 'cp -p' (if linking isn't
   # available).  Uncomment the next line to force a particular method.
   echo "$as_me:$LINENO: checking whether ln -s works" >&5
@@ -4390,7 +4383,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 4393 "configure"' > conftest.$ac_ext
+  echo '#line 4386 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -5011,7 +5004,7 @@ fi;
     #
     # Fake what AC_TRY_COMPILE does.  XXX Look at redoing this new-style.
     cat > conftest.$ac_ext << EOF
-#line 5014 "configure"
+#line 5007 "configure"
 struct S { ~S(); };
 void bar();
 void foo()
@@ -99295,7 +99288,7 @@ echo "${ECHO_T}$version_specific_libs" >&6
 
   # Default case for install directory for include files.
   if test $version_specific_libs = no && test $gxx_include_dir = no; then
-    gxx_include_dir='${prefix}'/include/c++/${gcc_version}
+    gxx_include_dir='${prefix}/include/c++/${gcc_version}'
   fi
 
   # Version-specific runtime libs processing.
@@ -99305,10 +99298,10 @@ echo "${ECHO_T}$version_specific_libs" >&6
     # is selected.  FIXME: these variables are misnamed, there are
     # no executables installed in _toolexecdir or _toolexeclibdir.
     if test x"$gxx_include_dir" = x"no"; then
-      gxx_include_dir='${libdir}/gcc/${host_alias}/'$gcc_version/include/c++
+      gxx_include_dir='${libdir}/gcc/${host_alias}/${gcc_version}/include/c++'
     fi
     glibcxx_toolexecdir='${libdir}/gcc/${host_alias}'
-    glibcxx_toolexeclibdir='${toolexecdir}/'$gcc_version'$(MULTISUBDIR)'
+    glibcxx_toolexeclibdir='${toolexecdir}/${gcc_version}$(MULTISUBDIR)'
   fi
 
   # Calculate glibcxx_toolexecdir, glibcxx_toolexeclibdir
diff --git a/libstdc++-v3/fragment.am b/libstdc++-v3/fragment.am
index 3506dd27adf1c669a446d38fafab3b4f5e5a1e4c..b208972768464222c0ba508d054555e4e37bb544 100644
--- a/libstdc++-v3/fragment.am
+++ b/libstdc++-v3/fragment.am
@@ -1,6 +1,9 @@
 
 ## This is used in all Makefile.am's except for libmath's.  Set defaults here.
 
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+
 MAINT_CHARSET = latin1
 
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 0476f465984dc203770343ac682bdd1ed4efc8e4..554c286867684a8ac54548bcab62eccade48f17d 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -219,6 +219,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}
diff --git a/libstdc++-v3/libmath/Makefile.am b/libstdc++-v3/libmath/Makefile.am
index 091b4a46bd352ae0fd2d6a86e9ca6988534abdcf..ffefea35de3ea3e5b939048a6f8c553dbfa3d7db 100644
--- a/libstdc++-v3/libmath/Makefile.am
+++ b/libstdc++-v3/libmath/Makefile.am
@@ -22,6 +22,9 @@
 ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
 ## USA.
 
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 
 noinst_LTLIBRARIES = libmath.la
diff --git a/libstdc++-v3/libmath/Makefile.in b/libstdc++-v3/libmath/Makefile.in
index 0034dffbdc6b50483f94dfcf4559344c30fb024a..5e6e5adefd10c045b5f3a4274d0d680ff9d6b1c4 100644
--- a/libstdc++-v3/libmath/Makefile.in
+++ b/libstdc++-v3/libmath/Makefile.in
@@ -238,6 +238,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 noinst_LTLIBRARIES = libmath.la
 libmath_la_LIBADD = $(LIBMATHOBJS)
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index 2e48b9b033867009cc5949ee2db9cdfc38be4307..6bf437166f3503f4ace3665bb4b24aefcfcb6d94 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -275,6 +275,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}
diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in
index 5a4b20c29be116ff1a10a2624b529fc764f0dbb5..a402a67515f0fbfbcf00ab1199d1564ed1103ea2 100644
--- a/libstdc++-v3/po/Makefile.in
+++ b/libstdc++-v3/po/Makefile.in
@@ -219,6 +219,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index c8ac76078b65e6245df04156e09c0618d391565b..1770a5dcb3b85ad7b9508fa6223046fd4843263d 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -254,6 +254,9 @@ target_cpu = @target_cpu@
 target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}
diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in
index 4201ab9256de539fc991c2c279a15ae3a047825d..90ece6878e43089c9a7114bd2d604226d3cd8557 100644
--- a/libstdc++-v3/testsuite/Makefile.in
+++ b/libstdc++-v3/testsuite/Makefile.in
@@ -249,6 +249,9 @@ target_os = @target_os@
 target_vendor = @target_vendor@
 toplevel_srcdir = @toplevel_srcdir@
 AUTOMAKE_OPTIONS = dejagnu nostdinc
+
+# May be used by various substitution variables.
+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
 MAINT_CHARSET = latin1
 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs
 PWD_COMMAND = $${PWDCMD-pwd}