OSDN Git Service

<top level>
authorneroden <neroden>
Sun, 18 May 2003 15:49:05 +0000 (15:49 +0000)
committerneroden <neroden>
Sun, 18 May 2003 15:49:05 +0000 (15:49 +0000)
* configure.in: Switch more things to use maybe dependencies.
Rearrange a little.  Use GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.tpl: Switch more things to use maybe dependencies.
* Makefile.in: Regenerate.

<config>
* config/acx.m4: Introduce _GCC_TOPLEV_NONCANONICAL_BUILD,
_GCC_TOPLEV_NONCANOICAL_HOST, _GCC_TOPLEV_NONCANONICAL_TARGET,
GCC_TOPLEV_SUBDIRS.

ChangeLog
Makefile.in
Makefile.tpl
config/ChangeLog
config/acx.m4
configure
configure.in

index 523aabc..2692f7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Switch more things to use maybe dependencies.
+       Rearrange a little.  Use GCC_TOPLEV_SUBDIRS.
+       * configure: Regenerate.
+       * Makefile.tpl: Switch more things to use maybe dependencies.
+       * Makefile.in: Regenerate.
+
 2003-05-16  Andreas Schwab  <schwab@suse.de>
 
        * Makefile.tpl (install-opcodes): Define.
index 057906e..d90b1ae 100644 (file)
@@ -551,8 +551,90 @@ EXTRA_GCC_FLAGS = \
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
-configure-host: @configure_host_modules@
-configure-target: @configure_target_modules@
+.PHONY: configure-host
+configure-host: maybe-configure-gcc  \
+    maybe-configure-ash \
+    maybe-configure-autoconf \
+    maybe-configure-automake \
+    maybe-configure-bash \
+    maybe-configure-bfd \
+    maybe-configure-opcodes \
+    maybe-configure-binutils \
+    maybe-configure-bison \
+    maybe-configure-byacc \
+    maybe-configure-bzip2 \
+    maybe-configure-dejagnu \
+    maybe-configure-diff \
+    maybe-configure-dosutils \
+    maybe-configure-etc \
+    maybe-configure-fastjar \
+    maybe-configure-fileutils \
+    maybe-configure-findutils \
+    maybe-configure-find \
+    maybe-configure-flex \
+    maybe-configure-gas \
+    maybe-configure-gawk \
+    maybe-configure-gettext \
+    maybe-configure-gnuserv \
+    maybe-configure-gprof \
+    maybe-configure-gzip \
+    maybe-configure-hello \
+    maybe-configure-indent \
+    maybe-configure-intl \
+    maybe-configure-tcl \
+    maybe-configure-itcl \
+    maybe-configure-ld \
+    maybe-configure-libgui \
+    maybe-configure-libiberty \
+    maybe-configure-libtool \
+    maybe-configure-m4 \
+    maybe-configure-make \
+    maybe-configure-mmalloc \
+    maybe-configure-patch \
+    maybe-configure-perl \
+    maybe-configure-prms \
+    maybe-configure-rcs \
+    maybe-configure-readline \
+    maybe-configure-release \
+    maybe-configure-recode \
+    maybe-configure-sed \
+    maybe-configure-send-pr \
+    maybe-configure-shellutils \
+    maybe-configure-sid \
+    maybe-configure-sim \
+    maybe-configure-tar \
+    maybe-configure-texinfo \
+    maybe-configure-textutils \
+    maybe-configure-time \
+    maybe-configure-uudecode \
+    maybe-configure-wdiff \
+    maybe-configure-zip \
+    maybe-configure-zlib \
+    maybe-configure-gdb \
+    maybe-configure-expect \
+    maybe-configure-guile \
+    maybe-configure-tk \
+    maybe-configure-tix \
+    maybe-configure-libtermcap \
+    maybe-configure-utils
+.PHONY: configure-target
+configure-target:  \
+    maybe-configure-target-libstdc++-v3 \
+    maybe-configure-target-newlib \
+    maybe-configure-target-libf2c \
+    maybe-configure-target-libobjc \
+    maybe-configure-target-libtermcap \
+    maybe-configure-target-winsup \
+    maybe-configure-target-libgloss \
+    maybe-configure-target-libiberty \
+    maybe-configure-target-gperf \
+    maybe-configure-target-examples \
+    maybe-configure-target-libffi \
+    maybe-configure-target-libjava \
+    maybe-configure-target-zlib \
+    maybe-configure-target-boehm-gc \
+    maybe-configure-target-qthreads \
+    maybe-configure-target-rda
 
 # This is a list of the targets for which we can do a clean-{target}.
 CLEAN_MODULES = \
@@ -642,14 +724,93 @@ CLEAN_X11_MODULES = \
        clean-tix 
 
 # The target built for a native build.
-# This list only includes modules actually being configured and built.
 .PHONY: all.normal
-all.normal: @all_build_modules@ \
-       @all_host_modules@ \
-       @all_target_modules@
-
-all-host: @all_host_modules@
-all-target: @all_target_modules@
+all.normal: @all_build_modules@ all-host all-target
+
+.PHONY: all-host
+all-host: maybe-all-gcc  \
+    maybe-all-ash \
+    maybe-all-autoconf \
+    maybe-all-automake \
+    maybe-all-bash \
+    maybe-all-bfd \
+    maybe-all-opcodes \
+    maybe-all-binutils \
+    maybe-all-bison \
+    maybe-all-byacc \
+    maybe-all-bzip2 \
+    maybe-all-dejagnu \
+    maybe-all-diff \
+    maybe-all-dosutils \
+    maybe-all-etc \
+    maybe-all-fastjar \
+    maybe-all-fileutils \
+    maybe-all-findutils \
+    maybe-all-find \
+    maybe-all-flex \
+    maybe-all-gas \
+    maybe-all-gawk \
+    maybe-all-gettext \
+    maybe-all-gnuserv \
+    maybe-all-gprof \
+    maybe-all-gzip \
+    maybe-all-hello \
+    maybe-all-indent \
+    maybe-all-intl \
+    maybe-all-tcl \
+    maybe-all-itcl \
+    maybe-all-ld \
+    maybe-all-libgui \
+    maybe-all-libiberty \
+    maybe-all-libtool \
+    maybe-all-m4 \
+    maybe-all-make \
+    maybe-all-mmalloc \
+    maybe-all-patch \
+    maybe-all-perl \
+    maybe-all-prms \
+    maybe-all-rcs \
+    maybe-all-readline \
+    maybe-all-release \
+    maybe-all-recode \
+    maybe-all-sed \
+    maybe-all-send-pr \
+    maybe-all-shellutils \
+    maybe-all-sid \
+    maybe-all-sim \
+    maybe-all-tar \
+    maybe-all-texinfo \
+    maybe-all-textutils \
+    maybe-all-time \
+    maybe-all-uudecode \
+    maybe-all-wdiff \
+    maybe-all-zip \
+    maybe-all-zlib \
+    maybe-all-gdb \
+    maybe-all-expect \
+    maybe-all-guile \
+    maybe-all-tk \
+    maybe-all-tix \
+    maybe-all-libtermcap \
+    maybe-all-utils
+.PHONY: all-target
+all-target:  \
+    maybe-all-target-libstdc++-v3 \
+    maybe-all-target-newlib \
+    maybe-all-target-libf2c \
+    maybe-all-target-libobjc \
+    maybe-all-target-libtermcap \
+    maybe-all-target-winsup \
+    maybe-all-target-libgloss \
+    maybe-all-target-libiberty \
+    maybe-all-target-gperf \
+    maybe-all-target-examples \
+    maybe-all-target-libffi \
+    maybe-all-target-libjava \
+    maybe-all-target-zlib \
+    maybe-all-target-boehm-gc \
+    maybe-all-target-qthreads \
+    maybe-all-target-rda
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -1197,9 +1358,92 @@ mail-report-with-warnings.log: warning.log
 # Installation targets.
 
 .PHONY: install uninstall
-install: installdirs @install_host_modules@ @install_target_modules@
-
-install-target: @install_target_modules@
+install: installdirs install-host install-target
+
+.PHONY: install-host
+install-host: maybe-install-gcc  \
+    maybe-install-ash \
+    maybe-install-autoconf \
+    maybe-install-automake \
+    maybe-install-bash \
+    maybe-install-bfd \
+    maybe-install-opcodes \
+    maybe-install-binutils \
+    maybe-install-bison \
+    maybe-install-byacc \
+    maybe-install-bzip2 \
+    maybe-install-dejagnu \
+    maybe-install-diff \
+    maybe-install-dosutils \
+    maybe-install-etc \
+    maybe-install-fastjar \
+    maybe-install-fileutils \
+    maybe-install-findutils \
+    maybe-install-find \
+    maybe-install-flex \
+    maybe-install-gas \
+    maybe-install-gawk \
+    maybe-install-gettext \
+    maybe-install-gnuserv \
+    maybe-install-gprof \
+    maybe-install-gzip \
+    maybe-install-hello \
+    maybe-install-indent \
+    maybe-install-intl \
+    maybe-install-tcl \
+    maybe-install-itcl \
+    maybe-install-ld \
+    maybe-install-libgui \
+    maybe-install-libiberty \
+    maybe-install-libtool \
+    maybe-install-m4 \
+    maybe-install-make \
+    maybe-install-mmalloc \
+    maybe-install-patch \
+    maybe-install-perl \
+    maybe-install-prms \
+    maybe-install-rcs \
+    maybe-install-readline \
+    maybe-install-release \
+    maybe-install-recode \
+    maybe-install-sed \
+    maybe-install-send-pr \
+    maybe-install-shellutils \
+    maybe-install-sid \
+    maybe-install-sim \
+    maybe-install-tar \
+    maybe-install-texinfo \
+    maybe-install-textutils \
+    maybe-install-time \
+    maybe-install-uudecode \
+    maybe-install-wdiff \
+    maybe-install-zip \
+    maybe-install-zlib \
+    maybe-install-gdb \
+    maybe-install-expect \
+    maybe-install-guile \
+    maybe-install-tk \
+    maybe-install-tix \
+    maybe-install-libtermcap \
+    maybe-install-utils
+.PHONY: install-target
+install-target:  \
+    maybe-install-target-libstdc++-v3 \
+    maybe-install-target-newlib \
+    maybe-install-target-libf2c \
+    maybe-install-target-libobjc \
+    maybe-install-target-libtermcap \
+    maybe-install-target-winsup \
+    maybe-install-target-libgloss \
+    maybe-install-target-libiberty \
+    maybe-install-target-gperf \
+    maybe-install-target-examples \
+    maybe-install-target-libffi \
+    maybe-install-target-libjava \
+    maybe-install-target-zlib \
+    maybe-install-target-boehm-gc \
+    maybe-install-target-qthreads \
+    maybe-install-target-rda
 
 uninstall:
        @echo "the uninstall target is not supported in this tree"
@@ -1219,7 +1463,7 @@ install.all: install-no-fixedincludes
 # the fixed header files.
 .PHONY: install-no-fixedincludes
 install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \
-       @install_target_modules@ gcc-no-fixedincludes
+       install-target gcc-no-fixedincludes
 
 ### other supporting targets
 
index 2028e94..419bf42 100644 (file)
@@ -554,8 +554,16 @@ EXTRA_GCC_FLAGS = \
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
 
-configure-host: @configure_host_modules@
-configure-target: @configure_target_modules@
+.PHONY: configure-host
+configure-host: maybe-configure-gcc [+
+  FOR host_modules +] \
+    maybe-configure-[+module+][+
+  ENDFOR host_modules +]
+.PHONY: configure-target
+configure-target: [+
+  FOR target_modules +] \
+    maybe-configure-target-[+module+][+
+  ENDFOR target_modules +]
 
 # This is a list of the targets for which we can do a clean-{target}.
 CLEAN_MODULES =[+
@@ -578,14 +586,19 @@ CLEAN_X11_MODULES = [+ FOR host_modules +][+ IF with_x +]\
        clean-[+module+] [+ ENDIF with_x +][+ ENDFOR host_modules +]
 
 # The target built for a native build.
-# This list only includes modules actually being configured and built.
 .PHONY: all.normal
-all.normal: @all_build_modules@ \
-       @all_host_modules@ \
-       @all_target_modules@
-
-all-host: @all_host_modules@
-all-target: @all_target_modules@
+all.normal: @all_build_modules@ all-host all-target
+
+.PHONY: all-host
+all-host: maybe-all-gcc [+
+  FOR host_modules +] \
+    maybe-all-[+module+][+
+  ENDFOR host_modules +]
+.PHONY: all-target
+all-target: [+
+  FOR target_modules +] \
+    maybe-all-target-[+module+][+
+  ENDFOR target_modules +]
 
 # Do a target for all the subdirectories.  A ``make do-X'' will do a
 # ``make X'' in all subdirectories (because, in general, there is a
@@ -757,9 +770,18 @@ mail-report-with-warnings.log: warning.log
 # Installation targets.
 
 .PHONY: install uninstall
-install: installdirs @install_host_modules@ @install_target_modules@
-
-install-target: @install_target_modules@
+install: installdirs install-host install-target
+
+.PHONY: install-host
+install-host: maybe-install-gcc [+
+  FOR host_modules +] \
+    maybe-install-[+module+][+
+  ENDFOR host_modules +]
+.PHONY: install-target
+install-target: [+
+  FOR target_modules +] \
+    maybe-install-target-[+module+][+
+  ENDFOR target_modules +]
 
 uninstall:
        @echo "the uninstall target is not supported in this tree"
@@ -779,7 +801,7 @@ install.all: install-no-fixedincludes
 # the fixed header files.
 .PHONY: install-no-fixedincludes
 install-no-fixedincludes: installdirs @install_host_modules_nogcc@ \
-       @install_target_modules@ gcc-no-fixedincludes
+       install-target gcc-no-fixedincludes
 
 ### other supporting targets
 
index 091f6fd..c34635d 100644 (file)
@@ -1,3 +1,9 @@
+2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config/acx.m4: Introduce _GCC_TOPLEV_NONCANONICAL_BUILD,
+       _GCC_TOPLEV_NONCANOICAL_HOST, _GCC_TOPLEV_NONCANONICAL_TARGET,
+       GCC_TOPLEV_SUBDIRS.
+
 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * mh-dgux: Delete.
index 4e16bcd..ea5cb07 100644 (file)
@@ -1,6 +1,67 @@
 # Autoconf M4 include file defining utility macros for complex Canadian
 # cross builds.
 
+dnl ####
+dnl # _GCC_TOPLEV_NONCANONICAL_BUILD
+dnl # $build_alias or canonical $build if blank.
+dnl # Used when we would use $build_alias, but empty is not OK.
+AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_BUILD],
+[AC_REQUIRE([AC_CANONICAL_BUILD]) []dnl
+case ${build_alias} in
+  "") build_noncanonical=${build} ;;
+  *) build_noncanonical=${build_alias} ;;
+esac
+]) []dnl # _GCC_TOPLEV_NONCANONICAL_BUILD
+
+dnl ####
+dnl # _GCC_TOPLEV_NONCANONICAL_HOST
+dnl # $host_alias, or $build_noncanonical if blank.
+dnl # Used when we would use $host_alias, but empty is not OK.
+AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_HOST],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
+case ${host_alias} in
+  "") host_noncanonical=${build_noncanonical} ;;
+  *) host_noncanonical=${host_alias} ;;
+esac
+]) []dnl # _GCC_TOPLEV_NONCANONICAL_HOST
+
+dnl ####
+dnl # _GCC_TOPLEV_NONCANONICAL_TARGET
+dnl # $target_alias or $host_noncanonical if blank.
+dnl # Used when we would use $target_alias, but empty is not OK.
+AC_DEFUN([_GCC_TOPLEV_NONCANONICAL_TARGET],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_HOST]) []dnl
+case ${target_alias} in
+  "") target_noncanonical=${host_noncanonical} ;;
+  *) target_noncanonical=${target_alias} ;;
+esac
+]) []dnl # _GCC_TOPLEV_NONCANONICAL_TARGET
+
+dnl ####
+dnl # GCC_TOPLEV_SUBDIRS
+dnl # GCC & friends build 'build', 'host', and 'target' tools.  These must
+dnl # be separated into three well-known subdirectories of the build directory:
+dnl # build_subdir, host_subdir, and target_subdir.  The values are determined
+dnl # here so that they can (theoretically) be changed in the future.  They
+dnl # were previously reproduced across many different files.
+dnl #
+dnl # This logic really amounts to very little with autoconf 2.13; it will
+dnl # amount to a lot more with autoconf 2.5x.
+AC_DEFUN([GCC_TOPLEV_SUBDIRS],
+[AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_TARGET]) []dnl
+AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
+# Prefix 'build-' so this never conflicts with target_subdir.
+build_subdir="build-${build_noncanonical}"
+# Not really a subdirectory, but here for completeness.
+host_subdir=.
+# No prefix.
+target_subdir=${target_noncanonical}
+AC_SUBST([build_subdir]) []dnl
+AC_SUBST([host_subdir]) []dnl
+AC_SUBST([target_subdir]) []dnl
+]) []dnl # GCC_TOPLEV_SUBDIRS
+
+
 ####
 # _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM 
 # or AC_INIT.
index 5d4aab1..ed7c7ac 100755 (executable)
--- a/configure
+++ b/configure
@@ -661,6 +661,11 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 # Autoconf M4 include file defining utility macros for complex Canadian
 # cross builds.
 
+
 ####
 # _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM 
 # or AC_INIT.
@@ -824,6 +829,16 @@ target_tools="target-examples target-groff target-gperf target-rda"
 configdirs=`echo ${host_libs} ${host_tools}`
 target_configdirs=`echo ${target_libs} ${target_tools}`
 
+# Only make build modules if build != host.
+# This should be done more generally, but at the moment it doesn't matter.
+if test ${host_alias} != ${build_alias} ; then
+  # This is the only build module.
+  build_modules=libiberty
+else
+  build_modules=
+fi
+
+
 ################################################################################
 
 srcname="gnu development package"
@@ -839,9 +854,29 @@ else
   is_cross_compiler=yes
 fi     
 
-# We always want to use the same name for this directory, so that dejagnu
-# can reliably find it.
-target_subdir=${target_alias}
+# Find the build and target subdirs.
+ case ${build_alias} in
+  "") build_noncanonical=${build} ;;
+  *) build_noncanonical=${build_alias} ;;
+esac
+
+ case ${host_alias} in
+  "") host_noncanonical=${build_noncanonical} ;;
+  *) host_noncanonical=${host_alias} ;;
+esac
+
+ case ${target_alias} in
+  "") target_noncanonical=${host_noncanonical} ;;
+  *) target_noncanonical=${target_alias} ;;
+esac
+
+  # Prefix 'build-' so this never conflicts with target_subdir.
+build_subdir="build-${build_noncanonical}"
+# Not really a subdirectory, but here for completeness.
+host_subdir=.
+# No prefix.
+target_subdir=${target_noncanonical}
+   
 
 if test ! -d ${target_subdir} ; then
   if mkdir ${target_subdir} ; then true
@@ -851,9 +886,6 @@ if test ! -d ${target_subdir} ; then
   fi
 fi
 
-build_prefix=build-
-build_subdir=${build_prefix}${build_alias}
-
 if test x"${build_alias}" != x"${host}" ; then
   if test ! -d ${build_subdir} ; then
     if mkdir ${build_subdir} ; then true
@@ -2264,59 +2296,27 @@ esac
 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
 
 # This is the final value for target_configdirs.  configdirs already
-# has its final value.  It's time to create some lists of valid targets.
-
-# While at that, we remove Makefiles if we were started for recursive
-# configuration, such that the top-level Makefile reconfigures them,
-# like we used to do when configure itself was recursive.
+# has its final value, as does build_modules.  It's time to create some 
+# lists of valid targets.
 
 all_build_modules=
 configure_build_modules=
-# Only make build modules if build != host.
-# This should be done more generally, but at the moment it doesn't matter.
-if test ${host_alias} != ${build_alias} ; then
-  for module in libiberty ; do
-    all_build_modules=all-build-${module}
-    configure_build_modules=configure-build-${module}
-    if test -z "${no_recursion}" \
-       && test -f ${build_subdir}/${module}/Makefile; then
-      echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
-      rm -f ${build_subdir}/${module}/Makefile
-    fi
-  done
-fi
+for module in ${build_modules} ; do
+  all_build_modules=all-build-${module}
+  configure_build_modules=configure-build-${module}
+done
 
-all_host_modules=
 check_host_modules=
 install_host_modules=
-configure_host_modules=
 for module in ${configdirs} ; do
-  all_host_modules="${all_host_modules} all-${module}"
   check_host_modules="${check_host_modules} check-${module}"
   install_host_modules="${install_host_modules} install-${module}"
-  configure_host_modules="${configure_host_modules} configure-${module}"
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
-  fi
 done
 install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
 
-all_target_modules=
 check_target_modules=
-install_target_modules=
-configure_target_modules=
 for module in ${target_configdirs} ; do
-  all_target_modules="${all_target_modules} all-target-${module}"
   check_target_modules="${check_target_modules} check-target-${module}"
-  install_target_modules="${install_target_modules} install-target-${module}"
-  configure_target_modules="${configure_target_modules} configure-target-${module}"
-  if test -z "${no_recursion}" \
-     && test -f ${target_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${target_subdir}/${module}/Makefile
-  fi
 done
 
 # Determine whether gdb needs tk/tcl or not.
@@ -2346,13 +2346,49 @@ case "$enable_gdbtk" in
 esac
 
 # Create the 'maybe dependencies'.  This uses a temporary file.
+
+# While at that, we remove Makefiles if we were started for recursive
+# configuration, so that the top-level Makefile reconfigures them,
+# like we used to do when configure itself was recursive.
 rm -f maybedep.tmp
 echo '# maybedep.tmp' > maybedep.tmp
-for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
-       ${install_host_modules} ${install_target_modules} \
-       ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
-       ; do
-  echo "maybe-${item}: ${item}" >> maybedep.tmp
+
+# Make-targets which may need maybe dependencies.
+mts="configure all install"
+
+# Loop over modules and make-targets.
+for module in ${build_modules} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${build_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${build_subdir}/${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    case ${mt} in
+      install) ;; # No installing build modules.
+      *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;;
+    esac
+  done
+done
+for module in ${configdirs} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${module}/Makefile; then
+    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
+    rm -f ${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp
+  done
+done
+for module in ${target_configdirs} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${target_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${target_subdir}/${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp
+  done
 done
 maybe_dependencies=maybedep.tmp
 
@@ -2642,25 +2678,17 @@ ospace_frag=${srcdir}/${ospace_frag}
 
 
 
-
 # Host module lists & subconfigure args.
 
 
 
 
 
-
-
-
 # Target module lists & subconfigure args.
 
 
 
 
-
-
-
-
 # Build tools.
 
 
@@ -2679,7 +2707,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
   # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2683: checking for $ac_word" >&5
+echo "configure:2711: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2712,7 +2740,7 @@ if test -z "$ac_cv_prog_AR" ; then
     # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2716: checking for $ac_word" >&5
+echo "configure:2744: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2751,7 +2779,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2755: checking for $ac_word" >&5
+echo "configure:2783: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2784,7 +2812,7 @@ if test -z "$ac_cv_prog_AS" ; then
     # Extract the first word of "as", so it can be a program name with args.
 set dummy as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2788: checking for $ac_word" >&5
+echo "configure:2816: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2823,7 +2851,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2827: checking for $ac_word" >&5
+echo "configure:2855: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2856,7 +2884,7 @@ if test -z "$ac_cv_prog_DLLTOOL" ; then
     # Extract the first word of "dlltool", so it can be a program name with args.
 set dummy dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2860: checking for $ac_word" >&5
+echo "configure:2888: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2895,7 +2923,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2899: checking for $ac_word" >&5
+echo "configure:2927: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2928,7 +2956,7 @@ if test -z "$ac_cv_prog_LD" ; then
     # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2932: checking for $ac_word" >&5
+echo "configure:2960: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2967,7 +2995,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2971: checking for $ac_word" >&5
+echo "configure:2999: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3000,7 +3028,7 @@ if test -z "$ac_cv_prog_NM" ; then
     # Extract the first word of "nm", so it can be a program name with args.
 set dummy nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3004: checking for $ac_word" >&5
+echo "configure:3032: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3039,7 +3067,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3043: checking for $ac_word" >&5
+echo "configure:3071: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3072,7 +3100,7 @@ if test -z "$ac_cv_prog_RANLIB" ; then
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3076: checking for $ac_word" >&5
+echo "configure:3104: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3111,7 +3139,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3115: checking for $ac_word" >&5
+echo "configure:3143: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3144,7 +3172,7 @@ if test -z "$ac_cv_prog_WINDRES" ; then
     # Extract the first word of "windres", so it can be a program name with args.
 set dummy windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3148: checking for $ac_word" >&5
+echo "configure:3176: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3183,7 +3211,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3187: checking for $ac_word" >&5
+echo "configure:3215: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3216,7 +3244,7 @@ if test -z "$ac_cv_prog_OBJCOPY" ; then
     # Extract the first word of "objcopy", so it can be a program name with args.
 set dummy objcopy; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3220: checking for $ac_word" >&5
+echo "configure:3248: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3255,7 +3283,7 @@ fi
   # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}objdump; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3259: checking for $ac_word" >&5
+echo "configure:3287: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3288,7 +3316,7 @@ if test -z "$ac_cv_prog_OBJDUMP" ; then
     # Extract the first word of "objdump", so it can be a program name with args.
 set dummy objdump; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3292: checking for $ac_word" >&5
+echo "configure:3320: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3336,7 +3364,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3340: checking for $ac_word" >&5
+echo "configure:3368: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3369,7 +3397,7 @@ if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
     # Extract the first word of "ar", so it can be a program name with args.
 set dummy ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3373: checking for $ac_word" >&5
+echo "configure:3401: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3408,7 +3436,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3412: checking for $ac_word" >&5
+echo "configure:3440: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3441,7 +3469,7 @@ if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
     # Extract the first word of "as", so it can be a program name with args.
 set dummy as; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3445: checking for $ac_word" >&5
+echo "configure:3473: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3480,7 +3508,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3484: checking for $ac_word" >&5
+echo "configure:3512: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3513,7 +3541,7 @@ if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
     # Extract the first word of "dlltool", so it can be a program name with args.
 set dummy dlltool; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3517: checking for $ac_word" >&5
+echo "configure:3545: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3552,7 +3580,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3556: checking for $ac_word" >&5
+echo "configure:3584: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3585,7 +3613,7 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
     # Extract the first word of "ld", so it can be a program name with args.
 set dummy ld; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3589: checking for $ac_word" >&5
+echo "configure:3617: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3624,7 +3652,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3628: checking for $ac_word" >&5
+echo "configure:3656: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3657,7 +3685,7 @@ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
     # Extract the first word of "nm", so it can be a program name with args.
 set dummy nm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3661: checking for $ac_word" >&5
+echo "configure:3689: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3696,7 +3724,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3700: checking for $ac_word" >&5
+echo "configure:3728: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3729,7 +3757,7 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
     # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3733: checking for $ac_word" >&5
+echo "configure:3761: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3768,7 +3796,7 @@ fi
   # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3772: checking for $ac_word" >&5
+echo "configure:3800: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3801,7 +3829,7 @@ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
     # Extract the first word of "windres", so it can be a program name with args.
 set dummy windres; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3805: checking for $ac_word" >&5
+echo "configure:3833: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3868,7 +3896,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
 NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:3872: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:3900: checking whether to enable maintainer-specific portions of Makefiles" >&5
 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -4049,6 +4077,9 @@ s%@build_cpu@%$build_cpu%g
 s%@build_vendor@%$build_vendor%g
 s%@build_os@%$build_os%g
 s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%$TOPLEVEL_CONFIGURE_ARGUMENTS%g
+s%@build_subdir@%$build_subdir%g
+s%@host_subdir@%$host_subdir%g
+s%@target_subdir@%$target_subdir%g
 /@maybe_dependencies@/r $maybe_dependencies
 s%@maybe_dependencies@%%g
 /@serialization_dependencies@/r $serialization_dependencies
@@ -4073,24 +4104,16 @@ s%@build_tooldir@%$build_tooldir%g
 s%@GDB_TK@%$GDB_TK%g
 s%@gxx_include_dir@%$gxx_include_dir%g
 s%@libstdcxx_incdir@%$libstdcxx_incdir%g
-s%@build_subdir@%$build_subdir%g
 s%@build_configargs@%$build_configargs%g
 s%@configure_build_modules@%$configure_build_modules%g
 s%@all_build_modules@%$all_build_modules%g
 s%@host_configargs@%$host_configargs%g
 s%@configdirs@%$configdirs%g
-s%@configure_host_modules@%$configure_host_modules%g
-s%@all_host_modules@%$all_host_modules%g
 s%@check_host_modules@%$check_host_modules%g
-s%@install_host_modules@%$install_host_modules%g
 s%@install_host_modules_nogcc@%$install_host_modules_nogcc%g
-s%@target_subdir@%$target_subdir%g
 s%@target_configargs@%$target_configargs%g
 s%@target_configdirs@%$target_configdirs%g
-s%@configure_target_modules@%$configure_target_modules%g
-s%@all_target_modules@%$all_target_modules%g
 s%@check_target_modules@%$check_target_modules%g
-s%@install_target_modules@%$install_target_modules%g
 s%@BISON@%$BISON%g
 s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
 s%@LEX@%$LEX%g
index 66bebe1..f6fd078 100644 (file)
@@ -164,6 +164,16 @@ target_tools="target-examples target-groff target-gperf target-rda"
 configdirs=`echo ${host_libs} ${host_tools}`
 target_configdirs=`echo ${target_libs} ${target_tools}`
 
+# Only make build modules if build != host.
+# This should be done more generally, but at the moment it doesn't matter.
+if test ${host_alias} != ${build_alias} ; then
+  # This is the only build module.
+  build_modules=libiberty
+else
+  build_modules=
+fi
+
+
 ################################################################################
 
 srcname="gnu development package"
@@ -179,9 +189,8 @@ else
   is_cross_compiler=yes
 fi     
 
-# We always want to use the same name for this directory, so that dejagnu
-# can reliably find it.
-target_subdir=${target_alias}
+# Find the build and target subdirs.
+GCC_TOPLEV_SUBDIRS
 
 if test ! -d ${target_subdir} ; then
   if mkdir ${target_subdir} ; then true
@@ -191,9 +200,6 @@ if test ! -d ${target_subdir} ; then
   fi
 fi
 
-build_prefix=build-
-build_subdir=${build_prefix}${build_alias}
-
 if test x"${build_alias}" != x"${host}" ; then
   if test ! -d ${build_subdir} ; then
     if mkdir ${build_subdir} ; then true
@@ -1604,59 +1610,27 @@ esac
 target_configdirs=`echo "${target_configdirs}" | sed -e 's/target-//g'`
 
 # This is the final value for target_configdirs.  configdirs already
-# has its final value.  It's time to create some lists of valid targets.
-
-# While at that, we remove Makefiles if we were started for recursive
-# configuration, such that the top-level Makefile reconfigures them,
-# like we used to do when configure itself was recursive.
+# has its final value, as does build_modules.  It's time to create some 
+# lists of valid targets.
 
 all_build_modules=
 configure_build_modules=
-# Only make build modules if build != host.
-# This should be done more generally, but at the moment it doesn't matter.
-if test ${host_alias} != ${build_alias} ; then
-  for module in libiberty ; do
-    all_build_modules=all-build-${module}
-    configure_build_modules=configure-build-${module}
-    if test -z "${no_recursion}" \
-       && test -f ${build_subdir}/${module}/Makefile; then
-      echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
-      rm -f ${build_subdir}/${module}/Makefile
-    fi
-  done
-fi
+for module in ${build_modules} ; do
+  all_build_modules=all-build-${module}
+  configure_build_modules=configure-build-${module}
+done
 
-all_host_modules=
 check_host_modules=
 install_host_modules=
-configure_host_modules=
 for module in ${configdirs} ; do
-  all_host_modules="${all_host_modules} all-${module}"
   check_host_modules="${check_host_modules} check-${module}"
   install_host_modules="${install_host_modules} install-${module}"
-  configure_host_modules="${configure_host_modules} configure-${module}"
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
-  fi
 done
 install_host_modules_nogcc=`echo "${install_host_modules}" | sed -e 's/install-gcc//g'`
 
-all_target_modules=
 check_target_modules=
-install_target_modules=
-configure_target_modules=
 for module in ${target_configdirs} ; do
-  all_target_modules="${all_target_modules} all-target-${module}"
   check_target_modules="${check_target_modules} check-target-${module}"
-  install_target_modules="${install_target_modules} install-target-${module}"
-  configure_target_modules="${configure_target_modules} configure-target-${module}"
-  if test -z "${no_recursion}" \
-     && test -f ${target_subdir}/${module}/Makefile; then
-    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
-    rm -f ${target_subdir}/${module}/Makefile
-  fi
 done
 
 # Determine whether gdb needs tk/tcl or not.
@@ -1686,13 +1660,49 @@ case "$enable_gdbtk" in
 esac
 
 # Create the 'maybe dependencies'.  This uses a temporary file.
+
+# While at that, we remove Makefiles if we were started for recursive
+# configuration, so that the top-level Makefile reconfigures them,
+# like we used to do when configure itself was recursive.
 rm -f maybedep.tmp
 echo '# maybedep.tmp' > maybedep.tmp
-for item in ${all_build_modules} ${all_host_modules} ${all_target_modules} \
-       ${install_host_modules} ${install_target_modules} \
-       ${configure_build_modules} ${configure_host_modules} ${configure_target_modules} \
-       ; do
-  echo "maybe-${item}: ${item}" >> maybedep.tmp
+
+# Make-targets which may need maybe dependencies.
+mts="configure all install"
+
+# Loop over modules and make-targets.
+for module in ${build_modules} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${build_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${build_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${build_subdir}/${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    case ${mt} in
+      install) ;; # No installing build modules.
+      *) echo "maybe-${mt}-build-${module}: ${mt}-build-${module}" >> maybedep.tmp ;;
+    esac
+  done
+done
+for module in ${configdirs} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${module}/Makefile; then
+    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
+    rm -f ${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    echo "maybe-${mt}-${module}: ${mt}-${module}" >> maybedep.tmp
+  done
+done
+for module in ${target_configdirs} ; do
+  if test -z "${no_recursion}" \
+     && test -f ${target_subdir}/${module}/Makefile; then
+    echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure"
+    rm -f ${target_subdir}/${module}/Makefile
+  fi
+  for mt in ${mts} ; do
+    echo "maybe-${mt}-target-${module}: ${mt}-target-${module}" >> maybedep.tmp
+  done
 done
 maybe_dependencies=maybedep.tmp
 AC_SUBST_FILE(maybe_dependencies)
@@ -1977,7 +1987,6 @@ AC_SUBST(gxx_include_dir)
 AC_SUBST(libstdcxx_incdir)
 
 # Build module lists & subconfigure args.
-AC_SUBST(build_subdir)
 AC_SUBST(build_configargs)
 AC_SUBST(configure_build_modules)
 AC_SUBST(all_build_modules)
@@ -1985,20 +1994,13 @@ AC_SUBST(all_build_modules)
 # Host module lists & subconfigure args.
 AC_SUBST(host_configargs)
 AC_SUBST(configdirs)
-AC_SUBST(configure_host_modules)
-AC_SUBST(all_host_modules)
 AC_SUBST(check_host_modules)
-AC_SUBST(install_host_modules)
 AC_SUBST(install_host_modules_nogcc)
 
 # Target module lists & subconfigure args.
-AC_SUBST(target_subdir)
 AC_SUBST(target_configargs)
 AC_SUBST(target_configdirs)
-AC_SUBST(configure_target_modules)
-AC_SUBST(all_target_modules)
 AC_SUBST(check_target_modules)
-AC_SUBST(install_target_modules)
 
 # Build tools.
 AC_SUBST(BISON)