diff --git a/config/ChangeLog b/config/ChangeLog
index fb7a5fd2a35f4dd26d6cc4da646d37fe00ab130e..0c045c267db133610d9e37e778d961919257d2cd 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+	* Add ACX_{TARGET,HOST,BUILD}_NONCANONICAL,
+	which do an automatic AC_SUBST on _GCC_TOPLEV_*_NONCANONICAL.
+	The intention is that we will migrate to these bit by bit.
+
 2004-08-01  Robert Millan  <robertmh@gnu.org>
 
 	* mt-linux: Rename to ...
diff --git a/config/acx.m4 b/config/acx.m4
index 09bac1c6c64b2c8f91f96e6b80e49b9376b34f57..d4a583dc67f827a71524884cd36b97bef3864ac2 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -37,6 +37,30 @@ case ${target_alias} in
 esac
 ]) []dnl # _GCC_TOPLEV_NONCANONICAL_TARGET
 
+dnl ####
+dnl # ACX_NONCANONICAL_BUILD
+dnl # Like underscored version, but AC_SUBST's.
+AC_DEFUN([ACX_NONCANONICAL_BUILD],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
+AC_SUBST(build_noncanonical)
+]) []dnl # ACX_NONCANONICAL_BUILD
+
+dnl ####
+dnl # ACX_NONCANONICAL_HOST
+dnl # Like underscored version, but AC_SUBST's.
+AC_DEFUN([ACX_NONCANONICAL_HOST],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_HOST]) []dnl
+AC_SUBST(host_noncanonical)
+]) []dnl # ACX_NONCANONICAL_HOST
+
+dnl ####
+dnl # ACX_NONCANONICAL_TARGET
+dnl # Like underscored version, but AC_SUBST's.
+AC_DEFUN([ACX_NONCANONICAL_TARGET],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_TARGET]) []dnl
+AC_SUBST(target_noncanonical)
+]) []dnl # ACX_NONCANONICAL_TARGET
+
 dnl ####
 dnl # GCC_TOPLEV_SUBDIRS
 dnl # GCC & friends build 'build', 'host', and 'target' tools.  These must