+
+# 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.
+
+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
+
+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.
+# Use 'maybe' since enable_gdbtk might be true even if tk isn't available
+# and in that case we want gdb to be built without tk. Ugh!
+# In fact I believe gdb is the *only* package directly dependent on tk,
+# so we should be able to put the 'maybe's in unconditionally and
+# leave out the maybe dependencies when enable_gdbtk is false. I'm not
+# 100% sure that that's safe though.
+
+gdb_tk="maybe-all-tcl maybe-all-tk maybe-all-itcl maybe-all-tix maybe-all-libgui"
+case "$enable_gdbtk" in
+ no)
+ GDB_TK="" ;;
+ yes)
+ GDB_TK="${gdb_tk}" ;;
+ *)
+ # Only add the dependency on gdbtk when GDBtk is part of the gdb
+ # distro. Eventually someone will fix this and move Insight, nee
+ # gdbtk to a separate directory.
+ if test -d ${srcdir}/gdb/gdbtk ; then
+ GDB_TK="${gdb_tk}"
+ else
+ GDB_TK=""
+ fi
+ ;;
+esac
+
+# Create the 'maybe dependencies'. This uses a temporary file.
+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
+done
+maybe_dependencies=maybedep.tmp
+AC_SUBST_FILE(maybe_dependencies)
+
+# Create the serialization dependencies. This uses a temporary file.
+
+AC_ARG_ENABLE([serial-configure],
+[ --disable-serial-[{host,target,build}-]configure
+ Don't force sequential configuration of
+ sub-packages for the host, target or build
+ machine, or of any sub-packages at all])
+
+# These force 'configure's to be done one at a time, to avoid problems
+# with contention over a shared config.cache.
+rm -f serdep.tmp
+echo '# serdep.tmp' > serdep.tmp
+olditem=
+test "x${enable_serial_configure}" = xno ||
+test "x${enable_serial_build_configure}" = xno ||
+for item in ${build_configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+olditem=
+test "x${enable_serial_configure}" = xno ||
+test "x${enable_serial_host_configure}" = xno ||
+for item in ${configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+olditem=
+test "x${enable_serial_configure}" = xno ||
+test "x${enable_serial_target_configure}" = xno ||
+for item in ${target_configdirs} ; do
+ case ${olditem} in
+ "") ;;
+ *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
+ esac
+ olditem=${item}
+done
+serialization_dependencies=serdep.tmp
+AC_SUBST_FILE(serialization_dependencies)
+
+# Base args. Strip norecursion, cache-file, srcdir, host, build,
+# target and nonopt. These are the ones we might not want to pass
+# down to subconfigures.
+baseargs=`echo " ${ac_configure_args} " | \
+ sed -e 's/ --no[[^ ]]* / /' \
+ -e 's/ --c[[a-z-]]*[[= ]][[^ ]]* / /' \
+ -e 's/ --sr[[a-z-]]*[[= ]][[^ ]]* / /' \
+ -e 's/ --ho[[a-z-]]*[[= ]][[^ ]]* / /' \
+ -e 's/ --bu[[a-z-]]*[[= ]][[^ ]]* / /' \
+ -e 's/ --t[[a-z-]]*[[= ]][[^ ]]* / /' \
+ -e 's/ -cache-file[[= ]][[^ ]]* / /' \
+ -e 's/ -srcdir[[= ]][[^ ]]* / /' \
+ -e 's/ -host[[= ]][[^ ]]* / /' \
+ -e 's/ -build[[= ]][[^ ]]* / /' \
+ -e 's/ -target[[= ]][[^ ]]* / /' \
+ -e 's/ [[^ -][^ ]*] / /' \
+ -e 's/^ *//;s/ *$//'`
+
+# For the build-side libraries, we just need to pretend we're native,
+# and not use the same cache file. Multilibs are neither needed nor
+# desired.
+build_configargs="--cache-file=../config.cache --build=${build_alias} --host=${build_alias} ${baseargs}"
+
+# For host modules, accept cache file option, or specification as blank.
+case "${cache_file}" in
+"") # empty
+ cache_file_option="" ;;
+/* | [[A-Za-z]]:[[\\/]]* ) # absolute path
+ cache_file_option="--cache-file=${cache_file}" ;;
+*) # relative path
+ cache_file_option="--cache-file=../${cache_file}" ;;
+esac
+
+host_configargs="${cache_file_option} --build=${build_alias} --host=${host_alias} --target=${target_alias} ${extra_host_args} ${baseargs}"
+
+target_configargs=${baseargs}