configure, d: Add support for bootstrapping the D front-end

Message ID 20211009133225.871702-1-ibuclaw@gdcproject.org
State New
Headers
Series configure, d: Add support for bootstrapping the D front-end |

Commit Message

Iain Buclaw Oct. 9, 2021, 1:32 p.m. UTC
  Hi,

The implementation of the D front-end in GCC is based on the original
C++ version of the D programming language compiler, which was ported to
D itself in version 2.069.0 (released in 2015).  To keep it somewhat
up-to-date, I have been backporting fixes from upstream back into C++,
but this stopped at version 2.076.1 (released in 2017), and since then
I've only been keeping the front-end only updated enough to still be
able to build the latest version of the D language (now 2.098.0).

Reasons for putting off switching to the D implementation immediately
after GCC 9 has been a mixture of the front-end not being ready to use,
and current portability status of the D core runtime library.

It has come to the point now that I'm happy enough with the process to
switch out the C++ sources in gcc/d/dmd with D sources.

Before that, there's only this patch that makes the required changes to
GCC itself in order to have a D front-end written in D itself.

The rest of the series only changes code in the D language front-end or
libphobos standard library, so I've left that out for the time being
until I'm ready to commit it.

The complete set of changes are in the ibuclaw/gdc branch under
users/ibuclaw.  It has been well-tested on x86_64-linux-gnu for about 3
years now, and I've also been testing the self-hosted compiler on
powerpc64le-linux-gnu as well with no regressions from the D language
testsuite run.

Does anything stand out as being problematic in this patch, or may need
splitting out first?  Or would it be OK for trunk?

Thanks,
Iain.

---
ChangeLog:

	* Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
	libatomic.
	* Makefile.in: Regenerate.
	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
	(STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
	target-libphobos-bootstrap.
	(STAGE2_CONFIGURE_FLAGS): Likewise.
	* configure: Regenerate.
	* configure.ac: Add support for bootstrapping D front-end.

config/ChangeLog:

	* acx.m4 (ACX_PROG_GDC): New m4 function.

gcc/ChangeLog:

	* Makefile.in (GDC): New variable.
	(GDCFLAGS): New variable.
	* configure: Regenerate.
	* configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.

gcc/po/ChangeLog:

	* EXCLUDES: Remove d/dmd sources from list.
---
 Makefile.def     |    8 +-
 Makefile.in      | 3968 ++++++++++++++++++++++++++++++++++++++++++----
 Makefile.tpl     |    9 +-
 config/acx.m4    |   12 +
 configure        |  133 +-
 configure.ac     |   31 +-
 gcc/Makefile.in  |    4 +
 gcc/configure    |  107 +-
 gcc/configure.ac |    2 +
 gcc/po/EXCLUDES  |   43 -
 10 files changed, 3913 insertions(+), 404 deletions(-)
  

Comments

Li, Pan2 via Gcc-patches Oct. 13, 2021, 4:17 p.m. UTC | #1
Hi,

It would be good if can get some traction on this.  There's a reasonable amount of anticipation to get the D front-end up-to-date with the latest language version, rather than be a number of years behind.

Regards,
Iain.

> On 09/10/2021 15:32 Iain Buclaw <ibuclaw@gdcproject.org> wrote:
> 
>  
> Hi,
> 
> The implementation of the D front-end in GCC is based on the original
> C++ version of the D programming language compiler, which was ported to
> D itself in version 2.069.0 (released in 2015).  To keep it somewhat
> up-to-date, I have been backporting fixes from upstream back into C++,
> but this stopped at version 2.076.1 (released in 2017), and since then
> I've only been keeping the front-end only updated enough to still be
> able to build the latest version of the D language (now 2.098.0).
> 
> Reasons for putting off switching to the D implementation immediately
> after GCC 9 has been a mixture of the front-end not being ready to use,
> and current portability status of the D core runtime library.
> 
> It has come to the point now that I'm happy enough with the process to
> switch out the C++ sources in gcc/d/dmd with D sources.
> 
> Before that, there's only this patch that makes the required changes to
> GCC itself in order to have a D front-end written in D itself.
> 
> The rest of the series only changes code in the D language front-end or
> libphobos standard library, so I've left that out for the time being
> until I'm ready to commit it.
> 
> The complete set of changes are in the ibuclaw/gdc branch under
> users/ibuclaw.  It has been well-tested on x86_64-linux-gnu for about 3
> years now, and I've also been testing the self-hosted compiler on
> powerpc64le-linux-gnu as well with no regressions from the D language
> testsuite run.
> 
> Does anything stand out as being problematic in this patch, or may need
> splitting out first?  Or would it be OK for trunk?
> 
> Thanks,
> Iain.
> 
> ---
> ChangeLog:
> 
> 	* Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
> 	libatomic.
> 	* Makefile.in: Regenerate.
> 	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
> 	(STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
> 	target-libphobos-bootstrap.
> 	(STAGE2_CONFIGURE_FLAGS): Likewise.
> 	* configure: Regenerate.
> 	* configure.ac: Add support for bootstrapping D front-end.
> 
> config/ChangeLog:
> 
> 	* acx.m4 (ACX_PROG_GDC): New m4 function.
> 
> gcc/ChangeLog:
> 
> 	* Makefile.in (GDC): New variable.
> 	(GDCFLAGS): New variable.
> 	* configure: Regenerate.
> 	* configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.
> 
> gcc/po/ChangeLog:
> 
> 	* EXCLUDES: Remove d/dmd sources from list.
> ---
>  Makefile.def     |    8 +-
>  Makefile.in      | 3968 ++++++++++++++++++++++++++++++++++++++++++----
>  Makefile.tpl     |    9 +-
>  config/acx.m4    |   12 +
>  configure        |  133 +-
>  configure.ac     |   31 +-
>  gcc/Makefile.in  |    4 +
>  gcc/configure    |  107 +-
>  gcc/configure.ac |    2 +
>  gcc/po/EXCLUDES  |   43 -
>  10 files changed, 3913 insertions(+), 404 deletions(-)
> 
> diff --git a/Makefile.def b/Makefile.def
> index e015a7aaeb7..a76798068d8 100644
> --- a/Makefile.def
> +++ b/Makefile.def
> @@ -161,12 +161,12 @@ target_modules = { module= liboffloadmic;
>  target_modules = { module= libssp; lib_path=.libs; };
>  target_modules = { module= newlib; };
>  target_modules = { module= libgcc; bootstrap=true; no_check=true; };
> -target_modules = { module= libbacktrace; };
> +target_modules = { module= libbacktrace; bootstrap=true; };
>  target_modules = { module= libquadmath; };
>  target_modules = { module= libgfortran; };
>  target_modules = { module= libobjc; };
>  target_modules = { module= libgo; };
> -target_modules = { module= libphobos;
> +target_modules = { module= libphobos; bootstrap=true;
>  		   lib_path=src/.libs; };
>  target_modules = { module= libtermcap; no_check=true;
>                     missing=mostlyclean;
> @@ -176,12 +176,12 @@ target_modules = { module= libtermcap; no_check=true;
>  target_modules = { module= winsup; };
>  target_modules = { module= libgloss; no_check=true; };
>  target_modules = { module= libffi; no_install=true; };
> -target_modules = { module= zlib; };
> +target_modules = { module= zlib; bootstrap=true; };
>  target_modules = { module= rda; };
>  target_modules = { module= libada; };
>  target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
>  target_modules = { module= libitm; lib_path=.libs; };
> -target_modules = { module= libatomic; lib_path=.libs; };
> +target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
>  
>  // These are (some of) the make targets to be done in each subdirectory.
>  // Not all; these are the ones which don't have special options.
> diff --git a/Makefile.in b/Makefile.in
> index 9219ebfb02b..2616d8e0e4c 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -269,11 +269,11 @@ POSTSTAGE1_HOST_EXPORTS = \
>  	$(POSTSTAGE1_CXX_EXPORT) \
>  	$(LTO_EXPORTS) \
>  	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
> -	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
> +	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
>  	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
>  	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
>  	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
> -	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
> +	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
>  	export GDC; \
>  	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
>  	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
> @@ -558,6 +558,11 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
>  	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
>  	  --disable-build-format-warnings
>  
> +@if target-libphobos-bootstrap
> +STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
> +STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
> +@endif target-libphobos-bootstrap
> +
>  # When using the slow stage1 compiler disable IL verification and forcefully
>  # enable it when using the stage2 compiler instead.  As we later compare
>  # stage2 and stage3 we are merely avoid doing redundant work, plus we apply
> @@ -1238,24 +1243,32 @@ all-target: maybe-all-target-newlib
>  @if target-libgcc-no-bootstrap
>  all-target: maybe-all-target-libgcc
>  @endif target-libgcc-no-bootstrap
> +@if target-libbacktrace-no-bootstrap
>  all-target: maybe-all-target-libbacktrace
> +@endif target-libbacktrace-no-bootstrap
>  all-target: maybe-all-target-libquadmath
>  all-target: maybe-all-target-libgfortran
>  all-target: maybe-all-target-libobjc
>  all-target: maybe-all-target-libgo
> +@if target-libphobos-no-bootstrap
>  all-target: maybe-all-target-libphobos
> +@endif target-libphobos-no-bootstrap
>  all-target: maybe-all-target-libtermcap
>  all-target: maybe-all-target-winsup
>  all-target: maybe-all-target-libgloss
>  all-target: maybe-all-target-libffi
> +@if target-zlib-no-bootstrap
>  all-target: maybe-all-target-zlib
> +@endif target-zlib-no-bootstrap
>  all-target: maybe-all-target-rda
>  all-target: maybe-all-target-libada
>  @if target-libgomp-no-bootstrap
>  all-target: maybe-all-target-libgomp
>  @endif target-libgomp-no-bootstrap
>  all-target: maybe-all-target-libitm
> +@if target-libatomic-no-bootstrap
>  all-target: maybe-all-target-libatomic
> +@endif target-libatomic-no-bootstrap
>  
>  # 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
> @@ -48465,7 +48478,6 @@ configure-target-libbacktrace: stage_current
>  @if target-libbacktrace
>  maybe-configure-target-libbacktrace: configure-target-libbacktrace
>  configure-target-libbacktrace: 
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	echo "Checking multilib configuration for libbacktrace..."; \
> @@ -48503,6 +48515,412 @@ configure-target-libbacktrace:
>  
>  
>  
> +.PHONY: configure-stage1-target-libbacktrace maybe-configure-stage1-target-libbacktrace
> +maybe-configure-stage1-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stage1-target-libbacktrace: configure-stage1-target-libbacktrace
> +configure-stage1-target-libbacktrace:
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 1 in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	   \
> +	  $(STAGE1_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stage2-target-libbacktrace maybe-configure-stage2-target-libbacktrace
> +maybe-configure-stage2-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stage2-target-libbacktrace: configure-stage2-target-libbacktrace
> +configure-stage2-target-libbacktrace:
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 2 in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE2_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stage3-target-libbacktrace maybe-configure-stage3-target-libbacktrace
> +maybe-configure-stage3-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stage3-target-libbacktrace: configure-stage3-target-libbacktrace
> +configure-stage3-target-libbacktrace:
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 3 in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE3_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stage4-target-libbacktrace maybe-configure-stage4-target-libbacktrace
> +maybe-configure-stage4-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stage4-target-libbacktrace: configure-stage4-target-libbacktrace
> +configure-stage4-target-libbacktrace:
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 4 in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE4_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stageprofile-target-libbacktrace maybe-configure-stageprofile-target-libbacktrace
> +maybe-configure-stageprofile-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stageprofile-target-libbacktrace: configure-stageprofile-target-libbacktrace
> +configure-stageprofile-target-libbacktrace:
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage profile in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEprofile_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stagetrain-target-libbacktrace maybe-configure-stagetrain-target-libbacktrace
> +maybe-configure-stagetrain-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stagetrain-target-libbacktrace: configure-stagetrain-target-libbacktrace
> +configure-stagetrain-target-libbacktrace:
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage train in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEtrain_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stagefeedback-target-libbacktrace maybe-configure-stagefeedback-target-libbacktrace
> +maybe-configure-stagefeedback-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stagefeedback-target-libbacktrace: configure-stagefeedback-target-libbacktrace
> +configure-stagefeedback-target-libbacktrace:
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage feedback in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEfeedback_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stageautoprofile-target-libbacktrace maybe-configure-stageautoprofile-target-libbacktrace
> +maybe-configure-stageautoprofile-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stageautoprofile-target-libbacktrace: configure-stageautoprofile-target-libbacktrace
> +configure-stageautoprofile-target-libbacktrace:
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautoprofile_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +.PHONY: configure-stageautofeedback-target-libbacktrace maybe-configure-stageautofeedback-target-libbacktrace
> +maybe-configure-stageautofeedback-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-configure-stageautofeedback-target-libbacktrace: configure-stageautofeedback-target-libbacktrace
> +configure-stageautofeedback-target-libbacktrace:
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for libbacktrace..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libbacktrace; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
> +	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libbacktrace; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautofeedback_CONFIGURE_FLAGS)
> +@endif target-libbacktrace-bootstrap
> +
> +
> +
>  
>  
>  .PHONY: all-target-libbacktrace maybe-all-target-libbacktrace
> @@ -48514,7 +48932,6 @@ all-target-libbacktrace: stage_current
>  TARGET-target-libbacktrace=all
>  maybe-all-target-libbacktrace: all-target-libbacktrace
>  all-target-libbacktrace: configure-target-libbacktrace
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	$(NORMAL_TARGET_EXPORTS)  \
> @@ -48525,110 +48942,491 @@ all-target-libbacktrace: configure-target-libbacktrace
>  
>  
>  
> +.PHONY: all-stage1-target-libbacktrace maybe-all-stage1-target-libbacktrace
> +.PHONY: clean-stage1-target-libbacktrace maybe-clean-stage1-target-libbacktrace
> +maybe-all-stage1-target-libbacktrace:
> +maybe-clean-stage1-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stage1-target-libbacktrace: all-stage1-target-libbacktrace
> +all-stage1: all-stage1-target-libbacktrace
> +TARGET-stage1-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stage1-target-libbacktrace: configure-stage1-target-libbacktrace
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)  \
> +		  \
> +		TFLAGS="$(STAGE1_TFLAGS)"  \
> +		$(TARGET-stage1-target-libbacktrace)
>  
> -
> -.PHONY: check-target-libbacktrace maybe-check-target-libbacktrace
> -maybe-check-target-libbacktrace:
> -@if target-libbacktrace
> -maybe-check-target-libbacktrace: check-target-libbacktrace
> -
> -check-target-libbacktrace:
> -	@: $(MAKE); $(unstage)
> +maybe-clean-stage1-target-libbacktrace: clean-stage1-target-libbacktrace
> +clean-stage1: clean-stage1-target-libbacktrace
> +clean-stage1-target-libbacktrace:
> +	@if [ $(current_stage) = stage1 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage1-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stage1-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
> +	  clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stage2-target-libbacktrace maybe-all-stage2-target-libbacktrace
> +.PHONY: clean-stage2-target-libbacktrace maybe-clean-stage2-target-libbacktrace
> +maybe-all-stage2-target-libbacktrace:
> +maybe-clean-stage2-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stage2-target-libbacktrace: all-stage2-target-libbacktrace
> +all-stage2: all-stage2-target-libbacktrace
> +TARGET-stage2-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stage2-target-libbacktrace: configure-stage2-target-libbacktrace
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libbacktrace && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
> -
> -@endif target-libbacktrace
> -
> -.PHONY: install-target-libbacktrace maybe-install-target-libbacktrace
> -maybe-install-target-libbacktrace:
> -@if target-libbacktrace
> -maybe-install-target-libbacktrace: install-target-libbacktrace
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE2_TFLAGS)"  \
> +		$(TARGET-stage2-target-libbacktrace)
>  
> -install-target-libbacktrace: installdirs
> -	@: $(MAKE); $(unstage)
> +maybe-clean-stage2-target-libbacktrace: clean-stage2-target-libbacktrace
> +clean-stage2: clean-stage2-target-libbacktrace
> +clean-stage2-target-libbacktrace:
> +	@if [ $(current_stage) = stage2 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage2-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stage2-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stage3-target-libbacktrace maybe-all-stage3-target-libbacktrace
> +.PHONY: clean-stage3-target-libbacktrace maybe-clean-stage3-target-libbacktrace
> +maybe-all-stage3-target-libbacktrace:
> +maybe-clean-stage3-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stage3-target-libbacktrace: all-stage3-target-libbacktrace
> +all-stage3: all-stage3-target-libbacktrace
> +TARGET-stage3-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stage3-target-libbacktrace: configure-stage3-target-libbacktrace
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libbacktrace && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
> -
> -@endif target-libbacktrace
> -
> -.PHONY: install-strip-target-libbacktrace maybe-install-strip-target-libbacktrace
> -maybe-install-strip-target-libbacktrace:
> -@if target-libbacktrace
> -maybe-install-strip-target-libbacktrace: install-strip-target-libbacktrace
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE3_TFLAGS)"  \
> +		$(TARGET-stage3-target-libbacktrace)
>  
> -install-strip-target-libbacktrace: installdirs
> -	@: $(MAKE); $(unstage)
> +maybe-clean-stage3-target-libbacktrace: clean-stage3-target-libbacktrace
> +clean-stage3: clean-stage3-target-libbacktrace
> +clean-stage3-target-libbacktrace:
> +	@if [ $(current_stage) = stage3 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage3-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stage3-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stage4-target-libbacktrace maybe-all-stage4-target-libbacktrace
> +.PHONY: clean-stage4-target-libbacktrace maybe-clean-stage4-target-libbacktrace
> +maybe-all-stage4-target-libbacktrace:
> +maybe-clean-stage4-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stage4-target-libbacktrace: all-stage4-target-libbacktrace
> +all-stage4: all-stage4-target-libbacktrace
> +TARGET-stage4-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stage4-target-libbacktrace: configure-stage4-target-libbacktrace
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libbacktrace && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
> -
> -@endif target-libbacktrace
> -
> -# Other targets (info, dvi, pdf, etc.)
> -
> -.PHONY: maybe-info-target-libbacktrace info-target-libbacktrace
> -maybe-info-target-libbacktrace:
> -@if target-libbacktrace
> -maybe-info-target-libbacktrace: info-target-libbacktrace
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE4_TFLAGS)"  \
> +		$(TARGET-stage4-target-libbacktrace)
>  
> -info-target-libbacktrace: \
> -    configure-target-libbacktrace 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +maybe-clean-stage4-target-libbacktrace: clean-stage4-target-libbacktrace
> +clean-stage4: clean-stage4-target-libbacktrace
> +clean-stage4-target-libbacktrace:
> +	@if [ $(current_stage) = stage4 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage4-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stage4-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stageprofile-target-libbacktrace maybe-all-stageprofile-target-libbacktrace
> +.PHONY: clean-stageprofile-target-libbacktrace maybe-clean-stageprofile-target-libbacktrace
> +maybe-all-stageprofile-target-libbacktrace:
> +maybe-clean-stageprofile-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stageprofile-target-libbacktrace: all-stageprofile-target-libbacktrace
> +all-stageprofile: all-stageprofile-target-libbacktrace
> +TARGET-stageprofile-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stageprofile-target-libbacktrace: configure-stageprofile-target-libbacktrace
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing info in $(TARGET_SUBDIR)/libbacktrace"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libbacktrace && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           info) \
> -	  || exit 1
> -
> -@endif target-libbacktrace
> -
> -.PHONY: maybe-dvi-target-libbacktrace dvi-target-libbacktrace
> -maybe-dvi-target-libbacktrace:
> -@if target-libbacktrace
> -maybe-dvi-target-libbacktrace: dvi-target-libbacktrace
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEprofile_TFLAGS)"  \
> +		$(TARGET-stageprofile-target-libbacktrace)
>  
> -dvi-target-libbacktrace: \
> -    configure-target-libbacktrace 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +maybe-clean-stageprofile-target-libbacktrace: clean-stageprofile-target-libbacktrace
> +clean-stageprofile: clean-stageprofile-target-libbacktrace
> +clean-stageprofile-target-libbacktrace:
> +	@if [ $(current_stage) = stageprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageprofile-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stageprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stagetrain-target-libbacktrace maybe-all-stagetrain-target-libbacktrace
> +.PHONY: clean-stagetrain-target-libbacktrace maybe-clean-stagetrain-target-libbacktrace
> +maybe-all-stagetrain-target-libbacktrace:
> +maybe-clean-stagetrain-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stagetrain-target-libbacktrace: all-stagetrain-target-libbacktrace
> +all-stagetrain: all-stagetrain-target-libbacktrace
> +TARGET-stagetrain-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stagetrain-target-libbacktrace: configure-stagetrain-target-libbacktrace
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing dvi in $(TARGET_SUBDIR)/libbacktrace"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libbacktrace && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           dvi) \
> -	  || exit 1
> -
> -@endif target-libbacktrace
> -
> -.PHONY: maybe-pdf-target-libbacktrace pdf-target-libbacktrace
> -maybe-pdf-target-libbacktrace:
> -@if target-libbacktrace
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEtrain_TFLAGS)"  \
> +		$(TARGET-stagetrain-target-libbacktrace)
> +
> +maybe-clean-stagetrain-target-libbacktrace: clean-stagetrain-target-libbacktrace
> +clean-stagetrain: clean-stagetrain-target-libbacktrace
> +clean-stagetrain-target-libbacktrace:
> +	@if [ $(current_stage) = stagetrain ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagetrain-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stagetrain-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stagefeedback-target-libbacktrace maybe-all-stagefeedback-target-libbacktrace
> +.PHONY: clean-stagefeedback-target-libbacktrace maybe-clean-stagefeedback-target-libbacktrace
> +maybe-all-stagefeedback-target-libbacktrace:
> +maybe-clean-stagefeedback-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stagefeedback-target-libbacktrace: all-stagefeedback-target-libbacktrace
> +all-stagefeedback: all-stagefeedback-target-libbacktrace
> +TARGET-stagefeedback-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stagefeedback-target-libbacktrace: configure-stagefeedback-target-libbacktrace
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
> +		$(TARGET-stagefeedback-target-libbacktrace)
> +
> +maybe-clean-stagefeedback-target-libbacktrace: clean-stagefeedback-target-libbacktrace
> +clean-stagefeedback: clean-stagefeedback-target-libbacktrace
> +clean-stagefeedback-target-libbacktrace:
> +	@if [ $(current_stage) = stagefeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagefeedback-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stagefeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stageautoprofile-target-libbacktrace maybe-all-stageautoprofile-target-libbacktrace
> +.PHONY: clean-stageautoprofile-target-libbacktrace maybe-clean-stageautoprofile-target-libbacktrace
> +maybe-all-stageautoprofile-target-libbacktrace:
> +maybe-clean-stageautoprofile-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stageautoprofile-target-libbacktrace: all-stageautoprofile-target-libbacktrace
> +all-stageautoprofile: all-stageautoprofile-target-libbacktrace
> +TARGET-stageautoprofile-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stageautoprofile-target-libbacktrace: configure-stageautoprofile-target-libbacktrace
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$$s/gcc/config/i386/$(AUTO_PROFILE) \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
> +		$(TARGET-stageautoprofile-target-libbacktrace)
> +
> +maybe-clean-stageautoprofile-target-libbacktrace: clean-stageautoprofile-target-libbacktrace
> +clean-stageautoprofile: clean-stageautoprofile-target-libbacktrace
> +clean-stageautoprofile-target-libbacktrace:
> +	@if [ $(current_stage) = stageautoprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stageautoprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +.PHONY: all-stageautofeedback-target-libbacktrace maybe-all-stageautofeedback-target-libbacktrace
> +.PHONY: clean-stageautofeedback-target-libbacktrace maybe-clean-stageautofeedback-target-libbacktrace
> +maybe-all-stageautofeedback-target-libbacktrace:
> +maybe-clean-stageautofeedback-target-libbacktrace:
> +@if target-libbacktrace-bootstrap
> +maybe-all-stageautofeedback-target-libbacktrace: all-stageautofeedback-target-libbacktrace
> +all-stageautofeedback: all-stageautofeedback-target-libbacktrace
> +TARGET-stageautofeedback-target-libbacktrace = $(TARGET-target-libbacktrace)
> +all-stageautofeedback-target-libbacktrace: configure-stageautofeedback-target-libbacktrace
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
> +		$(TARGET-stageautofeedback-target-libbacktrace)
> +
> +maybe-clean-stageautofeedback-target-libbacktrace: clean-stageautofeedback-target-libbacktrace
> +clean-stageautofeedback: clean-stageautofeedback-target-libbacktrace
> +clean-stageautofeedback-target-libbacktrace:
> +	@if [ $(current_stage) = stageautofeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libbacktrace/Makefile ] || exit 0; \
> +	  $(MAKE) stageautofeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libbacktrace && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libbacktrace-bootstrap
> +
> +
> +
> +
> +
> +
> +.PHONY: check-target-libbacktrace maybe-check-target-libbacktrace
> +maybe-check-target-libbacktrace:
> +@if target-libbacktrace
> +maybe-check-target-libbacktrace: check-target-libbacktrace
> +
> +check-target-libbacktrace:
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libbacktrace && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
> +
> +@endif target-libbacktrace
> +
> +.PHONY: install-target-libbacktrace maybe-install-target-libbacktrace
> +maybe-install-target-libbacktrace:
> +@if target-libbacktrace
> +maybe-install-target-libbacktrace: install-target-libbacktrace
> +
> +install-target-libbacktrace: installdirs
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libbacktrace && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
> +
> +@endif target-libbacktrace
> +
> +.PHONY: install-strip-target-libbacktrace maybe-install-strip-target-libbacktrace
> +maybe-install-strip-target-libbacktrace:
> +@if target-libbacktrace
> +maybe-install-strip-target-libbacktrace: install-strip-target-libbacktrace
> +
> +install-strip-target-libbacktrace: installdirs
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libbacktrace && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
> +
> +@endif target-libbacktrace
> +
> +# Other targets (info, dvi, pdf, etc.)
> +
> +.PHONY: maybe-info-target-libbacktrace info-target-libbacktrace
> +maybe-info-target-libbacktrace:
> +@if target-libbacktrace
> +maybe-info-target-libbacktrace: info-target-libbacktrace
> +
> +info-target-libbacktrace: \
> +    configure-target-libbacktrace 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing info in $(TARGET_SUBDIR)/libbacktrace"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libbacktrace && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           info) \
> +	  || exit 1
> +
> +@endif target-libbacktrace
> +
> +.PHONY: maybe-dvi-target-libbacktrace dvi-target-libbacktrace
> +maybe-dvi-target-libbacktrace:
> +@if target-libbacktrace
> +maybe-dvi-target-libbacktrace: dvi-target-libbacktrace
> +
> +dvi-target-libbacktrace: \
> +    configure-target-libbacktrace 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing dvi in $(TARGET_SUBDIR)/libbacktrace"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libbacktrace && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           dvi) \
> +	  || exit 1
> +
> +@endif target-libbacktrace
> +
> +.PHONY: maybe-pdf-target-libbacktrace pdf-target-libbacktrace
> +maybe-pdf-target-libbacktrace:
> +@if target-libbacktrace
>  maybe-pdf-target-libbacktrace: pdf-target-libbacktrace
>  
>  pdf-target-libbacktrace: \
> @@ -50755,7 +51553,6 @@ configure-target-libphobos: stage_current
>  @if target-libphobos
>  maybe-configure-target-libphobos: configure-target-libphobos
>  configure-target-libphobos: 
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	echo "Checking multilib configuration for libphobos..."; \
> @@ -50793,152 +51590,938 @@ configure-target-libphobos:
>  
>  
>  
> -
> -
> -.PHONY: all-target-libphobos maybe-all-target-libphobos
> -maybe-all-target-libphobos:
> -@if gcc-bootstrap
> -all-target-libphobos: stage_current
> -@endif gcc-bootstrap
> -@if target-libphobos
> -TARGET-target-libphobos=all
> -maybe-all-target-libphobos: all-target-libphobos
> -all-target-libphobos: configure-target-libphobos
> -	@: $(MAKE); $(unstage)
> +.PHONY: configure-stage1-target-libphobos maybe-configure-stage1-target-libphobos
> +maybe-configure-stage1-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stage1-target-libphobos: configure-stage1-target-libphobos
> +configure-stage1-target-libphobos:
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> -	$(NORMAL_TARGET_EXPORTS)  \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
> -		$(TARGET-target-libphobos))
> -@endif target-libphobos
> -
> -
> -
> -
> -
> -.PHONY: check-target-libphobos maybe-check-target-libphobos
> -maybe-check-target-libphobos:
> -@if target-libphobos
> -maybe-check-target-libphobos: check-target-libphobos
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 1 in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	   \
> +	  $(STAGE1_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -check-target-libphobos:
> -	@: $(MAKE); $(unstage)
> +.PHONY: configure-stage2-target-libphobos maybe-configure-stage2-target-libphobos
> +maybe-configure-stage2-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stage2-target-libphobos: configure-stage2-target-libphobos
> +configure-stage2-target-libphobos:
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
> -
> -@endif target-libphobos
> -
> -.PHONY: install-target-libphobos maybe-install-target-libphobos
> -maybe-install-target-libphobos:
> -@if target-libphobos
> -maybe-install-target-libphobos: install-target-libphobos
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 2 in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE2_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -install-target-libphobos: installdirs
> -	@: $(MAKE); $(unstage)
> +.PHONY: configure-stage3-target-libphobos maybe-configure-stage3-target-libphobos
> +maybe-configure-stage3-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stage3-target-libphobos: configure-stage3-target-libphobos
> +configure-stage3-target-libphobos:
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
> -
> -@endif target-libphobos
> -
> -.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos
> -maybe-install-strip-target-libphobos:
> -@if target-libphobos
> -maybe-install-strip-target-libphobos: install-strip-target-libphobos
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 3 in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE3_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -install-strip-target-libphobos: installdirs
> -	@: $(MAKE); $(unstage)
> +.PHONY: configure-stage4-target-libphobos maybe-configure-stage4-target-libphobos
> +maybe-configure-stage4-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stage4-target-libphobos: configure-stage4-target-libphobos
> +configure-stage4-target-libphobos:
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
> -
> -@endif target-libphobos
> -
> -# Other targets (info, dvi, pdf, etc.)
> -
> -.PHONY: maybe-info-target-libphobos info-target-libphobos
> -maybe-info-target-libphobos:
> -@if target-libphobos
> -maybe-info-target-libphobos: info-target-libphobos
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 4 in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE4_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -info-target-libphobos: \
> -    configure-target-libphobos 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stageprofile-target-libphobos maybe-configure-stageprofile-target-libphobos
> +maybe-configure-stageprofile-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stageprofile-target-libphobos: configure-stageprofile-target-libphobos
> +configure-stageprofile-target-libphobos:
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           info) \
> -	  || exit 1
> -
> -@endif target-libphobos
> -
> -.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos
> -maybe-dvi-target-libphobos:
> -@if target-libphobos
> -maybe-dvi-target-libphobos: dvi-target-libphobos
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage profile in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEprofile_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -dvi-target-libphobos: \
> -    configure-target-libphobos 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stagetrain-target-libphobos maybe-configure-stagetrain-target-libphobos
> +maybe-configure-stagetrain-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stagetrain-target-libphobos: configure-stagetrain-target-libphobos
> +configure-stagetrain-target-libphobos:
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           dvi) \
> -	  || exit 1
> -
> -@endif target-libphobos
> -
> -.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos
> -maybe-pdf-target-libphobos:
> -@if target-libphobos
> -maybe-pdf-target-libphobos: pdf-target-libphobos
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage train in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEtrain_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
>  
> -pdf-target-libphobos: \
> -    configure-target-libphobos 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stagefeedback-target-libphobos maybe-configure-stagefeedback-target-libphobos
> +maybe-configure-stagefeedback-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stagefeedback-target-libphobos: configure-stagefeedback-target-libphobos
> +configure-stagefeedback-target-libphobos:
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> -	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libphobos && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           pdf) \
> -	  || exit 1
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage feedback in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEfeedback_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
> +
> +.PHONY: configure-stageautoprofile-target-libphobos maybe-configure-stageautoprofile-target-libphobos
> +maybe-configure-stageautoprofile-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stageautoprofile-target-libphobos: configure-stageautoprofile-target-libphobos
> +configure-stageautoprofile-target-libphobos:
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautoprofile_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
> +
> +.PHONY: configure-stageautofeedback-target-libphobos maybe-configure-stageautofeedback-target-libphobos
> +maybe-configure-stageautofeedback-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-configure-stageautofeedback-target-libphobos: configure-stageautofeedback-target-libphobos
> +configure-stageautofeedback-target-libphobos:
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for libphobos..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libphobos; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
> +	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libphobos; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautofeedback_CONFIGURE_FLAGS)
> +@endif target-libphobos-bootstrap
> +
> +
> +
> +
> +
> +.PHONY: all-target-libphobos maybe-all-target-libphobos
> +maybe-all-target-libphobos:
> +@if gcc-bootstrap
> +all-target-libphobos: stage_current
> +@endif gcc-bootstrap
> +@if target-libphobos
> +TARGET-target-libphobos=all
> +maybe-all-target-libphobos: all-target-libphobos
> +all-target-libphobos: configure-target-libphobos
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
> +		$(TARGET-target-libphobos))
> +@endif target-libphobos
> +
> +
> +
> +.PHONY: all-stage1-target-libphobos maybe-all-stage1-target-libphobos
> +.PHONY: clean-stage1-target-libphobos maybe-clean-stage1-target-libphobos
> +maybe-all-stage1-target-libphobos:
> +maybe-clean-stage1-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stage1-target-libphobos: all-stage1-target-libphobos
> +all-stage1: all-stage1-target-libphobos
> +TARGET-stage1-target-libphobos = $(TARGET-target-libphobos)
> +all-stage1-target-libphobos: configure-stage1-target-libphobos
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)  \
> +		  \
> +		TFLAGS="$(STAGE1_TFLAGS)"  \
> +		$(TARGET-stage1-target-libphobos)
> +
> +maybe-clean-stage1-target-libphobos: clean-stage1-target-libphobos
> +clean-stage1: clean-stage1-target-libphobos
> +clean-stage1-target-libphobos:
> +	@if [ $(current_stage) = stage1 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage1-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stage1-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
> +	  clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stage2-target-libphobos maybe-all-stage2-target-libphobos
> +.PHONY: clean-stage2-target-libphobos maybe-clean-stage2-target-libphobos
> +maybe-all-stage2-target-libphobos:
> +maybe-clean-stage2-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stage2-target-libphobos: all-stage2-target-libphobos
> +all-stage2: all-stage2-target-libphobos
> +TARGET-stage2-target-libphobos = $(TARGET-target-libphobos)
> +all-stage2-target-libphobos: configure-stage2-target-libphobos
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE2_TFLAGS)"  \
> +		$(TARGET-stage2-target-libphobos)
> +
> +maybe-clean-stage2-target-libphobos: clean-stage2-target-libphobos
> +clean-stage2: clean-stage2-target-libphobos
> +clean-stage2-target-libphobos:
> +	@if [ $(current_stage) = stage2 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage2-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stage2-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stage3-target-libphobos maybe-all-stage3-target-libphobos
> +.PHONY: clean-stage3-target-libphobos maybe-clean-stage3-target-libphobos
> +maybe-all-stage3-target-libphobos:
> +maybe-clean-stage3-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stage3-target-libphobos: all-stage3-target-libphobos
> +all-stage3: all-stage3-target-libphobos
> +TARGET-stage3-target-libphobos = $(TARGET-target-libphobos)
> +all-stage3-target-libphobos: configure-stage3-target-libphobos
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE3_TFLAGS)"  \
> +		$(TARGET-stage3-target-libphobos)
> +
> +maybe-clean-stage3-target-libphobos: clean-stage3-target-libphobos
> +clean-stage3: clean-stage3-target-libphobos
> +clean-stage3-target-libphobos:
> +	@if [ $(current_stage) = stage3 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage3-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stage3-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stage4-target-libphobos maybe-all-stage4-target-libphobos
> +.PHONY: clean-stage4-target-libphobos maybe-clean-stage4-target-libphobos
> +maybe-all-stage4-target-libphobos:
> +maybe-clean-stage4-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stage4-target-libphobos: all-stage4-target-libphobos
> +all-stage4: all-stage4-target-libphobos
> +TARGET-stage4-target-libphobos = $(TARGET-target-libphobos)
> +all-stage4-target-libphobos: configure-stage4-target-libphobos
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE4_TFLAGS)"  \
> +		$(TARGET-stage4-target-libphobos)
> +
> +maybe-clean-stage4-target-libphobos: clean-stage4-target-libphobos
> +clean-stage4: clean-stage4-target-libphobos
> +clean-stage4-target-libphobos:
> +	@if [ $(current_stage) = stage4 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage4-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stage4-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stageprofile-target-libphobos maybe-all-stageprofile-target-libphobos
> +.PHONY: clean-stageprofile-target-libphobos maybe-clean-stageprofile-target-libphobos
> +maybe-all-stageprofile-target-libphobos:
> +maybe-clean-stageprofile-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stageprofile-target-libphobos: all-stageprofile-target-libphobos
> +all-stageprofile: all-stageprofile-target-libphobos
> +TARGET-stageprofile-target-libphobos = $(TARGET-target-libphobos)
> +all-stageprofile-target-libphobos: configure-stageprofile-target-libphobos
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEprofile_TFLAGS)"  \
> +		$(TARGET-stageprofile-target-libphobos)
> +
> +maybe-clean-stageprofile-target-libphobos: clean-stageprofile-target-libphobos
> +clean-stageprofile: clean-stageprofile-target-libphobos
> +clean-stageprofile-target-libphobos:
> +	@if [ $(current_stage) = stageprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageprofile-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stageprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stagetrain-target-libphobos maybe-all-stagetrain-target-libphobos
> +.PHONY: clean-stagetrain-target-libphobos maybe-clean-stagetrain-target-libphobos
> +maybe-all-stagetrain-target-libphobos:
> +maybe-clean-stagetrain-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stagetrain-target-libphobos: all-stagetrain-target-libphobos
> +all-stagetrain: all-stagetrain-target-libphobos
> +TARGET-stagetrain-target-libphobos = $(TARGET-target-libphobos)
> +all-stagetrain-target-libphobos: configure-stagetrain-target-libphobos
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEtrain_TFLAGS)"  \
> +		$(TARGET-stagetrain-target-libphobos)
> +
> +maybe-clean-stagetrain-target-libphobos: clean-stagetrain-target-libphobos
> +clean-stagetrain: clean-stagetrain-target-libphobos
> +clean-stagetrain-target-libphobos:
> +	@if [ $(current_stage) = stagetrain ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagetrain-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stagetrain-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stagefeedback-target-libphobos maybe-all-stagefeedback-target-libphobos
> +.PHONY: clean-stagefeedback-target-libphobos maybe-clean-stagefeedback-target-libphobos
> +maybe-all-stagefeedback-target-libphobos:
> +maybe-clean-stagefeedback-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stagefeedback-target-libphobos: all-stagefeedback-target-libphobos
> +all-stagefeedback: all-stagefeedback-target-libphobos
> +TARGET-stagefeedback-target-libphobos = $(TARGET-target-libphobos)
> +all-stagefeedback-target-libphobos: configure-stagefeedback-target-libphobos
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
> +		$(TARGET-stagefeedback-target-libphobos)
> +
> +maybe-clean-stagefeedback-target-libphobos: clean-stagefeedback-target-libphobos
> +clean-stagefeedback: clean-stagefeedback-target-libphobos
> +clean-stagefeedback-target-libphobos:
> +	@if [ $(current_stage) = stagefeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagefeedback-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stagefeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stageautoprofile-target-libphobos maybe-all-stageautoprofile-target-libphobos
> +.PHONY: clean-stageautoprofile-target-libphobos maybe-clean-stageautoprofile-target-libphobos
> +maybe-all-stageautoprofile-target-libphobos:
> +maybe-clean-stageautoprofile-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stageautoprofile-target-libphobos: all-stageautoprofile-target-libphobos
> +all-stageautoprofile: all-stageautoprofile-target-libphobos
> +TARGET-stageautoprofile-target-libphobos = $(TARGET-target-libphobos)
> +all-stageautoprofile-target-libphobos: configure-stageautoprofile-target-libphobos
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$$s/gcc/config/i386/$(AUTO_PROFILE) \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
> +		$(TARGET-stageautoprofile-target-libphobos)
> +
> +maybe-clean-stageautoprofile-target-libphobos: clean-stageautoprofile-target-libphobos
> +clean-stageautoprofile: clean-stageautoprofile-target-libphobos
> +clean-stageautoprofile-target-libphobos:
> +	@if [ $(current_stage) = stageautoprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stageautoprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +.PHONY: all-stageautofeedback-target-libphobos maybe-all-stageautofeedback-target-libphobos
> +.PHONY: clean-stageautofeedback-target-libphobos maybe-clean-stageautofeedback-target-libphobos
> +maybe-all-stageautofeedback-target-libphobos:
> +maybe-clean-stageautofeedback-target-libphobos:
> +@if target-libphobos-bootstrap
> +maybe-all-stageautofeedback-target-libphobos: all-stageautofeedback-target-libphobos
> +all-stageautofeedback: all-stageautofeedback-target-libphobos
> +TARGET-stageautofeedback-target-libphobos = $(TARGET-target-libphobos)
> +all-stageautofeedback-target-libphobos: configure-stageautofeedback-target-libphobos
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
> +		$(TARGET-stageautofeedback-target-libphobos)
> +
> +maybe-clean-stageautofeedback-target-libphobos: clean-stageautofeedback-target-libphobos
> +clean-stageautofeedback: clean-stageautofeedback-target-libphobos
> +clean-stageautofeedback-target-libphobos:
> +	@if [ $(current_stage) = stageautofeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libphobos/Makefile ] || exit 0; \
> +	  $(MAKE) stageautofeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libphobos && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libphobos-bootstrap
> +
> +
> +
> +
> +
> +
> +.PHONY: check-target-libphobos maybe-check-target-libphobos
> +maybe-check-target-libphobos:
> +@if target-libphobos
> +maybe-check-target-libphobos: check-target-libphobos
> +
> +check-target-libphobos:
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
> +
> +@endif target-libphobos
> +
> +.PHONY: install-target-libphobos maybe-install-target-libphobos
> +maybe-install-target-libphobos:
> +@if target-libphobos
> +maybe-install-target-libphobos: install-target-libphobos
> +
> +install-target-libphobos: installdirs
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
> +
> +@endif target-libphobos
> +
> +.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos
> +maybe-install-strip-target-libphobos:
> +@if target-libphobos
> +maybe-install-strip-target-libphobos: install-strip-target-libphobos
> +
> +install-strip-target-libphobos: installdirs
> +	@: $(MAKE); $(unstage)
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
> +
> +@endif target-libphobos
> +
> +# Other targets (info, dvi, pdf, etc.)
> +
> +.PHONY: maybe-info-target-libphobos info-target-libphobos
> +maybe-info-target-libphobos:
> +@if target-libphobos
> +maybe-info-target-libphobos: info-target-libphobos
> +
> +info-target-libphobos: \
> +    configure-target-libphobos 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           info) \
> +	  || exit 1
> +
> +@endif target-libphobos
> +
> +.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos
> +maybe-dvi-target-libphobos:
> +@if target-libphobos
> +maybe-dvi-target-libphobos: dvi-target-libphobos
> +
> +dvi-target-libphobos: \
> +    configure-target-libphobos 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           dvi) \
> +	  || exit 1
> +
> +@endif target-libphobos
> +
> +.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos
> +maybe-pdf-target-libphobos:
> +@if target-libphobos
> +maybe-pdf-target-libphobos: pdf-target-libphobos
> +
> +pdf-target-libphobos: \
> +    configure-target-libphobos 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libphobos && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           pdf) \
> +	  || exit 1
>  
>  @endif target-libphobos
>  
> @@ -52965,7 +54548,6 @@ configure-target-zlib: stage_current
>  @if target-zlib
>  maybe-configure-target-zlib: configure-target-zlib
>  configure-target-zlib: 
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	echo "Checking multilib configuration for zlib..."; \
> @@ -53003,6 +54585,412 @@ configure-target-zlib:
>  
>  
>  
> +.PHONY: configure-stage1-target-zlib maybe-configure-stage1-target-zlib
> +maybe-configure-stage1-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stage1-target-zlib: configure-stage1-target-zlib
> +configure-stage1-target-zlib:
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 1 in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	   \
> +	  $(STAGE1_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stage2-target-zlib maybe-configure-stage2-target-zlib
> +maybe-configure-stage2-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stage2-target-zlib: configure-stage2-target-zlib
> +configure-stage2-target-zlib:
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 2 in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE2_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stage3-target-zlib maybe-configure-stage3-target-zlib
> +maybe-configure-stage3-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stage3-target-zlib: configure-stage3-target-zlib
> +configure-stage3-target-zlib:
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 3 in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE3_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stage4-target-zlib maybe-configure-stage4-target-zlib
> +maybe-configure-stage4-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stage4-target-zlib: configure-stage4-target-zlib
> +configure-stage4-target-zlib:
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 4 in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE4_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stageprofile-target-zlib maybe-configure-stageprofile-target-zlib
> +maybe-configure-stageprofile-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stageprofile-target-zlib: configure-stageprofile-target-zlib
> +configure-stageprofile-target-zlib:
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage profile in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEprofile_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stagetrain-target-zlib maybe-configure-stagetrain-target-zlib
> +maybe-configure-stagetrain-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stagetrain-target-zlib: configure-stagetrain-target-zlib
> +configure-stagetrain-target-zlib:
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage train in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEtrain_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stagefeedback-target-zlib maybe-configure-stagefeedback-target-zlib
> +maybe-configure-stagefeedback-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stagefeedback-target-zlib: configure-stagefeedback-target-zlib
> +configure-stagefeedback-target-zlib:
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage feedback in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEfeedback_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stageautoprofile-target-zlib maybe-configure-stageautoprofile-target-zlib
> +maybe-configure-stageautoprofile-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stageautoprofile-target-zlib: configure-stageautoprofile-target-zlib
> +configure-stageautoprofile-target-zlib:
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautoprofile_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +.PHONY: configure-stageautofeedback-target-zlib maybe-configure-stageautofeedback-target-zlib
> +maybe-configure-stageautofeedback-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-configure-stageautofeedback-target-zlib: configure-stageautofeedback-target-zlib
> +configure-stageautofeedback-target-zlib:
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for zlib..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
> +	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/zlib; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
> +	cd $(TARGET_SUBDIR)/zlib || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=zlib; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautofeedback_CONFIGURE_FLAGS)
> +@endif target-zlib-bootstrap
> +
> +
> +
>  
>  
>  .PHONY: all-target-zlib maybe-all-target-zlib
> @@ -53014,7 +55002,6 @@ all-target-zlib: stage_current
>  TARGET-target-zlib=all
>  maybe-all-target-zlib: all-target-zlib
>  all-target-zlib: configure-target-zlib
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	$(NORMAL_TARGET_EXPORTS)  \
> @@ -53025,6 +55012,387 @@ all-target-zlib: configure-target-zlib
>  
>  
>  
> +.PHONY: all-stage1-target-zlib maybe-all-stage1-target-zlib
> +.PHONY: clean-stage1-target-zlib maybe-clean-stage1-target-zlib
> +maybe-all-stage1-target-zlib:
> +maybe-clean-stage1-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stage1-target-zlib: all-stage1-target-zlib
> +all-stage1: all-stage1-target-zlib
> +TARGET-stage1-target-zlib = $(TARGET-target-zlib)
> +all-stage1-target-zlib: configure-stage1-target-zlib
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)  \
> +		  \
> +		TFLAGS="$(STAGE1_TFLAGS)"  \
> +		$(TARGET-stage1-target-zlib)
> +
> +maybe-clean-stage1-target-zlib: clean-stage1-target-zlib
> +clean-stage1: clean-stage1-target-zlib
> +clean-stage1-target-zlib:
> +	@if [ $(current_stage) = stage1 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage1-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stage1-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
> +	  clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stage2-target-zlib maybe-all-stage2-target-zlib
> +.PHONY: clean-stage2-target-zlib maybe-clean-stage2-target-zlib
> +maybe-all-stage2-target-zlib:
> +maybe-clean-stage2-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stage2-target-zlib: all-stage2-target-zlib
> +all-stage2: all-stage2-target-zlib
> +TARGET-stage2-target-zlib = $(TARGET-target-zlib)
> +all-stage2-target-zlib: configure-stage2-target-zlib
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE2_TFLAGS)"  \
> +		$(TARGET-stage2-target-zlib)
> +
> +maybe-clean-stage2-target-zlib: clean-stage2-target-zlib
> +clean-stage2: clean-stage2-target-zlib
> +clean-stage2-target-zlib:
> +	@if [ $(current_stage) = stage2 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage2-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stage2-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stage3-target-zlib maybe-all-stage3-target-zlib
> +.PHONY: clean-stage3-target-zlib maybe-clean-stage3-target-zlib
> +maybe-all-stage3-target-zlib:
> +maybe-clean-stage3-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stage3-target-zlib: all-stage3-target-zlib
> +all-stage3: all-stage3-target-zlib
> +TARGET-stage3-target-zlib = $(TARGET-target-zlib)
> +all-stage3-target-zlib: configure-stage3-target-zlib
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE3_TFLAGS)"  \
> +		$(TARGET-stage3-target-zlib)
> +
> +maybe-clean-stage3-target-zlib: clean-stage3-target-zlib
> +clean-stage3: clean-stage3-target-zlib
> +clean-stage3-target-zlib:
> +	@if [ $(current_stage) = stage3 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage3-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stage3-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stage4-target-zlib maybe-all-stage4-target-zlib
> +.PHONY: clean-stage4-target-zlib maybe-clean-stage4-target-zlib
> +maybe-all-stage4-target-zlib:
> +maybe-clean-stage4-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stage4-target-zlib: all-stage4-target-zlib
> +all-stage4: all-stage4-target-zlib
> +TARGET-stage4-target-zlib = $(TARGET-target-zlib)
> +all-stage4-target-zlib: configure-stage4-target-zlib
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE4_TFLAGS)"  \
> +		$(TARGET-stage4-target-zlib)
> +
> +maybe-clean-stage4-target-zlib: clean-stage4-target-zlib
> +clean-stage4: clean-stage4-target-zlib
> +clean-stage4-target-zlib:
> +	@if [ $(current_stage) = stage4 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage4-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stage4-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stageprofile-target-zlib maybe-all-stageprofile-target-zlib
> +.PHONY: clean-stageprofile-target-zlib maybe-clean-stageprofile-target-zlib
> +maybe-all-stageprofile-target-zlib:
> +maybe-clean-stageprofile-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stageprofile-target-zlib: all-stageprofile-target-zlib
> +all-stageprofile: all-stageprofile-target-zlib
> +TARGET-stageprofile-target-zlib = $(TARGET-target-zlib)
> +all-stageprofile-target-zlib: configure-stageprofile-target-zlib
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEprofile_TFLAGS)"  \
> +		$(TARGET-stageprofile-target-zlib)
> +
> +maybe-clean-stageprofile-target-zlib: clean-stageprofile-target-zlib
> +clean-stageprofile: clean-stageprofile-target-zlib
> +clean-stageprofile-target-zlib:
> +	@if [ $(current_stage) = stageprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageprofile-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stageprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stagetrain-target-zlib maybe-all-stagetrain-target-zlib
> +.PHONY: clean-stagetrain-target-zlib maybe-clean-stagetrain-target-zlib
> +maybe-all-stagetrain-target-zlib:
> +maybe-clean-stagetrain-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stagetrain-target-zlib: all-stagetrain-target-zlib
> +all-stagetrain: all-stagetrain-target-zlib
> +TARGET-stagetrain-target-zlib = $(TARGET-target-zlib)
> +all-stagetrain-target-zlib: configure-stagetrain-target-zlib
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEtrain_TFLAGS)"  \
> +		$(TARGET-stagetrain-target-zlib)
> +
> +maybe-clean-stagetrain-target-zlib: clean-stagetrain-target-zlib
> +clean-stagetrain: clean-stagetrain-target-zlib
> +clean-stagetrain-target-zlib:
> +	@if [ $(current_stage) = stagetrain ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagetrain-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stagetrain-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stagefeedback-target-zlib maybe-all-stagefeedback-target-zlib
> +.PHONY: clean-stagefeedback-target-zlib maybe-clean-stagefeedback-target-zlib
> +maybe-all-stagefeedback-target-zlib:
> +maybe-clean-stagefeedback-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stagefeedback-target-zlib: all-stagefeedback-target-zlib
> +all-stagefeedback: all-stagefeedback-target-zlib
> +TARGET-stagefeedback-target-zlib = $(TARGET-target-zlib)
> +all-stagefeedback-target-zlib: configure-stagefeedback-target-zlib
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
> +		$(TARGET-stagefeedback-target-zlib)
> +
> +maybe-clean-stagefeedback-target-zlib: clean-stagefeedback-target-zlib
> +clean-stagefeedback: clean-stagefeedback-target-zlib
> +clean-stagefeedback-target-zlib:
> +	@if [ $(current_stage) = stagefeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagefeedback-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stagefeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stageautoprofile-target-zlib maybe-all-stageautoprofile-target-zlib
> +.PHONY: clean-stageautoprofile-target-zlib maybe-clean-stageautoprofile-target-zlib
> +maybe-all-stageautoprofile-target-zlib:
> +maybe-clean-stageautoprofile-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stageautoprofile-target-zlib: all-stageautoprofile-target-zlib
> +all-stageautoprofile: all-stageautoprofile-target-zlib
> +TARGET-stageautoprofile-target-zlib = $(TARGET-target-zlib)
> +all-stageautoprofile-target-zlib: configure-stageautoprofile-target-zlib
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$$s/gcc/config/i386/$(AUTO_PROFILE) \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
> +		$(TARGET-stageautoprofile-target-zlib)
> +
> +maybe-clean-stageautoprofile-target-zlib: clean-stageautoprofile-target-zlib
> +clean-stageautoprofile: clean-stageautoprofile-target-zlib
> +clean-stageautoprofile-target-zlib:
> +	@if [ $(current_stage) = stageautoprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautoprofile-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stageautoprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +.PHONY: all-stageautofeedback-target-zlib maybe-all-stageautofeedback-target-zlib
> +.PHONY: clean-stageautofeedback-target-zlib maybe-clean-stageautofeedback-target-zlib
> +maybe-all-stageautofeedback-target-zlib:
> +maybe-clean-stageautofeedback-target-zlib:
> +@if target-zlib-bootstrap
> +maybe-all-stageautofeedback-target-zlib: all-stageautofeedback-target-zlib
> +all-stageautofeedback: all-stageautofeedback-target-zlib
> +TARGET-stageautofeedback-target-zlib = $(TARGET-target-zlib)
> +all-stageautofeedback-target-zlib: configure-stageautofeedback-target-zlib
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
> +		$(TARGET-stageautofeedback-target-zlib)
> +
> +maybe-clean-stageautofeedback-target-zlib: clean-stageautofeedback-target-zlib
> +clean-stageautofeedback: clean-stageautofeedback-target-zlib
> +clean-stageautofeedback-target-zlib:
> +	@if [ $(current_stage) = stageautofeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautofeedback-zlib/Makefile ] || exit 0; \
> +	  $(MAKE) stageautofeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/zlib && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-zlib-bootstrap
> +
> +
> +
> +
>  
>  
>  .PHONY: check-target-zlib maybe-check-target-zlib
> @@ -55914,137 +58282,539 @@ installcheck-target-libitm: \
>  	r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing installcheck in $(TARGET_SUBDIR)/libitm"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libitm && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           installcheck) \
> -	  || exit 1
> -
> -@endif target-libitm
> -
> -.PHONY: maybe-mostlyclean-target-libitm mostlyclean-target-libitm
> -maybe-mostlyclean-target-libitm:
> -@if target-libitm
> -maybe-mostlyclean-target-libitm: mostlyclean-target-libitm
> +	echo "Doing installcheck in $(TARGET_SUBDIR)/libitm"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libitm && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           installcheck) \
> +	  || exit 1
> +
> +@endif target-libitm
> +
> +.PHONY: maybe-mostlyclean-target-libitm mostlyclean-target-libitm
> +maybe-mostlyclean-target-libitm:
> +@if target-libitm
> +maybe-mostlyclean-target-libitm: mostlyclean-target-libitm
> +
> +mostlyclean-target-libitm: 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libitm"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libitm && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           mostlyclean) \
> +	  || exit 1
> +
> +@endif target-libitm
> +
> +.PHONY: maybe-clean-target-libitm clean-target-libitm
> +maybe-clean-target-libitm:
> +@if target-libitm
> +maybe-clean-target-libitm: clean-target-libitm
> +
> +clean-target-libitm: 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing clean in $(TARGET_SUBDIR)/libitm"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libitm && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           clean) \
> +	  || exit 1
> +
> +@endif target-libitm
> +
> +.PHONY: maybe-distclean-target-libitm distclean-target-libitm
> +maybe-distclean-target-libitm:
> +@if target-libitm
> +maybe-distclean-target-libitm: distclean-target-libitm
> +
> +distclean-target-libitm: 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing distclean in $(TARGET_SUBDIR)/libitm"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libitm && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           distclean) \
> +	  || exit 1
> +
> +@endif target-libitm
> +
> +.PHONY: maybe-maintainer-clean-target-libitm maintainer-clean-target-libitm
> +maybe-maintainer-clean-target-libitm:
> +@if target-libitm
> +maybe-maintainer-clean-target-libitm: maintainer-clean-target-libitm
> +
> +maintainer-clean-target-libitm: 
> +	@: $(MAKE); $(unstage)
> +	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> +	r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libitm"; \
> +	for flag in $(EXTRA_TARGET_FLAGS); do \
> +	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> +	done; \
> +	(cd $(TARGET_SUBDIR)/libitm && \
> +	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> +	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> +	          "RANLIB=$${RANLIB}" \
> +	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> +	           maintainer-clean) \
> +	  || exit 1
> +
> +@endif target-libitm
> +
> +
> +
> +
> +
> +.PHONY: configure-target-libatomic maybe-configure-target-libatomic
> +maybe-configure-target-libatomic:
> +@if gcc-bootstrap
> +configure-target-libatomic: stage_current
> +@endif gcc-bootstrap
> +@if target-libatomic
> +maybe-configure-target-libatomic: configure-target-libatomic
> +configure-target-libatomic: 
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	echo Configuring in $(TARGET_SUBDIR)/libatomic; \
> +	cd "$(TARGET_SUBDIR)/libatomic" || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	rm -f no-such-file || : ; \
> +	CONFIG_SITE=no-such-file $(SHELL) \
> +	  $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias}  \
> +	  || exit 1
> +@endif target-libatomic
> +
> +
> +
> +.PHONY: configure-stage1-target-libatomic maybe-configure-stage1-target-libatomic
> +maybe-configure-stage1-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stage1-target-libatomic: configure-stage1-target-libatomic
> +configure-stage1-target-libatomic:
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 1 in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	   \
> +	  $(STAGE1_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
> +
> +.PHONY: configure-stage2-target-libatomic maybe-configure-stage2-target-libatomic
> +maybe-configure-stage2-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stage2-target-libatomic: configure-stage2-target-libatomic
> +configure-stage2-target-libatomic:
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 2 in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE2_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
> +
> +.PHONY: configure-stage3-target-libatomic maybe-configure-stage3-target-libatomic
> +maybe-configure-stage3-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stage3-target-libatomic: configure-stage3-target-libatomic
> +configure-stage3-target-libatomic:
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 3 in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE3_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
> +
> +.PHONY: configure-stage4-target-libatomic maybe-configure-stage4-target-libatomic
> +maybe-configure-stage4-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stage4-target-libatomic: configure-stage4-target-libatomic
> +configure-stage4-target-libatomic:
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage 4 in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGE4_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
> -mostlyclean-target-libitm: 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stageprofile-target-libatomic maybe-configure-stageprofile-target-libatomic
> +maybe-configure-stageprofile-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stageprofile-target-libatomic: configure-stageprofile-target-libatomic
> +configure-stageprofile-target-libatomic:
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libitm"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libitm && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           mostlyclean) \
> -	  || exit 1
> -
> -@endif target-libitm
> -
> -.PHONY: maybe-clean-target-libitm clean-target-libitm
> -maybe-clean-target-libitm:
> -@if target-libitm
> -maybe-clean-target-libitm: clean-target-libitm
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage profile in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEprofile_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
> -clean-target-libitm: 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stagetrain-target-libatomic maybe-configure-stagetrain-target-libatomic
> +maybe-configure-stagetrain-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stagetrain-target-libatomic: configure-stagetrain-target-libatomic
> +configure-stagetrain-target-libatomic:
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing clean in $(TARGET_SUBDIR)/libitm"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libitm && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           clean) \
> -	  || exit 1
> -
> -@endif target-libitm
> -
> -.PHONY: maybe-distclean-target-libitm distclean-target-libitm
> -maybe-distclean-target-libitm:
> -@if target-libitm
> -maybe-distclean-target-libitm: distclean-target-libitm
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage train in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEtrain_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
> -distclean-target-libitm: 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stagefeedback-target-libatomic maybe-configure-stagefeedback-target-libatomic
> +maybe-configure-stagefeedback-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stagefeedback-target-libatomic: configure-stagefeedback-target-libatomic
> +configure-stagefeedback-target-libatomic:
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing distclean in $(TARGET_SUBDIR)/libitm"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libitm && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           distclean) \
> -	  || exit 1
> -
> -@endif target-libitm
> -
> -.PHONY: maybe-maintainer-clean-target-libitm maintainer-clean-target-libitm
> -maybe-maintainer-clean-target-libitm:
> -@if target-libitm
> -maybe-maintainer-clean-target-libitm: maintainer-clean-target-libitm
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage feedback in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEfeedback_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
> -maintainer-clean-target-libitm: 
> -	@: $(MAKE); $(unstage)
> -	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
> -	r=`${PWD_COMMAND}`; export r; \
> +.PHONY: configure-stageautoprofile-target-libatomic maybe-configure-stageautoprofile-target-libatomic
> +maybe-configure-stageautoprofile-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stageautoprofile-target-libatomic: configure-stageautoprofile-target-libatomic
> +configure-stageautoprofile-target-libatomic:
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
> +	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	echo "Checking multilib configuration for libatomic..."; \
> +	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
> +	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
> +	  else \
> +	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
> +	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	  fi; \
> +	else \
> +	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
> +	fi; \
> +	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
>  	$(NORMAL_TARGET_EXPORTS) \
> -	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libitm"; \
> -	for flag in $(EXTRA_TARGET_FLAGS); do \
> -	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
> -	done; \
> -	(cd $(TARGET_SUBDIR)/libitm && \
> -	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
> -	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
> -	          "RANLIB=$${RANLIB}" \
> -	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
> -	           maintainer-clean) \
> -	  || exit 1
> -
> -@endif target-libitm
> -
> -
> -
> -
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libatomic; \
> +	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
> +	case $(srcdir) in \
> +	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
> +	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
> +		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
> +	esac; \
> +	module_srcdir=libatomic; \
> +	$(SHELL) $$s/$$module_srcdir/configure \
> +	  --srcdir=$${topdir}/$$module_srcdir \
> +	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautoprofile_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
> -.PHONY: configure-target-libatomic maybe-configure-target-libatomic
> -maybe-configure-target-libatomic:
> -@if gcc-bootstrap
> -configure-target-libatomic: stage_current
> -@endif gcc-bootstrap
> -@if target-libatomic
> -maybe-configure-target-libatomic: configure-target-libatomic
> -configure-target-libatomic: 
> -	@: $(MAKE); $(unstage)
> +.PHONY: configure-stageautofeedback-target-libatomic maybe-configure-stageautofeedback-target-libatomic
> +maybe-configure-stageautofeedback-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-configure-stageautofeedback-target-libatomic: configure-stageautofeedback-target-libatomic
> +configure-stageautofeedback-target-libatomic:
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
>  	echo "Checking multilib configuration for libatomic..."; \
> -	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
>  	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
>  	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
>  	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
> @@ -56057,24 +58827,27 @@ configure-target-libatomic:
>  	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
>  	fi; \
>  	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	 \
> +	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
> +	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
> +	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
> +	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libatomic; \
>  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
> -	$(NORMAL_TARGET_EXPORTS)  \
> -	echo Configuring in $(TARGET_SUBDIR)/libatomic; \
> -	cd "$(TARGET_SUBDIR)/libatomic" || exit 1; \
> +	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
>  	case $(srcdir) in \
>  	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
>  	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
>  		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
>  	esac; \
>  	module_srcdir=libatomic; \
> -	rm -f no-such-file || : ; \
> -	CONFIG_SITE=no-such-file $(SHELL) \
> -	  $$s/$$module_srcdir/configure \
> +	$(SHELL) $$s/$$module_srcdir/configure \
>  	  --srcdir=$${topdir}/$$module_srcdir \
>  	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
> -	  --target=${target_alias}  \
> -	  || exit 1
> -@endif target-libatomic
> +	  --target=${target_alias} \
> +	  --with-build-libsubdir=$(HOST_SUBDIR) \
> +	  $(STAGEautofeedback_CONFIGURE_FLAGS)
> +@endif target-libatomic-bootstrap
>  
>  
>  
> @@ -56089,7 +58862,6 @@ all-target-libatomic: stage_current
>  TARGET-target-libatomic=all
>  maybe-all-target-libatomic: all-target-libatomic
>  all-target-libatomic: configure-target-libatomic
> -	@: $(MAKE); $(unstage)
>  	@r=`${PWD_COMMAND}`; export r; \
>  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
>  	$(NORMAL_TARGET_EXPORTS)  \
> @@ -56100,6 +58872,387 @@ all-target-libatomic: configure-target-libatomic
>  
>  
>  
> +.PHONY: all-stage1-target-libatomic maybe-all-stage1-target-libatomic
> +.PHONY: clean-stage1-target-libatomic maybe-clean-stage1-target-libatomic
> +maybe-all-stage1-target-libatomic:
> +maybe-clean-stage1-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stage1-target-libatomic: all-stage1-target-libatomic
> +all-stage1: all-stage1-target-libatomic
> +TARGET-stage1-target-libatomic = $(TARGET-target-libatomic)
> +all-stage1-target-libatomic: configure-stage1-target-libatomic
> +	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE1_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS)  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)  \
> +		  \
> +		TFLAGS="$(STAGE1_TFLAGS)"  \
> +		$(TARGET-stage1-target-libatomic)
> +
> +maybe-clean-stage1-target-libatomic: clean-stage1-target-libatomic
> +clean-stage1: clean-stage1-target-libatomic
> +clean-stage1-target-libatomic:
> +	@if [ $(current_stage) = stage1 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage1-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stage1-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
> +	  clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stage2-target-libatomic maybe-all-stage2-target-libatomic
> +.PHONY: clean-stage2-target-libatomic maybe-clean-stage2-target-libatomic
> +maybe-all-stage2-target-libatomic:
> +maybe-clean-stage2-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stage2-target-libatomic: all-stage2-target-libatomic
> +all-stage2: all-stage2-target-libatomic
> +TARGET-stage2-target-libatomic = $(TARGET-target-libatomic)
> +all-stage2-target-libatomic: configure-stage2-target-libatomic
> +	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE2_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE2_TFLAGS)"  \
> +		$(TARGET-stage2-target-libatomic)
> +
> +maybe-clean-stage2-target-libatomic: clean-stage2-target-libatomic
> +clean-stage2: clean-stage2-target-libatomic
> +clean-stage2-target-libatomic:
> +	@if [ $(current_stage) = stage2 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage2-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stage2-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stage3-target-libatomic maybe-all-stage3-target-libatomic
> +.PHONY: clean-stage3-target-libatomic maybe-clean-stage3-target-libatomic
> +maybe-all-stage3-target-libatomic:
> +maybe-clean-stage3-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stage3-target-libatomic: all-stage3-target-libatomic
> +all-stage3: all-stage3-target-libatomic
> +TARGET-stage3-target-libatomic = $(TARGET-target-libatomic)
> +all-stage3-target-libatomic: configure-stage3-target-libatomic
> +	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE3_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE3_TFLAGS)"  \
> +		$(TARGET-stage3-target-libatomic)
> +
> +maybe-clean-stage3-target-libatomic: clean-stage3-target-libatomic
> +clean-stage3: clean-stage3-target-libatomic
> +clean-stage3-target-libatomic:
> +	@if [ $(current_stage) = stage3 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage3-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stage3-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stage4-target-libatomic maybe-all-stage4-target-libatomic
> +.PHONY: clean-stage4-target-libatomic maybe-clean-stage4-target-libatomic
> +maybe-all-stage4-target-libatomic:
> +maybe-clean-stage4-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stage4-target-libatomic: all-stage4-target-libatomic
> +all-stage4: all-stage4-target-libatomic
> +TARGET-stage4-target-libatomic = $(TARGET-target-libatomic)
> +all-stage4-target-libatomic: configure-stage4-target-libatomic
> +	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGE4_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGE4_TFLAGS)"  \
> +		$(TARGET-stage4-target-libatomic)
> +
> +maybe-clean-stage4-target-libatomic: clean-stage4-target-libatomic
> +clean-stage4: clean-stage4-target-libatomic
> +clean-stage4-target-libatomic:
> +	@if [ $(current_stage) = stage4 ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stage4-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stage4-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stageprofile-target-libatomic maybe-all-stageprofile-target-libatomic
> +.PHONY: clean-stageprofile-target-libatomic maybe-clean-stageprofile-target-libatomic
> +maybe-all-stageprofile-target-libatomic:
> +maybe-clean-stageprofile-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stageprofile-target-libatomic: all-stageprofile-target-libatomic
> +all-stageprofile: all-stageprofile-target-libatomic
> +TARGET-stageprofile-target-libatomic = $(TARGET-target-libatomic)
> +all-stageprofile-target-libatomic: configure-stageprofile-target-libatomic
> +	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEprofile_TFLAGS)"  \
> +		$(TARGET-stageprofile-target-libatomic)
> +
> +maybe-clean-stageprofile-target-libatomic: clean-stageprofile-target-libatomic
> +clean-stageprofile: clean-stageprofile-target-libatomic
> +clean-stageprofile-target-libatomic:
> +	@if [ $(current_stage) = stageprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageprofile-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stageprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stagetrain-target-libatomic maybe-all-stagetrain-target-libatomic
> +.PHONY: clean-stagetrain-target-libatomic maybe-clean-stagetrain-target-libatomic
> +maybe-all-stagetrain-target-libatomic:
> +maybe-clean-stagetrain-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stagetrain-target-libatomic: all-stagetrain-target-libatomic
> +all-stagetrain: all-stagetrain-target-libatomic
> +TARGET-stagetrain-target-libatomic = $(TARGET-target-libatomic)
> +all-stagetrain-target-libatomic: configure-stagetrain-target-libatomic
> +	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEtrain_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEtrain_TFLAGS)"  \
> +		$(TARGET-stagetrain-target-libatomic)
> +
> +maybe-clean-stagetrain-target-libatomic: clean-stagetrain-target-libatomic
> +clean-stagetrain: clean-stagetrain-target-libatomic
> +clean-stagetrain-target-libatomic:
> +	@if [ $(current_stage) = stagetrain ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagetrain-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stagetrain-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stagefeedback-target-libatomic maybe-all-stagefeedback-target-libatomic
> +.PHONY: clean-stagefeedback-target-libatomic maybe-clean-stagefeedback-target-libatomic
> +maybe-all-stagefeedback-target-libatomic:
> +maybe-clean-stagefeedback-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stagefeedback-target-libatomic: all-stagefeedback-target-libatomic
> +all-stagefeedback: all-stagefeedback-target-libatomic
> +TARGET-stagefeedback-target-libatomic = $(TARGET-target-libatomic)
> +all-stagefeedback-target-libatomic: configure-stagefeedback-target-libatomic
> +	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
> +		$(TARGET-stagefeedback-target-libatomic)
> +
> +maybe-clean-stagefeedback-target-libatomic: clean-stagefeedback-target-libatomic
> +clean-stagefeedback: clean-stagefeedback-target-libatomic
> +clean-stagefeedback-target-libatomic:
> +	@if [ $(current_stage) = stagefeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stagefeedback-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stagefeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stageautoprofile-target-libatomic maybe-all-stageautoprofile-target-libatomic
> +.PHONY: clean-stageautoprofile-target-libatomic maybe-clean-stageautoprofile-target-libatomic
> +maybe-all-stageautoprofile-target-libatomic:
> +maybe-clean-stageautoprofile-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stageautoprofile-target-libatomic: all-stageautoprofile-target-libatomic
> +all-stageautoprofile: all-stageautoprofile-target-libatomic
> +TARGET-stageautoprofile-target-libatomic = $(TARGET-target-libatomic)
> +all-stageautoprofile-target-libatomic: configure-stageautoprofile-target-libatomic
> +	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$$s/gcc/config/i386/$(AUTO_PROFILE) \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
> +		$(TARGET-stageautoprofile-target-libatomic)
> +
> +maybe-clean-stageautoprofile-target-libatomic: clean-stageautoprofile-target-libatomic
> +clean-stageautoprofile: clean-stageautoprofile-target-libatomic
> +clean-stageautoprofile-target-libatomic:
> +	@if [ $(current_stage) = stageautoprofile ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stageautoprofile-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +.PHONY: all-stageautofeedback-target-libatomic maybe-all-stageautofeedback-target-libatomic
> +.PHONY: clean-stageautofeedback-target-libatomic maybe-clean-stageautofeedback-target-libatomic
> +maybe-all-stageautofeedback-target-libatomic:
> +maybe-clean-stageautofeedback-target-libatomic:
> +@if target-libatomic-bootstrap
> +maybe-all-stageautofeedback-target-libatomic: all-stageautofeedback-target-libatomic
> +all-stageautofeedback: all-stageautofeedback-target-libatomic
> +TARGET-stageautofeedback-target-libatomic = $(TARGET-target-libatomic)
> +all-stageautofeedback-target-libatomic: configure-stageautofeedback-target-libatomic
> +	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
> +	@r=`${PWD_COMMAND}`; export r; \
> +	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
> +	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
> +	$(NORMAL_TARGET_EXPORTS) \
> +	  \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	 \
> +	$(MAKE) $(BASE_FLAGS_TO_PASS) \
> +		CFLAGS="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
> +		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
> +		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
> +		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
> +		$(EXTRA_TARGET_FLAGS)   \
> +		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
> +		$(TARGET-stageautofeedback-target-libatomic)
> +
> +maybe-clean-stageautofeedback-target-libatomic: clean-stageautofeedback-target-libatomic
> +clean-stageautofeedback: clean-stageautofeedback-target-libatomic
> +clean-stageautofeedback-target-libatomic:
> +	@if [ $(current_stage) = stageautofeedback ]; then \
> +	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
> +	else \
> +	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libatomic/Makefile ] || exit 0; \
> +	  $(MAKE) stageautofeedback-start; \
> +	fi; \
> +	cd $(TARGET_SUBDIR)/libatomic && \
> +	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
> +@endif target-libatomic-bootstrap
> +
> +
> +
> +
>  
>  
>  .PHONY: check-target-libatomic maybe-check-target-libatomic
> @@ -59996,17 +63149,41 @@ configure-stagetrain-target-libgcc: maybe-all-stagetrain-gcc
>  configure-stagefeedback-target-libgcc: maybe-all-stagefeedback-gcc
>  configure-stageautoprofile-target-libgcc: maybe-all-stageautoprofile-gcc
>  configure-stageautofeedback-target-libgcc: maybe-all-stageautofeedback-gcc
> -configure-target-libbacktrace: stage_last
> +configure-stage1-target-libbacktrace: maybe-all-stage1-gcc
> +configure-stage2-target-libbacktrace: maybe-all-stage2-gcc
> +configure-stage3-target-libbacktrace: maybe-all-stage3-gcc
> +configure-stage4-target-libbacktrace: maybe-all-stage4-gcc
> +configure-stageprofile-target-libbacktrace: maybe-all-stageprofile-gcc
> +configure-stagetrain-target-libbacktrace: maybe-all-stagetrain-gcc
> +configure-stagefeedback-target-libbacktrace: maybe-all-stagefeedback-gcc
> +configure-stageautoprofile-target-libbacktrace: maybe-all-stageautoprofile-gcc
> +configure-stageautofeedback-target-libbacktrace: maybe-all-stageautofeedback-gcc
>  configure-target-libquadmath: stage_last
>  configure-target-libgfortran: stage_last
>  configure-target-libobjc: stage_last
>  configure-target-libgo: stage_last
> -configure-target-libphobos: stage_last
> +configure-stage1-target-libphobos: maybe-all-stage1-gcc
> +configure-stage2-target-libphobos: maybe-all-stage2-gcc
> +configure-stage3-target-libphobos: maybe-all-stage3-gcc
> +configure-stage4-target-libphobos: maybe-all-stage4-gcc
> +configure-stageprofile-target-libphobos: maybe-all-stageprofile-gcc
> +configure-stagetrain-target-libphobos: maybe-all-stagetrain-gcc
> +configure-stagefeedback-target-libphobos: maybe-all-stagefeedback-gcc
> +configure-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-gcc
> +configure-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-gcc
>  configure-target-libtermcap: stage_last
>  configure-target-winsup: stage_last
>  configure-target-libgloss: stage_last
>  configure-target-libffi: stage_last
> -configure-target-zlib: stage_last
> +configure-stage1-target-zlib: maybe-all-stage1-gcc
> +configure-stage2-target-zlib: maybe-all-stage2-gcc
> +configure-stage3-target-zlib: maybe-all-stage3-gcc
> +configure-stage4-target-zlib: maybe-all-stage4-gcc
> +configure-stageprofile-target-zlib: maybe-all-stageprofile-gcc
> +configure-stagetrain-target-zlib: maybe-all-stagetrain-gcc
> +configure-stagefeedback-target-zlib: maybe-all-stagefeedback-gcc
> +configure-stageautoprofile-target-zlib: maybe-all-stageautoprofile-gcc
> +configure-stageautofeedback-target-zlib: maybe-all-stageautofeedback-gcc
>  configure-target-rda: stage_last
>  configure-target-libada: stage_last
>  configure-stage1-target-libgomp: maybe-all-stage1-gcc
> @@ -60019,7 +63196,15 @@ configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-gcc
>  configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-gcc
>  configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-gcc
>  configure-target-libitm: stage_last
> -configure-target-libatomic: stage_last
> +configure-stage1-target-libatomic: maybe-all-stage1-gcc
> +configure-stage2-target-libatomic: maybe-all-stage2-gcc
> +configure-stage3-target-libatomic: maybe-all-stage3-gcc
> +configure-stage4-target-libatomic: maybe-all-stage4-gcc
> +configure-stageprofile-target-libatomic: maybe-all-stageprofile-gcc
> +configure-stagetrain-target-libatomic: maybe-all-stagetrain-gcc
> +configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-gcc
> +configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-gcc
> +configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-gcc
>  @endif gcc-bootstrap
>  
>  @if gcc-no-bootstrap
> @@ -61152,17 +64337,58 @@ all-flex: maybe-all-build-bison
>  all-flex: maybe-all-m4
>  all-flex: maybe-all-build-texinfo
>  all-m4: maybe-all-build-texinfo
> -configure-target-fastjar: maybe-configure-target-zlib
> -all-target-fastjar: maybe-all-target-zlib
>  configure-target-libgo: maybe-configure-target-libffi
> -all-target-libgo: maybe-all-target-libbacktrace
>  all-target-libgo: maybe-all-target-libffi
> -all-target-libgo: maybe-all-target-libatomic
>  configure-target-libphobos: maybe-configure-target-libbacktrace
> +configure-stage1-target-libphobos: maybe-configure-stage1-target-libbacktrace
> +configure-stage2-target-libphobos: maybe-configure-stage2-target-libbacktrace
> +configure-stage3-target-libphobos: maybe-configure-stage3-target-libbacktrace
> +configure-stage4-target-libphobos: maybe-configure-stage4-target-libbacktrace
> +configure-stageprofile-target-libphobos: maybe-configure-stageprofile-target-libbacktrace
> +configure-stagetrain-target-libphobos: maybe-configure-stagetrain-target-libbacktrace
> +configure-stagefeedback-target-libphobos: maybe-configure-stagefeedback-target-libbacktrace
> +configure-stageautoprofile-target-libphobos: maybe-configure-stageautoprofile-target-libbacktrace
> +configure-stageautofeedback-target-libphobos: maybe-configure-stageautofeedback-target-libbacktrace
>  configure-target-libphobos: maybe-configure-target-zlib
> +configure-stage1-target-libphobos: maybe-configure-stage1-target-zlib
> +configure-stage2-target-libphobos: maybe-configure-stage2-target-zlib
> +configure-stage3-target-libphobos: maybe-configure-stage3-target-zlib
> +configure-stage4-target-libphobos: maybe-configure-stage4-target-zlib
> +configure-stageprofile-target-libphobos: maybe-configure-stageprofile-target-zlib
> +configure-stagetrain-target-libphobos: maybe-configure-stagetrain-target-zlib
> +configure-stagefeedback-target-libphobos: maybe-configure-stagefeedback-target-zlib
> +configure-stageautoprofile-target-libphobos: maybe-configure-stageautoprofile-target-zlib
> +configure-stageautofeedback-target-libphobos: maybe-configure-stageautofeedback-target-zlib
>  all-target-libphobos: maybe-all-target-libbacktrace
> +all-stage1-target-libphobos: maybe-all-stage1-target-libbacktrace
> +all-stage2-target-libphobos: maybe-all-stage2-target-libbacktrace
> +all-stage3-target-libphobos: maybe-all-stage3-target-libbacktrace
> +all-stage4-target-libphobos: maybe-all-stage4-target-libbacktrace
> +all-stageprofile-target-libphobos: maybe-all-stageprofile-target-libbacktrace
> +all-stagetrain-target-libphobos: maybe-all-stagetrain-target-libbacktrace
> +all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libbacktrace
> +all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libbacktrace
> +all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libbacktrace
>  all-target-libphobos: maybe-all-target-zlib
> +all-stage1-target-libphobos: maybe-all-stage1-target-zlib
> +all-stage2-target-libphobos: maybe-all-stage2-target-zlib
> +all-stage3-target-libphobos: maybe-all-stage3-target-zlib
> +all-stage4-target-libphobos: maybe-all-stage4-target-zlib
> +all-stageprofile-target-libphobos: maybe-all-stageprofile-target-zlib
> +all-stagetrain-target-libphobos: maybe-all-stagetrain-target-zlib
> +all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-zlib
> +all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-zlib
> +all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-zlib
>  all-target-libphobos: maybe-all-target-libatomic
> +all-stage1-target-libphobos: maybe-all-stage1-target-libatomic
> +all-stage2-target-libphobos: maybe-all-stage2-target-libatomic
> +all-stage3-target-libphobos: maybe-all-stage3-target-libatomic
> +all-stage4-target-libphobos: maybe-all-stage4-target-libatomic
> +all-stageprofile-target-libphobos: maybe-all-stageprofile-target-libatomic
> +all-stagetrain-target-libphobos: maybe-all-stagetrain-target-libatomic
> +all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libatomic
> +all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libatomic
> +all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libatomic
>  configure-target-libstdc++-v3: maybe-configure-target-libgomp
>  configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
>  configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
> @@ -61219,7 +64445,6 @@ install-target-libstdc++-v3: maybe-install-target-libgcc
>  all-target-libgloss: maybe-all-target-newlib
>  all-target-winsup: maybe-all-target-libtermcap
>  configure-target-libgfortran: maybe-all-target-libquadmath
> -configure-target-libgfortran: maybe-all-target-libbacktrace
>  
>  
>  @if gcc-bootstrap
> @@ -61276,12 +64501,17 @@ all-fastjar: maybe-all-libiberty
>  all-bison: maybe-all-intl
>  all-flex: maybe-all-intl
>  all-m4: maybe-all-intl
> +configure-target-fastjar: maybe-configure-target-zlib
> +all-target-fastjar: maybe-all-target-zlib
>  configure-target-libgo: maybe-all-target-libstdc++-v3
>  configure-target-libffi: maybe-all-target-libstdc++-v3
> +all-target-libgo: maybe-all-target-libbacktrace
> +all-target-libgo: maybe-all-target-libatomic
>  configure-target-liboffloadmic: maybe-configure-target-libgomp
>  all-target-liboffloadmic: maybe-all-target-libgomp
>  configure-target-newlib: maybe-all-binutils
>  configure-target-newlib: maybe-all-ld
> +configure-target-libgfortran: maybe-all-target-libbacktrace
>  @endunless gcc-bootstrap
>  
>  # Dependencies for target modules on other target modules are
> @@ -61317,6 +64547,33 @@ configure-stagetrain-target-libvtv: maybe-all-stagetrain-target-libgcc
>  configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libgcc
>  configure-stageautoprofile-target-libvtv: maybe-all-stageautoprofile-target-libgcc
>  configure-stageautofeedback-target-libvtv: maybe-all-stageautofeedback-target-libgcc
> +configure-stage1-target-libbacktrace: maybe-all-stage1-target-libgcc
> +configure-stage2-target-libbacktrace: maybe-all-stage2-target-libgcc
> +configure-stage3-target-libbacktrace: maybe-all-stage3-target-libgcc
> +configure-stage4-target-libbacktrace: maybe-all-stage4-target-libgcc
> +configure-stageprofile-target-libbacktrace: maybe-all-stageprofile-target-libgcc
> +configure-stagetrain-target-libbacktrace: maybe-all-stagetrain-target-libgcc
> +configure-stagefeedback-target-libbacktrace: maybe-all-stagefeedback-target-libgcc
> +configure-stageautoprofile-target-libbacktrace: maybe-all-stageautoprofile-target-libgcc
> +configure-stageautofeedback-target-libbacktrace: maybe-all-stageautofeedback-target-libgcc
> +configure-stage1-target-libphobos: maybe-all-stage1-target-libgcc
> +configure-stage2-target-libphobos: maybe-all-stage2-target-libgcc
> +configure-stage3-target-libphobos: maybe-all-stage3-target-libgcc
> +configure-stage4-target-libphobos: maybe-all-stage4-target-libgcc
> +configure-stageprofile-target-libphobos: maybe-all-stageprofile-target-libgcc
> +configure-stagetrain-target-libphobos: maybe-all-stagetrain-target-libgcc
> +configure-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libgcc
> +configure-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libgcc
> +configure-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libgcc
> +configure-stage1-target-zlib: maybe-all-stage1-target-libgcc
> +configure-stage2-target-zlib: maybe-all-stage2-target-libgcc
> +configure-stage3-target-zlib: maybe-all-stage3-target-libgcc
> +configure-stage4-target-zlib: maybe-all-stage4-target-libgcc
> +configure-stageprofile-target-zlib: maybe-all-stageprofile-target-libgcc
> +configure-stagetrain-target-zlib: maybe-all-stagetrain-target-libgcc
> +configure-stagefeedback-target-zlib: maybe-all-stagefeedback-target-libgcc
> +configure-stageautoprofile-target-zlib: maybe-all-stageautoprofile-target-libgcc
> +configure-stageautofeedback-target-zlib: maybe-all-stageautofeedback-target-libgcc
>  configure-stage1-target-libgomp: maybe-all-stage1-target-libgcc
>  configure-stage2-target-libgomp: maybe-all-stage2-target-libgcc
>  configure-stage3-target-libgomp: maybe-all-stage3-target-libgcc
> @@ -61326,6 +64583,15 @@ configure-stagetrain-target-libgomp: maybe-all-stagetrain-target-libgcc
>  configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc
>  configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-target-libgcc
>  configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-target-libgcc
> +configure-stage1-target-libatomic: maybe-all-stage1-target-libgcc
> +configure-stage2-target-libatomic: maybe-all-stage2-target-libgcc
> +configure-stage3-target-libatomic: maybe-all-stage3-target-libgcc
> +configure-stage4-target-libatomic: maybe-all-stage4-target-libgcc
> +configure-stageprofile-target-libatomic: maybe-all-stageprofile-target-libgcc
> +configure-stagetrain-target-libatomic: maybe-all-stagetrain-target-libgcc
> +configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-target-libgcc
> +configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-target-libgcc
> +configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-target-libgcc
>  @endif gcc-bootstrap
>  
>  @if gcc-no-bootstrap
> diff --git a/Makefile.tpl b/Makefile.tpl
> index 9adf4f94728..46c8379be7f 100644
> --- a/Makefile.tpl
> +++ b/Makefile.tpl
> @@ -272,11 +272,11 @@ POSTSTAGE1_HOST_EXPORTS = \
>  	$(POSTSTAGE1_CXX_EXPORT) \
>  	$(LTO_EXPORTS) \
>  	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
> -	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
> +	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
>  	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
>  	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
>  	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
> -	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
> +	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
>  	export GDC; \
>  	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
>  	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
> @@ -481,6 +481,11 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
>  	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
>  	  --disable-build-format-warnings
>  
> +@if target-libphobos-bootstrap
> +STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
> +STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
> +@endif target-libphobos-bootstrap
> +
>  # When using the slow stage1 compiler disable IL verification and forcefully
>  # enable it when using the stage2 compiler instead.  As we later compare
>  # stage2 and stage3 we are merely avoid doing redundant work, plus we apply
> diff --git a/config/acx.m4 b/config/acx.m4
> index 87c1b5e2932..3c65d820628 100644
> --- a/config/acx.m4
> +++ b/config/acx.m4
> @@ -420,6 +420,18 @@ else
>  fi
>  ])
>  
> +# Test for D.
> +AC_DEFUN([ACX_PROG_GDC],
> +[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
> +AC_REQUIRE([AC_PROG_CC])
> +AC_CHECK_TOOL(GDC, gdc, no)
> +if test "x$GDC" != xno; then
> +  have_gdc=yes
> +else
> +  have_gdc=no
> +fi
> +])
> +
>  dnl 'make compare' can be significantly faster, if cmp itself can
>  dnl skip bytes instead of using tail.  The test being performed is
>  dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2"
> diff --git a/configure b/configure
> index 785498efff5..8aa9f0fe3c7 100755
> --- a/configure
> +++ b/configure
> @@ -619,6 +619,7 @@ GFORTRAN_FOR_TARGET
>  GCC_FOR_TARGET
>  CXX_FOR_TARGET
>  CC_FOR_TARGET
> +GDCFLAGS
>  READELF
>  OTOOL
>  OBJDUMP
> @@ -700,6 +701,7 @@ gmplibs
>  HAVE_CXX11_FOR_BUILD
>  HAVE_CXX11
>  do_compare
> +GDC
>  GNATMAKE
>  GNATBIND
>  ac_ct_CXX
> @@ -5622,6 +5624,106 @@ else
>    have_gnat=no
>  fi
>  
> +
> +
> +if test -n "$ac_tool_prefix"; then
> +  # Extract the first word of "${ac_tool_prefix}gdc", so it can be a program name with args.
> +set dummy ${ac_tool_prefix}gdc; ac_word=$2
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
> +$as_echo_n "checking for $ac_word... " >&6; }
> +if ${ac_cv_prog_GDC+:} false; then :
> +  $as_echo_n "(cached) " >&6
> +else
> +  if test -n "$GDC"; then
> +  ac_cv_prog_GDC="$GDC" # Let the user override the test.
> +else
> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> +for as_dir in $PATH
> +do
> +  IFS=$as_save_IFS
> +  test -z "$as_dir" && as_dir=.
> +    for ac_exec_ext in '' $ac_executable_extensions; do
> +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
> +    ac_cv_prog_GDC="${ac_tool_prefix}gdc"
> +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
> +    break 2
> +  fi
> +done
> +  done
> +IFS=$as_save_IFS
> +
> +fi
> +fi
> +GDC=$ac_cv_prog_GDC
> +if test -n "$GDC"; then
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GDC" >&5
> +$as_echo "$GDC" >&6; }
> +else
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +
> +
> +fi
> +if test -z "$ac_cv_prog_GDC"; then
> +  ac_ct_GDC=$GDC
> +  # Extract the first word of "gdc", so it can be a program name with args.
> +set dummy gdc; ac_word=$2
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
> +$as_echo_n "checking for $ac_word... " >&6; }
> +if ${ac_cv_prog_ac_ct_GDC+:} false; then :
> +  $as_echo_n "(cached) " >&6
> +else
> +  if test -n "$ac_ct_GDC"; then
> +  ac_cv_prog_ac_ct_GDC="$ac_ct_GDC" # Let the user override the test.
> +else
> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> +for as_dir in $PATH
> +do
> +  IFS=$as_save_IFS
> +  test -z "$as_dir" && as_dir=.
> +    for ac_exec_ext in '' $ac_executable_extensions; do
> +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
> +    ac_cv_prog_ac_ct_GDC="gdc"
> +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
> +    break 2
> +  fi
> +done
> +  done
> +IFS=$as_save_IFS
> +
> +fi
> +fi
> +ac_ct_GDC=$ac_cv_prog_ac_ct_GDC
> +if test -n "$ac_ct_GDC"; then
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GDC" >&5
> +$as_echo "$ac_ct_GDC" >&6; }
> +else
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +
> +  if test "x$ac_ct_GDC" = x; then
> +    GDC="no"
> +  else
> +    case $cross_compiling:$ac_tool_warned in
> +yes:)
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
> +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
> +ac_tool_warned=yes ;;
> +esac
> +    GDC=$ac_ct_GDC
> +  fi
> +else
> +  GDC="$ac_cv_prog_GDC"
> +fi
> +
> +if test "x$GDC" != xno; then
> +  have_gdc=yes
> +else
> +  have_gdc=no
> +fi
> +
>  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to compare bootstrapped objects" >&5
>  $as_echo_n "checking how to compare bootstrapped objects... " >&6; }
>  if ${gcc_cv_prog_cmp_skip+:} false; then :
> @@ -8664,6 +8766,23 @@ $as_echo "$as_me: WARNING: GNAT is required to build $language" >&2;}
>              ;;
>          esac
>  
> +        # Disable D if no preexisting GDC is available.
> +        case ${add_this_lang}:${language}:${have_gdc} in
> +          yes:d:no)
> +            # Specifically requested language; tell them.
> +            as_fn_error $? "GDC is required to build $language" "$LINENO" 5
> +           ;;
> +          all:d:no)
> +            { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GDC is required to build $language" >&5
> +$as_echo "$as_me: WARNING: GDC is required to build $language" >&2;}
> +            add_this_lang=unsupported
> +            ;;
> +          *:d:no)
> +            # Silently disable.
> +            add_this_lang=unsupported
> +            ;;
> +        esac
> +
>          # Disable jit if -enable-host-shared not specified
>          # but not if building for Mingw. All code in Windows
>          # is position independent code (PIC).
> @@ -8733,7 +8852,7 @@ $as_echo "$as_me: WARNING: ${language} not supported for this target" >&2;}
>  		  *) stage1_languages="${stage1_languages}${language}," ;;
>  		esac
>  		# We need to bootstrap any supporting libraries.
> -		bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
> +		bootstrap_target_libs=`echo "${bootstrap_target_libs}${target_libs}," | sed "s/ /,/g"`
>  		;;
>  	    esac
>  	    ;;
> @@ -9502,6 +9621,16 @@ if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
>    bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
>  fi
>  
> +# If we are building libatomic and the list of enabled languages includes the
> +# D frontend, bootstrap it.
> +if echo " ${target_configdirs} " | grep " libatomic " > /dev/null 2>&1; then
> +  case ,${enable_languages}, in
> +    *,d,*)
> +      bootstrap_target_libs=${bootstrap_target_libs}target-libatomic,
> +      ;;
> +  esac
> +fi
> +
>  # 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!
> @@ -12596,6 +12725,8 @@ fi
>  
>  
>  
> +
> +
>  # Target tools.
>  
>  # Check whether --with-build-time-tools was given.
> diff --git a/configure.ac b/configure.ac
> index c523083c346..488604eb3b7 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1405,6 +1405,7 @@ int main() {}])],
>  fi
>  
>  ACX_PROG_GNAT
> +ACX_PROG_GDC
>  ACX_PROG_CMP_IGNORE_INITIAL
>  
>  AC_ARG_ENABLE([bootstrap],
> @@ -2073,6 +2074,22 @@ if test -d ${srcdir}/gcc; then
>              ;;
>          esac
>  
> +        # Disable D if no preexisting GDC is available.
> +        case ${add_this_lang}:${language}:${have_gdc} in
> +          yes:d:no)
> +            # Specifically requested language; tell them.
> +            AC_MSG_ERROR([GDC is required to build $language])
> +           ;;
> +          all:d:no)
> +            AC_MSG_WARN([GDC is required to build $language])
> +            add_this_lang=unsupported
> +            ;;
> +          *:d:no)
> +            # Silently disable.
> +            add_this_lang=unsupported
> +            ;;
> +        esac
> +
>          # Disable jit if -enable-host-shared not specified
>          # but not if building for Mingw. All code in Windows
>          # is position independent code (PIC).
> @@ -2140,7 +2157,7 @@ directories, to avoid imposing the performance cost of
>  		  *) stage1_languages="${stage1_languages}${language}," ;;
>  		esac
>  		# We need to bootstrap any supporting libraries.
> -		bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
> +		bootstrap_target_libs=`echo "${bootstrap_target_libs}${target_libs}," | sed "s/ /,/g"`
>  		;;
>  	    esac
>  	    ;;
> @@ -2823,6 +2840,16 @@ if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
>    bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
>  fi
>  
> +# If we are building libatomic and the list of enabled languages includes the
> +# D frontend, bootstrap it.
> +if echo " ${target_configdirs} " | grep " libatomic " > /dev/null 2>&1; then
> +  case ,${enable_languages}, in
> +    *,d,*)
> +      bootstrap_target_libs=${bootstrap_target_libs}target-libatomic,
> +      ;;
> +  esac
> +fi
> +
>  # 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!
> @@ -3488,6 +3515,8 @@ AC_SUBST(CC)
>  AC_SUBST(CXX)
>  AC_SUBST(CFLAGS)
>  AC_SUBST(CXXFLAGS)
> +AC_SUBST(GDC)
> +AC_SUBST(GDCFLAGS)
>  
>  # Target tools.
>  AC_ARG_WITH([build-time-tools], 
> diff --git a/gcc/Makefile.in b/gcc/Makefile.in
> index f36ffa4740b..abed8e95669 100644
> --- a/gcc/Makefile.in
> +++ b/gcc/Makefile.in
> @@ -1090,6 +1090,10 @@ SYSLIBS = @GNAT_LIBEXC@
>  GNATBIND = @GNATBIND@
>  GNATMAKE = @GNATMAKE@
>  
> +# Used from d/Make-lang.in
> +GDC = @GDC@
> +GDCFLAGS = @GDCFLAGS@
> +
>  # Libs needed (at present) just for jcf-dump.
>  LDEXP_LIB = @LDEXP_LIB@
>  
> diff --git a/gcc/configure b/gcc/configure
> index 5ea5a1b7143..7a2c44836f6 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -855,6 +855,8 @@ EGREP
>  GREP
>  CXXCPP
>  PICFLAG_FOR_TARGET
> +GDCFLAGS
> +GDC
>  GNATMAKE
>  GNATBIND
>  ac_ct_CXX
> @@ -5254,6 +5256,106 @@ else
>  fi
>  
>  
> +
> +if test -n "$ac_tool_prefix"; then
> +  # Extract the first word of "${ac_tool_prefix}gdc", so it can be a program name with args.
> +set dummy ${ac_tool_prefix}gdc; ac_word=$2
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
> +$as_echo_n "checking for $ac_word... " >&6; }
> +if ${ac_cv_prog_GDC+:} false; then :
> +  $as_echo_n "(cached) " >&6
> +else
> +  if test -n "$GDC"; then
> +  ac_cv_prog_GDC="$GDC" # Let the user override the test.
> +else
> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> +for as_dir in $PATH
> +do
> +  IFS=$as_save_IFS
> +  test -z "$as_dir" && as_dir=.
> +    for ac_exec_ext in '' $ac_executable_extensions; do
> +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
> +    ac_cv_prog_GDC="${ac_tool_prefix}gdc"
> +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
> +    break 2
> +  fi
> +done
> +  done
> +IFS=$as_save_IFS
> +
> +fi
> +fi
> +GDC=$ac_cv_prog_GDC
> +if test -n "$GDC"; then
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GDC" >&5
> +$as_echo "$GDC" >&6; }
> +else
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +
> +
> +fi
> +if test -z "$ac_cv_prog_GDC"; then
> +  ac_ct_GDC=$GDC
> +  # Extract the first word of "gdc", so it can be a program name with args.
> +set dummy gdc; ac_word=$2
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
> +$as_echo_n "checking for $ac_word... " >&6; }
> +if ${ac_cv_prog_ac_ct_GDC+:} false; then :
> +  $as_echo_n "(cached) " >&6
> +else
> +  if test -n "$ac_ct_GDC"; then
> +  ac_cv_prog_ac_ct_GDC="$ac_ct_GDC" # Let the user override the test.
> +else
> +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
> +for as_dir in $PATH
> +do
> +  IFS=$as_save_IFS
> +  test -z "$as_dir" && as_dir=.
> +    for ac_exec_ext in '' $ac_executable_extensions; do
> +  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
> +    ac_cv_prog_ac_ct_GDC="gdc"
> +    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
> +    break 2
> +  fi
> +done
> +  done
> +IFS=$as_save_IFS
> +
> +fi
> +fi
> +ac_ct_GDC=$ac_cv_prog_ac_ct_GDC
> +if test -n "$ac_ct_GDC"; then
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GDC" >&5
> +$as_echo "$ac_ct_GDC" >&6; }
> +else
> +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
> +$as_echo "no" >&6; }
> +fi
> +
> +  if test "x$ac_ct_GDC" = x; then
> +    GDC="no"
> +  else
> +    case $cross_compiling:$ac_tool_warned in
> +yes:)
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
> +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
> +ac_tool_warned=yes ;;
> +esac
> +    GDC=$ac_ct_GDC
> +  fi
> +else
> +  GDC="$ac_cv_prog_GDC"
> +fi
> +
> +if test "x$GDC" != xno; then
> +  have_gdc=yes
> +else
> +  have_gdc=no
> +fi
> +
> +
>  # Do configure tests with the C++ compiler, since that's what we build with.
>  ac_ext=cpp
>  ac_cpp='$CXXCPP $CPPFLAGS'
> @@ -5272,6 +5374,7 @@ esac
>  
>  
>  
> +
>  # Determine PICFLAG for target gnatlib.
>  
>  
> @@ -19455,7 +19558,7 @@ else
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<_LT_EOF
> -#line 19458 "configure"
> +#line 19561 "configure"
>  #include "confdefs.h"
>  
>  #if HAVE_DLFCN_H
> @@ -19561,7 +19664,7 @@ else
>    lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
>    lt_status=$lt_dlunknown
>    cat > conftest.$ac_ext <<_LT_EOF
> -#line 19564 "configure"
> +#line 19667 "configure"
>  #include "confdefs.h"
>  
>  #if HAVE_DLFCN_H
> diff --git a/gcc/configure.ac b/gcc/configure.ac
> index 344b2f586e8..4e284b11752 100644
> --- a/gcc/configure.ac
> +++ b/gcc/configure.ac
> @@ -435,6 +435,7 @@ rm -f a.out a.exe b.out
>  AC_PROG_CC
>  AC_PROG_CXX
>  ACX_PROG_GNAT([-I"$srcdir"/ada/libgnat])
> +ACX_PROG_GDC([-I"$srcdir"/d])
>  
>  # Do configure tests with the C++ compiler, since that's what we build with.
>  AC_LANG(C++)
> @@ -448,6 +449,7 @@ case "$CC" in
>  esac
>  AC_SUBST(CFLAGS)
>  AC_SUBST(CXXFLAGS)
> +AC_SUBST(GDCFLAGS)
>  
>  # Determine PICFLAG for target gnatlib.
>  GCC_PICFLAG_FOR_TARGET
> diff --git a/gcc/po/EXCLUDES b/gcc/po/EXCLUDES
> index 29ecd063206..d2c5cbf3f2a 100644
> --- a/gcc/po/EXCLUDES
> +++ b/gcc/po/EXCLUDES
> @@ -53,46 +53,3 @@ genrecog.c
>  gensupport.c
>  gensupport.h
>  read-md.c
> -
> -#   These files are part of the front end to D, and have no i18n support.
> -d/dmd/arrayop.c
> -d/dmd/attrib.c
> -d/dmd/blockexit.c
> -d/dmd/canthrow.c
> -d/dmd/constfold.c
> -d/dmd/cppmangle.c
> -d/dmd/ctfeexpr.c
> -d/dmd/dcast.c
> -d/dmd/dclass.c
> -d/dmd/declaration.c
> -d/dmd/denum.c
> -d/dmd/dimport.c
> -d/dmd/dinterpret.c
> -d/dmd/dmangle.c
> -d/dmd/dmodule.c
> -d/dmd/doc.c
> -d/dmd/dscope.c
> -d/dmd/dstruct.c
> -d/dmd/dsymbol.c
> -d/dmd/dtemplate.c
> -d/dmd/dversion.c
> -d/dmd/expression.c
> -d/dmd/expressionsem.c
> -d/dmd/func.c
> -d/dmd/iasmgcc.c
> -d/dmd/initsem.c
> -d/dmd/lexer.c
> -d/dmd/mtype.c
> -d/dmd/nogc.c
> -d/dmd/nspace.c
> -d/dmd/objc.c
> -d/dmd/opover.c
> -d/dmd/optimize.c
> -d/dmd/parse.c
> -d/dmd/safe.c
> -d/dmd/sideeffect.c
> -d/dmd/statement.c
> -d/dmd/statementsem.c
> -d/dmd/staticassert.c
> -d/dmd/staticcond.c
> -d/dmd/traits.c
> -- 
> 2.30.2
  
Jeff Law Oct. 28, 2021, 6:37 p.m. UTC | #2
On 10/9/2021 7:32 AM, Iain Buclaw via Gcc-patches wrote:
> Hi,
>
> The implementation of the D front-end in GCC is based on the original
> C++ version of the D programming language compiler, which was ported to
> D itself in version 2.069.0 (released in 2015).  To keep it somewhat
> up-to-date, I have been backporting fixes from upstream back into C++,
> but this stopped at version 2.076.1 (released in 2017), and since then
> I've only been keeping the front-end only updated enough to still be
> able to build the latest version of the D language (now 2.098.0).
>
> Reasons for putting off switching to the D implementation immediately
> after GCC 9 has been a mixture of the front-end not being ready to use,
> and current portability status of the D core runtime library.
>
> It has come to the point now that I'm happy enough with the process to
> switch out the C++ sources in gcc/d/dmd with D sources.
>
> Before that, there's only this patch that makes the required changes to
> GCC itself in order to have a D front-end written in D itself.
>
> The rest of the series only changes code in the D language front-end or
> libphobos standard library, so I've left that out for the time being
> until I'm ready to commit it.
>
> The complete set of changes are in the ibuclaw/gdc branch under
> users/ibuclaw.  It has been well-tested on x86_64-linux-gnu for about 3
> years now, and I've also been testing the self-hosted compiler on
> powerpc64le-linux-gnu as well with no regressions from the D language
> testsuite run.
>
> Does anything stand out as being problematic in this patch, or may need
> splitting out first?  Or would it be OK for trunk?
>
> Thanks,
> Iain.
>
> ---
> ChangeLog:
>
> 	* Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
> 	libatomic.
> 	* Makefile.in: Regenerate.
> 	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
> 	(STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
> 	target-libphobos-bootstrap.
> 	(STAGE2_CONFIGURE_FLAGS): Likewise.
> 	* configure: Regenerate.
> 	* configure.ac: Add support for bootstrapping D front-end.
>
> config/ChangeLog:
>
> 	* acx.m4 (ACX_PROG_GDC): New m4 function.
>
> gcc/ChangeLog:
>
> 	* Makefile.in (GDC): New variable.
> 	(GDCFLAGS): New variable.
> 	* configure: Regenerate.
> 	* configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.
>
> gcc/po/ChangeLog:
>
> 	* EXCLUDES: Remove d/dmd sources from list.
Presumably this means that the only way to build D for the first time on 
a new target is to cross from an existing target that supports D, right?

I think that's not unreasonable and I don't think we want to increase 
the burden of maintaining an old codebase just for the sake of a 
marginally easier bootstrap process for a new target.

So I think you should go with this whenever you're ready.

jeff
  
Eric Gallager Oct. 29, 2021, 9:37 p.m. UTC | #3
On Thu, Oct 28, 2021 at 2:38 PM Jeff Law via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
>
>
> On 10/9/2021 7:32 AM, Iain Buclaw via Gcc-patches wrote:
> > Hi,
> >
> > The implementation of the D front-end in GCC is based on the original
> > C++ version of the D programming language compiler, which was ported to
> > D itself in version 2.069.0 (released in 2015).  To keep it somewhat
> > up-to-date, I have been backporting fixes from upstream back into C++,
> > but this stopped at version 2.076.1 (released in 2017), and since then
> > I've only been keeping the front-end only updated enough to still be
> > able to build the latest version of the D language (now 2.098.0).
> >
> > Reasons for putting off switching to the D implementation immediately
> > after GCC 9 has been a mixture of the front-end not being ready to use,
> > and current portability status of the D core runtime library.
> >
> > It has come to the point now that I'm happy enough with the process to
> > switch out the C++ sources in gcc/d/dmd with D sources.
> >
> > Before that, there's only this patch that makes the required changes to
> > GCC itself in order to have a D front-end written in D itself.
> >
> > The rest of the series only changes code in the D language front-end or
> > libphobos standard library, so I've left that out for the time being
> > until I'm ready to commit it.
> >
> > The complete set of changes are in the ibuclaw/gdc branch under
> > users/ibuclaw.  It has been well-tested on x86_64-linux-gnu for about 3
> > years now, and I've also been testing the self-hosted compiler on
> > powerpc64le-linux-gnu as well with no regressions from the D language
> > testsuite run.
> >
> > Does anything stand out as being problematic in this patch, or may need
> > splitting out first?  Or would it be OK for trunk?
> >
> > Thanks,
> > Iain.
> >
> > ---
> > ChangeLog:
> >
> >       * Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
> >       libatomic.
> >       * Makefile.in: Regenerate.
> >       * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
> >       (STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
> >       target-libphobos-bootstrap.
> >       (STAGE2_CONFIGURE_FLAGS): Likewise.
> >       * configure: Regenerate.
> >       * configure.ac: Add support for bootstrapping D front-end.
> >
> > config/ChangeLog:
> >
> >       * acx.m4 (ACX_PROG_GDC): New m4 function.
> >
> > gcc/ChangeLog:
> >
> >       * Makefile.in (GDC): New variable.
> >       (GDCFLAGS): New variable.
> >       * configure: Regenerate.
> >       * configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.
> >
> > gcc/po/ChangeLog:
> >
> >       * EXCLUDES: Remove d/dmd sources from list.
> Presumably this means that the only way to build D for the first time on
> a new target is to cross from an existing target that supports D, right?
>
> I think that's not unreasonable and I don't think we want to increase
> the burden of maintaining an old codebase just for the sake of a
> marginally easier bootstrap process for a new target.
>
> So I think you should go with this whenever you're ready.
>
> jeff
>

There should be some sort of note about this in the documentation,
IMO; both install.texi and the "Caveats" section of
gcc-12/changes.html (and possibly other places).

Eric
  
Thomas Schwinge Dec. 1, 2021, 1:57 p.m. UTC | #4
Hi!

On 2021-10-29T17:37:44-0400, Eric Gallager via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> On Thu, Oct 28, 2021 at 2:38 PM Jeff Law via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
>> On 10/9/2021 7:32 AM, Iain Buclaw via Gcc-patches wrote:
>> > The implementation of the D front-end in GCC is based on the original
>> > C++ version of the D programming language compiler, which was ported to
>> > D itself in version 2.069.0 (released in 2015).  [...]
>> > It has come to the point now that I'm happy enough with the process to
>> > switch out the C++ sources in gcc/d/dmd with D sources.

Congratulations: self-hosting compiler!

That, of course, makes the GCC/D compilation process more difficult:

>> Presumably this means that the only way to build D for the first time on
>> a new target is to cross from an existing target that supports D, right?
>>
>> I think that's not unreasonable and I don't think we want to increase
>> the burden of maintaining an old codebase just for the sake of a
>> marginally easier bootstrap process for a new target.

(Some may argue "burden" vs. "marginally", but yes, I agree.)  Plus, the
problem that also for non-cross (native) builds, you now have a baseline
GCC/D compiler requirement:

> There should be some sort of note about this in the documentation,
> IMO; both install.texi

That has been done.

    +In order to build GDC, the D compiler, you need a working GDC
    +compiler (GCC version 9.1 or later), as the D front end is written in D.

> and the "Caveats" section of
> gcc-12/changes.html (and possibly other places).

That not yet, but yes, I agree that should be done, too.


So it's now a requirement to build/bootstrap GCC/D with GCC 9.1 (or
newer, of course) -- which is quite different from the current GCC 4.8
requirement for all other GCC parts (including self-hosted GCC/Ada, by
the way, which also is happy with GCC 4.8).

I'm one of those (few, I guess?) doing bootstrap verification builds with
actual old GCC 4.8 ("gcc-4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4",
precisely), and that now obviously doesn't cover GCC/D anymore, for
example with '--enable-languages=all' (and without the GDC 4.8 packages
installed):

    [...]
    +checking for gdc... no
    [...]
    +configure: WARNING: GDC is required to build d
     configure: WARNING: --enable-host-shared required to build jit
    -The following languages will be built: c,ada,c++,d,fortran,go,lto,objc,obj-c++
    +The following languages will be built: c,ada,c++,fortran,go,lto,objc,obj-c++
     *** This configuration is not supported in the following subdirectories:
    -     target-liboffloadmic
    +     target-libphobos target-zlib target-liboffloadmic
         (Any other directories should still work fine.)
    [...]

..., or error for explicit '--enable-languages=d'.

So I built myself a stock GCC 9.1 with '--enable-languages=d', and via
'[...]/configure [...] CC=gcc-4.8 CXX=g++-4.8 GDC=[GCC 9.1]/bin/gdc [...]'
I'm able to successfully bootstrap GCC, including GCC/D, in a mixed
GCC 4.8/9.1 configuration, with subsequent good-looking 'make check-d'
results.  Per my superficial review of the build log file, the
'[GCC 9.1]/bin/gdc' indeed is only used during stage 1 build, as it
should be.  So that's good enough as far as I'm concerned, and unless
anyone sees any reason why such a mixed GCC 4.8/9.1 configuration would
be bad, may it be worth putting such information (may 'configure' with
'GDC=[GCC 9.1]/bin/gdc') into the documentation, too?


Grüße
 Thomas
-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  

Patch

diff --git a/Makefile.def b/Makefile.def
index e015a7aaeb7..a76798068d8 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -161,12 +161,12 @@  target_modules = { module= liboffloadmic;
 target_modules = { module= libssp; lib_path=.libs; };
 target_modules = { module= newlib; };
 target_modules = { module= libgcc; bootstrap=true; no_check=true; };
-target_modules = { module= libbacktrace; };
+target_modules = { module= libbacktrace; bootstrap=true; };
 target_modules = { module= libquadmath; };
 target_modules = { module= libgfortran; };
 target_modules = { module= libobjc; };
 target_modules = { module= libgo; };
-target_modules = { module= libphobos;
+target_modules = { module= libphobos; bootstrap=true;
 		   lib_path=src/.libs; };
 target_modules = { module= libtermcap; no_check=true;
                    missing=mostlyclean;
@@ -176,12 +176,12 @@  target_modules = { module= libtermcap; no_check=true;
 target_modules = { module= winsup; };
 target_modules = { module= libgloss; no_check=true; };
 target_modules = { module= libffi; no_install=true; };
-target_modules = { module= zlib; };
+target_modules = { module= zlib; bootstrap=true; };
 target_modules = { module= rda; };
 target_modules = { module= libada; };
 target_modules = { module= libgomp; bootstrap= true; lib_path=.libs; };
 target_modules = { module= libitm; lib_path=.libs; };
-target_modules = { module= libatomic; lib_path=.libs; };
+target_modules = { module= libatomic; bootstrap=true; lib_path=.libs; };
 
 // These are (some of) the make targets to be done in each subdirectory.
 // Not all; these are the ones which don't have special options.
diff --git a/Makefile.in b/Makefile.in
index 9219ebfb02b..2616d8e0e4c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -269,11 +269,11 @@  POSTSTAGE1_HOST_EXPORTS = \
 	$(POSTSTAGE1_CXX_EXPORT) \
 	$(LTO_EXPORTS) \
 	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
-	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
+	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
 	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
 	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
 	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
-	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
+	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
 	export GDC; \
 	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
 	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
@@ -558,6 +558,11 @@  STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
 	  --disable-build-format-warnings
 
+@if target-libphobos-bootstrap
+STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+@endif target-libphobos-bootstrap
+
 # When using the slow stage1 compiler disable IL verification and forcefully
 # enable it when using the stage2 compiler instead.  As we later compare
 # stage2 and stage3 we are merely avoid doing redundant work, plus we apply
@@ -1238,24 +1243,32 @@  all-target: maybe-all-target-newlib
 @if target-libgcc-no-bootstrap
 all-target: maybe-all-target-libgcc
 @endif target-libgcc-no-bootstrap
+@if target-libbacktrace-no-bootstrap
 all-target: maybe-all-target-libbacktrace
+@endif target-libbacktrace-no-bootstrap
 all-target: maybe-all-target-libquadmath
 all-target: maybe-all-target-libgfortran
 all-target: maybe-all-target-libobjc
 all-target: maybe-all-target-libgo
+@if target-libphobos-no-bootstrap
 all-target: maybe-all-target-libphobos
+@endif target-libphobos-no-bootstrap
 all-target: maybe-all-target-libtermcap
 all-target: maybe-all-target-winsup
 all-target: maybe-all-target-libgloss
 all-target: maybe-all-target-libffi
+@if target-zlib-no-bootstrap
 all-target: maybe-all-target-zlib
+@endif target-zlib-no-bootstrap
 all-target: maybe-all-target-rda
 all-target: maybe-all-target-libada
 @if target-libgomp-no-bootstrap
 all-target: maybe-all-target-libgomp
 @endif target-libgomp-no-bootstrap
 all-target: maybe-all-target-libitm
+@if target-libatomic-no-bootstrap
 all-target: maybe-all-target-libatomic
+@endif target-libatomic-no-bootstrap
 
 # 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
@@ -48465,7 +48478,6 @@  configure-target-libbacktrace: stage_current
 @if target-libbacktrace
 maybe-configure-target-libbacktrace: configure-target-libbacktrace
 configure-target-libbacktrace: 
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	echo "Checking multilib configuration for libbacktrace..."; \
@@ -48503,6 +48515,412 @@  configure-target-libbacktrace:
 
 
 
+.PHONY: configure-stage1-target-libbacktrace maybe-configure-stage1-target-libbacktrace
+maybe-configure-stage1-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stage1-target-libbacktrace: configure-stage1-target-libbacktrace
+configure-stage1-target-libbacktrace:
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 1 in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	   \
+	  $(STAGE1_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stage2-target-libbacktrace maybe-configure-stage2-target-libbacktrace
+maybe-configure-stage2-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stage2-target-libbacktrace: configure-stage2-target-libbacktrace
+configure-stage2-target-libbacktrace:
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 2 in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE2_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stage3-target-libbacktrace maybe-configure-stage3-target-libbacktrace
+maybe-configure-stage3-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stage3-target-libbacktrace: configure-stage3-target-libbacktrace
+configure-stage3-target-libbacktrace:
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 3 in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE3_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stage4-target-libbacktrace maybe-configure-stage4-target-libbacktrace
+maybe-configure-stage4-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stage4-target-libbacktrace: configure-stage4-target-libbacktrace
+configure-stage4-target-libbacktrace:
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 4 in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE4_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stageprofile-target-libbacktrace maybe-configure-stageprofile-target-libbacktrace
+maybe-configure-stageprofile-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stageprofile-target-libbacktrace: configure-stageprofile-target-libbacktrace
+configure-stageprofile-target-libbacktrace:
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage profile in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEprofile_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stagetrain-target-libbacktrace maybe-configure-stagetrain-target-libbacktrace
+maybe-configure-stagetrain-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stagetrain-target-libbacktrace: configure-stagetrain-target-libbacktrace
+configure-stagetrain-target-libbacktrace:
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage train in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEtrain_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stagefeedback-target-libbacktrace maybe-configure-stagefeedback-target-libbacktrace
+maybe-configure-stagefeedback-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stagefeedback-target-libbacktrace: configure-stagefeedback-target-libbacktrace
+configure-stagefeedback-target-libbacktrace:
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage feedback in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stageautoprofile-target-libbacktrace maybe-configure-stageautoprofile-target-libbacktrace
+maybe-configure-stageautoprofile-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stageautoprofile-target-libbacktrace: configure-stageautoprofile-target-libbacktrace
+configure-stageautoprofile-target-libbacktrace:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libbacktrace maybe-configure-stageautofeedback-target-libbacktrace
+maybe-configure-stageautofeedback-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-configure-stageautofeedback-target-libbacktrace: configure-stageautofeedback-target-libbacktrace
+configure-stageautofeedback-target-libbacktrace:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libbacktrace..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libbacktrace/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libbacktrace/Makefile; \
+	    mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libbacktrace/multilib.tmp $(TARGET_SUBDIR)/libbacktrace/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libbacktrace/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libbacktrace; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libbacktrace; \
+	cd $(TARGET_SUBDIR)/libbacktrace || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libbacktrace/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libbacktrace; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libbacktrace-bootstrap
+
+
+
 
 
 .PHONY: all-target-libbacktrace maybe-all-target-libbacktrace
@@ -48514,7 +48932,6 @@  all-target-libbacktrace: stage_current
 TARGET-target-libbacktrace=all
 maybe-all-target-libbacktrace: all-target-libbacktrace
 all-target-libbacktrace: configure-target-libbacktrace
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(NORMAL_TARGET_EXPORTS)  \
@@ -48525,110 +48942,491 @@  all-target-libbacktrace: configure-target-libbacktrace
 
 
 
+.PHONY: all-stage1-target-libbacktrace maybe-all-stage1-target-libbacktrace
+.PHONY: clean-stage1-target-libbacktrace maybe-clean-stage1-target-libbacktrace
+maybe-all-stage1-target-libbacktrace:
+maybe-clean-stage1-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stage1-target-libbacktrace: all-stage1-target-libbacktrace
+all-stage1: all-stage1-target-libbacktrace
+TARGET-stage1-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stage1-target-libbacktrace: configure-stage1-target-libbacktrace
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)  \
+		  \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
+		$(TARGET-stage1-target-libbacktrace)
 
-
-.PHONY: check-target-libbacktrace maybe-check-target-libbacktrace
-maybe-check-target-libbacktrace:
-@if target-libbacktrace
-maybe-check-target-libbacktrace: check-target-libbacktrace
-
-check-target-libbacktrace:
-	@: $(MAKE); $(unstage)
+maybe-clean-stage1-target-libbacktrace: clean-stage1-target-libbacktrace
+clean-stage1: clean-stage1-target-libbacktrace
+clean-stage1-target-libbacktrace:
+	@if [ $(current_stage) = stage1 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage1-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stage1-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
+	  clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stage2-target-libbacktrace maybe-all-stage2-target-libbacktrace
+.PHONY: clean-stage2-target-libbacktrace maybe-clean-stage2-target-libbacktrace
+maybe-all-stage2-target-libbacktrace:
+maybe-clean-stage2-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stage2-target-libbacktrace: all-stage2-target-libbacktrace
+all-stage2: all-stage2-target-libbacktrace
+TARGET-stage2-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stage2-target-libbacktrace: configure-stage2-target-libbacktrace
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
-
-@endif target-libbacktrace
-
-.PHONY: install-target-libbacktrace maybe-install-target-libbacktrace
-maybe-install-target-libbacktrace:
-@if target-libbacktrace
-maybe-install-target-libbacktrace: install-target-libbacktrace
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
+		$(TARGET-stage2-target-libbacktrace)
 
-install-target-libbacktrace: installdirs
-	@: $(MAKE); $(unstage)
+maybe-clean-stage2-target-libbacktrace: clean-stage2-target-libbacktrace
+clean-stage2: clean-stage2-target-libbacktrace
+clean-stage2-target-libbacktrace:
+	@if [ $(current_stage) = stage2 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage2-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stage2-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stage3-target-libbacktrace maybe-all-stage3-target-libbacktrace
+.PHONY: clean-stage3-target-libbacktrace maybe-clean-stage3-target-libbacktrace
+maybe-all-stage3-target-libbacktrace:
+maybe-clean-stage3-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stage3-target-libbacktrace: all-stage3-target-libbacktrace
+all-stage3: all-stage3-target-libbacktrace
+TARGET-stage3-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stage3-target-libbacktrace: configure-stage3-target-libbacktrace
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
-
-@endif target-libbacktrace
-
-.PHONY: install-strip-target-libbacktrace maybe-install-strip-target-libbacktrace
-maybe-install-strip-target-libbacktrace:
-@if target-libbacktrace
-maybe-install-strip-target-libbacktrace: install-strip-target-libbacktrace
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
+		$(TARGET-stage3-target-libbacktrace)
 
-install-strip-target-libbacktrace: installdirs
-	@: $(MAKE); $(unstage)
+maybe-clean-stage3-target-libbacktrace: clean-stage3-target-libbacktrace
+clean-stage3: clean-stage3-target-libbacktrace
+clean-stage3-target-libbacktrace:
+	@if [ $(current_stage) = stage3 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage3-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stage3-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stage4-target-libbacktrace maybe-all-stage4-target-libbacktrace
+.PHONY: clean-stage4-target-libbacktrace maybe-clean-stage4-target-libbacktrace
+maybe-all-stage4-target-libbacktrace:
+maybe-clean-stage4-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stage4-target-libbacktrace: all-stage4-target-libbacktrace
+all-stage4: all-stage4-target-libbacktrace
+TARGET-stage4-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stage4-target-libbacktrace: configure-stage4-target-libbacktrace
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
-
-@endif target-libbacktrace
-
-# Other targets (info, dvi, pdf, etc.)
-
-.PHONY: maybe-info-target-libbacktrace info-target-libbacktrace
-maybe-info-target-libbacktrace:
-@if target-libbacktrace
-maybe-info-target-libbacktrace: info-target-libbacktrace
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
+		$(TARGET-stage4-target-libbacktrace)
 
-info-target-libbacktrace: \
-    configure-target-libbacktrace 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+maybe-clean-stage4-target-libbacktrace: clean-stage4-target-libbacktrace
+clean-stage4: clean-stage4-target-libbacktrace
+clean-stage4-target-libbacktrace:
+	@if [ $(current_stage) = stage4 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage4-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stage4-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stageprofile-target-libbacktrace maybe-all-stageprofile-target-libbacktrace
+.PHONY: clean-stageprofile-target-libbacktrace maybe-clean-stageprofile-target-libbacktrace
+maybe-all-stageprofile-target-libbacktrace:
+maybe-clean-stageprofile-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stageprofile-target-libbacktrace: all-stageprofile-target-libbacktrace
+all-stageprofile: all-stageprofile-target-libbacktrace
+TARGET-stageprofile-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stageprofile-target-libbacktrace: configure-stageprofile-target-libbacktrace
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing info in $(TARGET_SUBDIR)/libbacktrace"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           info) \
-	  || exit 1
-
-@endif target-libbacktrace
-
-.PHONY: maybe-dvi-target-libbacktrace dvi-target-libbacktrace
-maybe-dvi-target-libbacktrace:
-@if target-libbacktrace
-maybe-dvi-target-libbacktrace: dvi-target-libbacktrace
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
+		$(TARGET-stageprofile-target-libbacktrace)
 
-dvi-target-libbacktrace: \
-    configure-target-libbacktrace 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+maybe-clean-stageprofile-target-libbacktrace: clean-stageprofile-target-libbacktrace
+clean-stageprofile: clean-stageprofile-target-libbacktrace
+clean-stageprofile-target-libbacktrace:
+	@if [ $(current_stage) = stageprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageprofile-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stageprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stagetrain-target-libbacktrace maybe-all-stagetrain-target-libbacktrace
+.PHONY: clean-stagetrain-target-libbacktrace maybe-clean-stagetrain-target-libbacktrace
+maybe-all-stagetrain-target-libbacktrace:
+maybe-clean-stagetrain-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stagetrain-target-libbacktrace: all-stagetrain-target-libbacktrace
+all-stagetrain: all-stagetrain-target-libbacktrace
+TARGET-stagetrain-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stagetrain-target-libbacktrace: configure-stagetrain-target-libbacktrace
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing dvi in $(TARGET_SUBDIR)/libbacktrace"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libbacktrace && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           dvi) \
-	  || exit 1
-
-@endif target-libbacktrace
-
-.PHONY: maybe-pdf-target-libbacktrace pdf-target-libbacktrace
-maybe-pdf-target-libbacktrace:
-@if target-libbacktrace
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEtrain_TFLAGS)"  \
+		$(TARGET-stagetrain-target-libbacktrace)
+
+maybe-clean-stagetrain-target-libbacktrace: clean-stagetrain-target-libbacktrace
+clean-stagetrain: clean-stagetrain-target-libbacktrace
+clean-stagetrain-target-libbacktrace:
+	@if [ $(current_stage) = stagetrain ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagetrain-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stagetrain-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stagefeedback-target-libbacktrace maybe-all-stagefeedback-target-libbacktrace
+.PHONY: clean-stagefeedback-target-libbacktrace maybe-clean-stagefeedback-target-libbacktrace
+maybe-all-stagefeedback-target-libbacktrace:
+maybe-clean-stagefeedback-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stagefeedback-target-libbacktrace: all-stagefeedback-target-libbacktrace
+all-stagefeedback: all-stagefeedback-target-libbacktrace
+TARGET-stagefeedback-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stagefeedback-target-libbacktrace: configure-stagefeedback-target-libbacktrace
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
+		$(TARGET-stagefeedback-target-libbacktrace)
+
+maybe-clean-stagefeedback-target-libbacktrace: clean-stagefeedback-target-libbacktrace
+clean-stagefeedback: clean-stagefeedback-target-libbacktrace
+clean-stagefeedback-target-libbacktrace:
+	@if [ $(current_stage) = stagefeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagefeedback-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stagefeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stageautoprofile-target-libbacktrace maybe-all-stageautoprofile-target-libbacktrace
+.PHONY: clean-stageautoprofile-target-libbacktrace maybe-clean-stageautoprofile-target-libbacktrace
+maybe-all-stageautoprofile-target-libbacktrace:
+maybe-clean-stageautoprofile-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stageautoprofile-target-libbacktrace: all-stageautoprofile-target-libbacktrace
+all-stageautoprofile: all-stageautoprofile-target-libbacktrace
+TARGET-stageautoprofile-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stageautoprofile-target-libbacktrace: configure-stageautoprofile-target-libbacktrace
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libbacktrace)
+
+maybe-clean-stageautoprofile-target-libbacktrace: clean-stageautoprofile-target-libbacktrace
+clean-stageautoprofile: clean-stageautoprofile-target-libbacktrace
+clean-stageautoprofile-target-libbacktrace:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libbacktrace maybe-all-stageautofeedback-target-libbacktrace
+.PHONY: clean-stageautofeedback-target-libbacktrace maybe-clean-stageautofeedback-target-libbacktrace
+maybe-all-stageautofeedback-target-libbacktrace:
+maybe-clean-stageautofeedback-target-libbacktrace:
+@if target-libbacktrace-bootstrap
+maybe-all-stageautofeedback-target-libbacktrace: all-stageautofeedback-target-libbacktrace
+all-stageautofeedback: all-stageautofeedback-target-libbacktrace
+TARGET-stageautofeedback-target-libbacktrace = $(TARGET-target-libbacktrace)
+all-stageautofeedback-target-libbacktrace: configure-stageautofeedback-target-libbacktrace
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libbacktrace)
+
+maybe-clean-stageautofeedback-target-libbacktrace: clean-stageautofeedback-target-libbacktrace
+clean-stageautofeedback: clean-stageautofeedback-target-libbacktrace
+clean-stageautofeedback-target-libbacktrace:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libbacktrace/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libbacktrace && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libbacktrace-bootstrap
+
+
+
+
+
+
+.PHONY: check-target-libbacktrace maybe-check-target-libbacktrace
+maybe-check-target-libbacktrace:
+@if target-libbacktrace
+maybe-check-target-libbacktrace: check-target-libbacktrace
+
+check-target-libbacktrace:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+
+@endif target-libbacktrace
+
+.PHONY: install-target-libbacktrace maybe-install-target-libbacktrace
+maybe-install-target-libbacktrace:
+@if target-libbacktrace
+maybe-install-target-libbacktrace: install-target-libbacktrace
+
+install-target-libbacktrace: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+
+@endif target-libbacktrace
+
+.PHONY: install-strip-target-libbacktrace maybe-install-strip-target-libbacktrace
+maybe-install-strip-target-libbacktrace:
+@if target-libbacktrace
+maybe-install-strip-target-libbacktrace: install-strip-target-libbacktrace
+
+install-strip-target-libbacktrace: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
+
+@endif target-libbacktrace
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libbacktrace info-target-libbacktrace
+maybe-info-target-libbacktrace:
+@if target-libbacktrace
+maybe-info-target-libbacktrace: info-target-libbacktrace
+
+info-target-libbacktrace: \
+    configure-target-libbacktrace 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing info in $(TARGET_SUBDIR)/libbacktrace"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           info) \
+	  || exit 1
+
+@endif target-libbacktrace
+
+.PHONY: maybe-dvi-target-libbacktrace dvi-target-libbacktrace
+maybe-dvi-target-libbacktrace:
+@if target-libbacktrace
+maybe-dvi-target-libbacktrace: dvi-target-libbacktrace
+
+dvi-target-libbacktrace: \
+    configure-target-libbacktrace 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libbacktrace/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing dvi in $(TARGET_SUBDIR)/libbacktrace"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libbacktrace && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           dvi) \
+	  || exit 1
+
+@endif target-libbacktrace
+
+.PHONY: maybe-pdf-target-libbacktrace pdf-target-libbacktrace
+maybe-pdf-target-libbacktrace:
+@if target-libbacktrace
 maybe-pdf-target-libbacktrace: pdf-target-libbacktrace
 
 pdf-target-libbacktrace: \
@@ -50755,7 +51553,6 @@  configure-target-libphobos: stage_current
 @if target-libphobos
 maybe-configure-target-libphobos: configure-target-libphobos
 configure-target-libphobos: 
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	echo "Checking multilib configuration for libphobos..."; \
@@ -50793,152 +51590,938 @@  configure-target-libphobos:
 
 
 
-
-
-.PHONY: all-target-libphobos maybe-all-target-libphobos
-maybe-all-target-libphobos:
-@if gcc-bootstrap
-all-target-libphobos: stage_current
-@endif gcc-bootstrap
-@if target-libphobos
-TARGET-target-libphobos=all
-maybe-all-target-libphobos: all-target-libphobos
-all-target-libphobos: configure-target-libphobos
-	@: $(MAKE); $(unstage)
+.PHONY: configure-stage1-target-libphobos maybe-configure-stage1-target-libphobos
+maybe-configure-stage1-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stage1-target-libphobos: configure-stage1-target-libphobos
+configure-stage1-target-libphobos:
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(NORMAL_TARGET_EXPORTS)  \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
-		$(TARGET-target-libphobos))
-@endif target-libphobos
-
-
-
-
-
-.PHONY: check-target-libphobos maybe-check-target-libphobos
-maybe-check-target-libphobos:
-@if target-libphobos
-maybe-check-target-libphobos: check-target-libphobos
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 1 in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	   \
+	  $(STAGE1_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-check-target-libphobos:
-	@: $(MAKE); $(unstage)
+.PHONY: configure-stage2-target-libphobos maybe-configure-stage2-target-libphobos
+maybe-configure-stage2-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stage2-target-libphobos: configure-stage2-target-libphobos
+configure-stage2-target-libphobos:
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
-
-@endif target-libphobos
-
-.PHONY: install-target-libphobos maybe-install-target-libphobos
-maybe-install-target-libphobos:
-@if target-libphobos
-maybe-install-target-libphobos: install-target-libphobos
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 2 in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE2_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-install-target-libphobos: installdirs
-	@: $(MAKE); $(unstage)
+.PHONY: configure-stage3-target-libphobos maybe-configure-stage3-target-libphobos
+maybe-configure-stage3-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stage3-target-libphobos: configure-stage3-target-libphobos
+configure-stage3-target-libphobos:
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
-
-@endif target-libphobos
-
-.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos
-maybe-install-strip-target-libphobos:
-@if target-libphobos
-maybe-install-strip-target-libphobos: install-strip-target-libphobos
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 3 in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE3_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-install-strip-target-libphobos: installdirs
-	@: $(MAKE); $(unstage)
+.PHONY: configure-stage4-target-libphobos maybe-configure-stage4-target-libphobos
+maybe-configure-stage4-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stage4-target-libphobos: configure-stage4-target-libphobos
+configure-stage4-target-libphobos:
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
-
-@endif target-libphobos
-
-# Other targets (info, dvi, pdf, etc.)
-
-.PHONY: maybe-info-target-libphobos info-target-libphobos
-maybe-info-target-libphobos:
-@if target-libphobos
-maybe-info-target-libphobos: info-target-libphobos
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 4 in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE4_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-info-target-libphobos: \
-    configure-target-libphobos 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stageprofile-target-libphobos maybe-configure-stageprofile-target-libphobos
+maybe-configure-stageprofile-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stageprofile-target-libphobos: configure-stageprofile-target-libphobos
+configure-stageprofile-target-libphobos:
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           info) \
-	  || exit 1
-
-@endif target-libphobos
-
-.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos
-maybe-dvi-target-libphobos:
-@if target-libphobos
-maybe-dvi-target-libphobos: dvi-target-libphobos
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage profile in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEprofile_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-dvi-target-libphobos: \
-    configure-target-libphobos 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stagetrain-target-libphobos maybe-configure-stagetrain-target-libphobos
+maybe-configure-stagetrain-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stagetrain-target-libphobos: configure-stagetrain-target-libphobos
+configure-stagetrain-target-libphobos:
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           dvi) \
-	  || exit 1
-
-@endif target-libphobos
-
-.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos
-maybe-pdf-target-libphobos:
-@if target-libphobos
-maybe-pdf-target-libphobos: pdf-target-libphobos
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage train in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEtrain_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
 
-pdf-target-libphobos: \
-    configure-target-libphobos 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stagefeedback-target-libphobos maybe-configure-stagefeedback-target-libphobos
+maybe-configure-stagefeedback-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stagefeedback-target-libphobos: configure-stagefeedback-target-libphobos
+configure-stagefeedback-target-libphobos:
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libphobos && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           pdf) \
-	  || exit 1
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage feedback in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
+
+.PHONY: configure-stageautoprofile-target-libphobos maybe-configure-stageautoprofile-target-libphobos
+maybe-configure-stageautoprofile-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stageautoprofile-target-libphobos: configure-stageautoprofile-target-libphobos
+configure-stageautoprofile-target-libphobos:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
+
+.PHONY: configure-stageautofeedback-target-libphobos maybe-configure-stageautofeedback-target-libphobos
+maybe-configure-stageautofeedback-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-configure-stageautofeedback-target-libphobos: configure-stageautofeedback-target-libphobos
+configure-stageautofeedback-target-libphobos:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libphobos..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libphobos/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libphobos/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libphobos/Makefile; \
+	    mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libphobos/multilib.tmp $(TARGET_SUBDIR)/libphobos/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libphobos/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libphobos; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libphobos; \
+	cd $(TARGET_SUBDIR)/libphobos || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libphobos/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libphobos; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libphobos-bootstrap
+
+
+
+
+
+.PHONY: all-target-libphobos maybe-all-target-libphobos
+maybe-all-target-libphobos:
+@if gcc-bootstrap
+all-target-libphobos: stage_current
+@endif gcc-bootstrap
+@if target-libphobos
+TARGET-target-libphobos=all
+maybe-all-target-libphobos: all-target-libphobos
+all-target-libphobos: configure-target-libphobos
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)   \
+		$(TARGET-target-libphobos))
+@endif target-libphobos
+
+
+
+.PHONY: all-stage1-target-libphobos maybe-all-stage1-target-libphobos
+.PHONY: clean-stage1-target-libphobos maybe-clean-stage1-target-libphobos
+maybe-all-stage1-target-libphobos:
+maybe-clean-stage1-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stage1-target-libphobos: all-stage1-target-libphobos
+all-stage1: all-stage1-target-libphobos
+TARGET-stage1-target-libphobos = $(TARGET-target-libphobos)
+all-stage1-target-libphobos: configure-stage1-target-libphobos
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)  \
+		  \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
+		$(TARGET-stage1-target-libphobos)
+
+maybe-clean-stage1-target-libphobos: clean-stage1-target-libphobos
+clean-stage1: clean-stage1-target-libphobos
+clean-stage1-target-libphobos:
+	@if [ $(current_stage) = stage1 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage1-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stage1-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
+	  clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stage2-target-libphobos maybe-all-stage2-target-libphobos
+.PHONY: clean-stage2-target-libphobos maybe-clean-stage2-target-libphobos
+maybe-all-stage2-target-libphobos:
+maybe-clean-stage2-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stage2-target-libphobos: all-stage2-target-libphobos
+all-stage2: all-stage2-target-libphobos
+TARGET-stage2-target-libphobos = $(TARGET-target-libphobos)
+all-stage2-target-libphobos: configure-stage2-target-libphobos
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
+		$(TARGET-stage2-target-libphobos)
+
+maybe-clean-stage2-target-libphobos: clean-stage2-target-libphobos
+clean-stage2: clean-stage2-target-libphobos
+clean-stage2-target-libphobos:
+	@if [ $(current_stage) = stage2 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage2-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stage2-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stage3-target-libphobos maybe-all-stage3-target-libphobos
+.PHONY: clean-stage3-target-libphobos maybe-clean-stage3-target-libphobos
+maybe-all-stage3-target-libphobos:
+maybe-clean-stage3-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stage3-target-libphobos: all-stage3-target-libphobos
+all-stage3: all-stage3-target-libphobos
+TARGET-stage3-target-libphobos = $(TARGET-target-libphobos)
+all-stage3-target-libphobos: configure-stage3-target-libphobos
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
+		$(TARGET-stage3-target-libphobos)
+
+maybe-clean-stage3-target-libphobos: clean-stage3-target-libphobos
+clean-stage3: clean-stage3-target-libphobos
+clean-stage3-target-libphobos:
+	@if [ $(current_stage) = stage3 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage3-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stage3-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stage4-target-libphobos maybe-all-stage4-target-libphobos
+.PHONY: clean-stage4-target-libphobos maybe-clean-stage4-target-libphobos
+maybe-all-stage4-target-libphobos:
+maybe-clean-stage4-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stage4-target-libphobos: all-stage4-target-libphobos
+all-stage4: all-stage4-target-libphobos
+TARGET-stage4-target-libphobos = $(TARGET-target-libphobos)
+all-stage4-target-libphobos: configure-stage4-target-libphobos
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
+		$(TARGET-stage4-target-libphobos)
+
+maybe-clean-stage4-target-libphobos: clean-stage4-target-libphobos
+clean-stage4: clean-stage4-target-libphobos
+clean-stage4-target-libphobos:
+	@if [ $(current_stage) = stage4 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage4-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stage4-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stageprofile-target-libphobos maybe-all-stageprofile-target-libphobos
+.PHONY: clean-stageprofile-target-libphobos maybe-clean-stageprofile-target-libphobos
+maybe-all-stageprofile-target-libphobos:
+maybe-clean-stageprofile-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stageprofile-target-libphobos: all-stageprofile-target-libphobos
+all-stageprofile: all-stageprofile-target-libphobos
+TARGET-stageprofile-target-libphobos = $(TARGET-target-libphobos)
+all-stageprofile-target-libphobos: configure-stageprofile-target-libphobos
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
+		$(TARGET-stageprofile-target-libphobos)
+
+maybe-clean-stageprofile-target-libphobos: clean-stageprofile-target-libphobos
+clean-stageprofile: clean-stageprofile-target-libphobos
+clean-stageprofile-target-libphobos:
+	@if [ $(current_stage) = stageprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageprofile-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stageprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stagetrain-target-libphobos maybe-all-stagetrain-target-libphobos
+.PHONY: clean-stagetrain-target-libphobos maybe-clean-stagetrain-target-libphobos
+maybe-all-stagetrain-target-libphobos:
+maybe-clean-stagetrain-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stagetrain-target-libphobos: all-stagetrain-target-libphobos
+all-stagetrain: all-stagetrain-target-libphobos
+TARGET-stagetrain-target-libphobos = $(TARGET-target-libphobos)
+all-stagetrain-target-libphobos: configure-stagetrain-target-libphobos
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEtrain_TFLAGS)"  \
+		$(TARGET-stagetrain-target-libphobos)
+
+maybe-clean-stagetrain-target-libphobos: clean-stagetrain-target-libphobos
+clean-stagetrain: clean-stagetrain-target-libphobos
+clean-stagetrain-target-libphobos:
+	@if [ $(current_stage) = stagetrain ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagetrain-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stagetrain-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stagefeedback-target-libphobos maybe-all-stagefeedback-target-libphobos
+.PHONY: clean-stagefeedback-target-libphobos maybe-clean-stagefeedback-target-libphobos
+maybe-all-stagefeedback-target-libphobos:
+maybe-clean-stagefeedback-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stagefeedback-target-libphobos: all-stagefeedback-target-libphobos
+all-stagefeedback: all-stagefeedback-target-libphobos
+TARGET-stagefeedback-target-libphobos = $(TARGET-target-libphobos)
+all-stagefeedback-target-libphobos: configure-stagefeedback-target-libphobos
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
+		$(TARGET-stagefeedback-target-libphobos)
+
+maybe-clean-stagefeedback-target-libphobos: clean-stagefeedback-target-libphobos
+clean-stagefeedback: clean-stagefeedback-target-libphobos
+clean-stagefeedback-target-libphobos:
+	@if [ $(current_stage) = stagefeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagefeedback-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stagefeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stageautoprofile-target-libphobos maybe-all-stageautoprofile-target-libphobos
+.PHONY: clean-stageautoprofile-target-libphobos maybe-clean-stageautoprofile-target-libphobos
+maybe-all-stageautoprofile-target-libphobos:
+maybe-clean-stageautoprofile-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stageautoprofile-target-libphobos: all-stageautoprofile-target-libphobos
+all-stageautoprofile: all-stageautoprofile-target-libphobos
+TARGET-stageautoprofile-target-libphobos = $(TARGET-target-libphobos)
+all-stageautoprofile-target-libphobos: configure-stageautoprofile-target-libphobos
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libphobos)
+
+maybe-clean-stageautoprofile-target-libphobos: clean-stageautoprofile-target-libphobos
+clean-stageautoprofile: clean-stageautoprofile-target-libphobos
+clean-stageautoprofile-target-libphobos:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libphobos maybe-all-stageautofeedback-target-libphobos
+.PHONY: clean-stageautofeedback-target-libphobos maybe-clean-stageautofeedback-target-libphobos
+maybe-all-stageautofeedback-target-libphobos:
+maybe-clean-stageautofeedback-target-libphobos:
+@if target-libphobos-bootstrap
+maybe-all-stageautofeedback-target-libphobos: all-stageautofeedback-target-libphobos
+all-stageautofeedback: all-stageautofeedback-target-libphobos
+TARGET-stageautofeedback-target-libphobos = $(TARGET-target-libphobos)
+all-stageautofeedback-target-libphobos: configure-stageautofeedback-target-libphobos
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libphobos)
+
+maybe-clean-stageautofeedback-target-libphobos: clean-stageautofeedback-target-libphobos
+clean-stageautofeedback: clean-stageautofeedback-target-libphobos
+clean-stageautofeedback-target-libphobos:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libphobos/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libphobos && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libphobos-bootstrap
+
+
+
+
+
+
+.PHONY: check-target-libphobos maybe-check-target-libphobos
+maybe-check-target-libphobos:
+@if target-libphobos
+maybe-check-target-libphobos: check-target-libphobos
+
+check-target-libphobos:
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+
+@endif target-libphobos
+
+.PHONY: install-target-libphobos maybe-install-target-libphobos
+maybe-install-target-libphobos:
+@if target-libphobos
+maybe-install-target-libphobos: install-target-libphobos
+
+install-target-libphobos: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+
+@endif target-libphobos
+
+.PHONY: install-strip-target-libphobos maybe-install-strip-target-libphobos
+maybe-install-strip-target-libphobos:
+@if target-libphobos
+maybe-install-strip-target-libphobos: install-strip-target-libphobos
+
+install-strip-target-libphobos: installdirs
+	@: $(MAKE); $(unstage)
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install-strip)
+
+@endif target-libphobos
+
+# Other targets (info, dvi, pdf, etc.)
+
+.PHONY: maybe-info-target-libphobos info-target-libphobos
+maybe-info-target-libphobos:
+@if target-libphobos
+maybe-info-target-libphobos: info-target-libphobos
+
+info-target-libphobos: \
+    configure-target-libphobos 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing info in $(TARGET_SUBDIR)/libphobos"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           info) \
+	  || exit 1
+
+@endif target-libphobos
+
+.PHONY: maybe-dvi-target-libphobos dvi-target-libphobos
+maybe-dvi-target-libphobos:
+@if target-libphobos
+maybe-dvi-target-libphobos: dvi-target-libphobos
+
+dvi-target-libphobos: \
+    configure-target-libphobos 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing dvi in $(TARGET_SUBDIR)/libphobos"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           dvi) \
+	  || exit 1
+
+@endif target-libphobos
+
+.PHONY: maybe-pdf-target-libphobos pdf-target-libphobos
+maybe-pdf-target-libphobos:
+@if target-libphobos
+maybe-pdf-target-libphobos: pdf-target-libphobos
+
+pdf-target-libphobos: \
+    configure-target-libphobos 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libphobos/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing pdf in $(TARGET_SUBDIR)/libphobos"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libphobos && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           pdf) \
+	  || exit 1
 
 @endif target-libphobos
 
@@ -52965,7 +54548,6 @@  configure-target-zlib: stage_current
 @if target-zlib
 maybe-configure-target-zlib: configure-target-zlib
 configure-target-zlib: 
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	echo "Checking multilib configuration for zlib..."; \
@@ -53003,6 +54585,412 @@  configure-target-zlib:
 
 
 
+.PHONY: configure-stage1-target-zlib maybe-configure-stage1-target-zlib
+maybe-configure-stage1-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stage1-target-zlib: configure-stage1-target-zlib
+configure-stage1-target-zlib:
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 1 in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	   \
+	  $(STAGE1_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stage2-target-zlib maybe-configure-stage2-target-zlib
+maybe-configure-stage2-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stage2-target-zlib: configure-stage2-target-zlib
+configure-stage2-target-zlib:
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 2 in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE2_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stage3-target-zlib maybe-configure-stage3-target-zlib
+maybe-configure-stage3-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stage3-target-zlib: configure-stage3-target-zlib
+configure-stage3-target-zlib:
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 3 in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE3_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stage4-target-zlib maybe-configure-stage4-target-zlib
+maybe-configure-stage4-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stage4-target-zlib: configure-stage4-target-zlib
+configure-stage4-target-zlib:
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 4 in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE4_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stageprofile-target-zlib maybe-configure-stageprofile-target-zlib
+maybe-configure-stageprofile-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stageprofile-target-zlib: configure-stageprofile-target-zlib
+configure-stageprofile-target-zlib:
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage profile in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEprofile_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stagetrain-target-zlib maybe-configure-stagetrain-target-zlib
+maybe-configure-stagetrain-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stagetrain-target-zlib: configure-stagetrain-target-zlib
+configure-stagetrain-target-zlib:
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage train in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEtrain_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stagefeedback-target-zlib maybe-configure-stagefeedback-target-zlib
+maybe-configure-stagefeedback-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stagefeedback-target-zlib: configure-stagefeedback-target-zlib
+configure-stagefeedback-target-zlib:
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage feedback in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stageautoprofile-target-zlib maybe-configure-stageautoprofile-target-zlib
+maybe-configure-stageautoprofile-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stageautoprofile-target-zlib: configure-stageautoprofile-target-zlib
+configure-stageautoprofile-target-zlib:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+.PHONY: configure-stageautofeedback-target-zlib maybe-configure-stageautofeedback-target-zlib
+maybe-configure-stageautofeedback-target-zlib:
+@if target-zlib-bootstrap
+maybe-configure-stageautofeedback-target-zlib: configure-stageautofeedback-target-zlib
+configure-stageautofeedback-target-zlib:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for zlib..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/zlib/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/zlib/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/zlib/Makefile; \
+	    mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/zlib/multilib.tmp $(TARGET_SUBDIR)/zlib/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/zlib; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib; \
+	cd $(TARGET_SUBDIR)/zlib || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=zlib; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-zlib-bootstrap
+
+
+
 
 
 .PHONY: all-target-zlib maybe-all-target-zlib
@@ -53014,7 +55002,6 @@  all-target-zlib: stage_current
 TARGET-target-zlib=all
 maybe-all-target-zlib: all-target-zlib
 all-target-zlib: configure-target-zlib
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(NORMAL_TARGET_EXPORTS)  \
@@ -53025,6 +55012,387 @@  all-target-zlib: configure-target-zlib
 
 
 
+.PHONY: all-stage1-target-zlib maybe-all-stage1-target-zlib
+.PHONY: clean-stage1-target-zlib maybe-clean-stage1-target-zlib
+maybe-all-stage1-target-zlib:
+maybe-clean-stage1-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stage1-target-zlib: all-stage1-target-zlib
+all-stage1: all-stage1-target-zlib
+TARGET-stage1-target-zlib = $(TARGET-target-zlib)
+all-stage1-target-zlib: configure-stage1-target-zlib
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)  \
+		  \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
+		$(TARGET-stage1-target-zlib)
+
+maybe-clean-stage1-target-zlib: clean-stage1-target-zlib
+clean-stage1: clean-stage1-target-zlib
+clean-stage1-target-zlib:
+	@if [ $(current_stage) = stage1 ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage1-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stage1-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
+	  clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stage2-target-zlib maybe-all-stage2-target-zlib
+.PHONY: clean-stage2-target-zlib maybe-clean-stage2-target-zlib
+maybe-all-stage2-target-zlib:
+maybe-clean-stage2-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stage2-target-zlib: all-stage2-target-zlib
+all-stage2: all-stage2-target-zlib
+TARGET-stage2-target-zlib = $(TARGET-target-zlib)
+all-stage2-target-zlib: configure-stage2-target-zlib
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
+		$(TARGET-stage2-target-zlib)
+
+maybe-clean-stage2-target-zlib: clean-stage2-target-zlib
+clean-stage2: clean-stage2-target-zlib
+clean-stage2-target-zlib:
+	@if [ $(current_stage) = stage2 ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage2-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stage2-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stage3-target-zlib maybe-all-stage3-target-zlib
+.PHONY: clean-stage3-target-zlib maybe-clean-stage3-target-zlib
+maybe-all-stage3-target-zlib:
+maybe-clean-stage3-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stage3-target-zlib: all-stage3-target-zlib
+all-stage3: all-stage3-target-zlib
+TARGET-stage3-target-zlib = $(TARGET-target-zlib)
+all-stage3-target-zlib: configure-stage3-target-zlib
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
+		$(TARGET-stage3-target-zlib)
+
+maybe-clean-stage3-target-zlib: clean-stage3-target-zlib
+clean-stage3: clean-stage3-target-zlib
+clean-stage3-target-zlib:
+	@if [ $(current_stage) = stage3 ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage3-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stage3-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stage4-target-zlib maybe-all-stage4-target-zlib
+.PHONY: clean-stage4-target-zlib maybe-clean-stage4-target-zlib
+maybe-all-stage4-target-zlib:
+maybe-clean-stage4-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stage4-target-zlib: all-stage4-target-zlib
+all-stage4: all-stage4-target-zlib
+TARGET-stage4-target-zlib = $(TARGET-target-zlib)
+all-stage4-target-zlib: configure-stage4-target-zlib
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
+		$(TARGET-stage4-target-zlib)
+
+maybe-clean-stage4-target-zlib: clean-stage4-target-zlib
+clean-stage4: clean-stage4-target-zlib
+clean-stage4-target-zlib:
+	@if [ $(current_stage) = stage4 ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage4-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stage4-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stageprofile-target-zlib maybe-all-stageprofile-target-zlib
+.PHONY: clean-stageprofile-target-zlib maybe-clean-stageprofile-target-zlib
+maybe-all-stageprofile-target-zlib:
+maybe-clean-stageprofile-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stageprofile-target-zlib: all-stageprofile-target-zlib
+all-stageprofile: all-stageprofile-target-zlib
+TARGET-stageprofile-target-zlib = $(TARGET-target-zlib)
+all-stageprofile-target-zlib: configure-stageprofile-target-zlib
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
+		$(TARGET-stageprofile-target-zlib)
+
+maybe-clean-stageprofile-target-zlib: clean-stageprofile-target-zlib
+clean-stageprofile: clean-stageprofile-target-zlib
+clean-stageprofile-target-zlib:
+	@if [ $(current_stage) = stageprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageprofile-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stageprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stagetrain-target-zlib maybe-all-stagetrain-target-zlib
+.PHONY: clean-stagetrain-target-zlib maybe-clean-stagetrain-target-zlib
+maybe-all-stagetrain-target-zlib:
+maybe-clean-stagetrain-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stagetrain-target-zlib: all-stagetrain-target-zlib
+all-stagetrain: all-stagetrain-target-zlib
+TARGET-stagetrain-target-zlib = $(TARGET-target-zlib)
+all-stagetrain-target-zlib: configure-stagetrain-target-zlib
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEtrain_TFLAGS)"  \
+		$(TARGET-stagetrain-target-zlib)
+
+maybe-clean-stagetrain-target-zlib: clean-stagetrain-target-zlib
+clean-stagetrain: clean-stagetrain-target-zlib
+clean-stagetrain-target-zlib:
+	@if [ $(current_stage) = stagetrain ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagetrain-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stagetrain-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stagefeedback-target-zlib maybe-all-stagefeedback-target-zlib
+.PHONY: clean-stagefeedback-target-zlib maybe-clean-stagefeedback-target-zlib
+maybe-all-stagefeedback-target-zlib:
+maybe-clean-stagefeedback-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stagefeedback-target-zlib: all-stagefeedback-target-zlib
+all-stagefeedback: all-stagefeedback-target-zlib
+TARGET-stagefeedback-target-zlib = $(TARGET-target-zlib)
+all-stagefeedback-target-zlib: configure-stagefeedback-target-zlib
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
+		$(TARGET-stagefeedback-target-zlib)
+
+maybe-clean-stagefeedback-target-zlib: clean-stagefeedback-target-zlib
+clean-stagefeedback: clean-stagefeedback-target-zlib
+clean-stagefeedback-target-zlib:
+	@if [ $(current_stage) = stagefeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagefeedback-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stagefeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stageautoprofile-target-zlib maybe-all-stageautoprofile-target-zlib
+.PHONY: clean-stageautoprofile-target-zlib maybe-clean-stageautoprofile-target-zlib
+maybe-all-stageautoprofile-target-zlib:
+maybe-clean-stageautoprofile-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stageautoprofile-target-zlib: all-stageautoprofile-target-zlib
+all-stageautoprofile: all-stageautoprofile-target-zlib
+TARGET-stageautoprofile-target-zlib = $(TARGET-target-zlib)
+all-stageautoprofile-target-zlib: configure-stageautoprofile-target-zlib
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-zlib)
+
+maybe-clean-stageautoprofile-target-zlib: clean-stageautoprofile-target-zlib
+clean-stageautoprofile: clean-stageautoprofile-target-zlib
+clean-stageautoprofile-target-zlib:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-zlib maybe-all-stageautofeedback-target-zlib
+.PHONY: clean-stageautofeedback-target-zlib maybe-clean-stageautofeedback-target-zlib
+maybe-all-stageautofeedback-target-zlib:
+maybe-clean-stageautofeedback-target-zlib:
+@if target-zlib-bootstrap
+maybe-all-stageautofeedback-target-zlib: all-stageautofeedback-target-zlib
+all-stageautofeedback: all-stageautofeedback-target-zlib
+TARGET-stageautofeedback-target-zlib = $(TARGET-target-zlib)
+all-stageautofeedback-target-zlib: configure-stageautofeedback-target-zlib
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/zlib && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-zlib)
+
+maybe-clean-stageautofeedback-target-zlib: clean-stageautofeedback-target-zlib
+clean-stageautofeedback: clean-stageautofeedback-target-zlib
+clean-stageautofeedback-target-zlib:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-zlib/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/zlib && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-zlib-bootstrap
+
+
+
+
 
 
 .PHONY: check-target-zlib maybe-check-target-zlib
@@ -55914,137 +58282,539 @@  installcheck-target-libitm: \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing installcheck in $(TARGET_SUBDIR)/libitm"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libitm && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           installcheck) \
-	  || exit 1
-
-@endif target-libitm
-
-.PHONY: maybe-mostlyclean-target-libitm mostlyclean-target-libitm
-maybe-mostlyclean-target-libitm:
-@if target-libitm
-maybe-mostlyclean-target-libitm: mostlyclean-target-libitm
+	echo "Doing installcheck in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           installcheck) \
+	  || exit 1
+
+@endif target-libitm
+
+.PHONY: maybe-mostlyclean-target-libitm mostlyclean-target-libitm
+maybe-mostlyclean-target-libitm:
+@if target-libitm
+maybe-mostlyclean-target-libitm: mostlyclean-target-libitm
+
+mostlyclean-target-libitm: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           mostlyclean) \
+	  || exit 1
+
+@endif target-libitm
+
+.PHONY: maybe-clean-target-libitm clean-target-libitm
+maybe-clean-target-libitm:
+@if target-libitm
+maybe-clean-target-libitm: clean-target-libitm
+
+clean-target-libitm: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing clean in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           clean) \
+	  || exit 1
+
+@endif target-libitm
+
+.PHONY: maybe-distclean-target-libitm distclean-target-libitm
+maybe-distclean-target-libitm:
+@if target-libitm
+maybe-distclean-target-libitm: distclean-target-libitm
+
+distclean-target-libitm: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing distclean in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           distclean) \
+	  || exit 1
+
+@endif target-libitm
+
+.PHONY: maybe-maintainer-clean-target-libitm maintainer-clean-target-libitm
+maybe-maintainer-clean-target-libitm:
+@if target-libitm
+maybe-maintainer-clean-target-libitm: maintainer-clean-target-libitm
+
+maintainer-clean-target-libitm: 
+	@: $(MAKE); $(unstage)
+	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
+	r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	$(NORMAL_TARGET_EXPORTS) \
+	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libitm"; \
+	for flag in $(EXTRA_TARGET_FLAGS); do \
+	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+	done; \
+	(cd $(TARGET_SUBDIR)/libitm && \
+	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+	          "RANLIB=$${RANLIB}" \
+	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+	           maintainer-clean) \
+	  || exit 1
+
+@endif target-libitm
+
+
+
+
+
+.PHONY: configure-target-libatomic maybe-configure-target-libatomic
+maybe-configure-target-libatomic:
+@if gcc-bootstrap
+configure-target-libatomic: stage_current
+@endif gcc-bootstrap
+@if target-libatomic
+maybe-configure-target-libatomic: configure-target-libatomic
+configure-target-libatomic: 
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	echo Configuring in $(TARGET_SUBDIR)/libatomic; \
+	cd "$(TARGET_SUBDIR)/libatomic" || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	rm -f no-such-file || : ; \
+	CONFIG_SITE=no-such-file $(SHELL) \
+	  $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias}  \
+	  || exit 1
+@endif target-libatomic
+
+
+
+.PHONY: configure-stage1-target-libatomic maybe-configure-stage1-target-libatomic
+maybe-configure-stage1-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stage1-target-libatomic: configure-stage1-target-libatomic
+configure-stage1-target-libatomic:
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 1 in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	   \
+	  $(STAGE1_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
+
+.PHONY: configure-stage2-target-libatomic maybe-configure-stage2-target-libatomic
+maybe-configure-stage2-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stage2-target-libatomic: configure-stage2-target-libatomic
+configure-stage2-target-libatomic:
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 2 in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE2_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
+
+.PHONY: configure-stage3-target-libatomic maybe-configure-stage3-target-libatomic
+maybe-configure-stage3-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stage3-target-libatomic: configure-stage3-target-libatomic
+configure-stage3-target-libatomic:
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 3 in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE3_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
+
+.PHONY: configure-stage4-target-libatomic maybe-configure-stage4-target-libatomic
+maybe-configure-stage4-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stage4-target-libatomic: configure-stage4-target-libatomic
+configure-stage4-target-libatomic:
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage 4 in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGE4_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
-mostlyclean-target-libitm: 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stageprofile-target-libatomic maybe-configure-stageprofile-target-libatomic
+maybe-configure-stageprofile-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stageprofile-target-libatomic: configure-stageprofile-target-libatomic
+configure-stageprofile-target-libatomic:
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libitm"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libitm && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           mostlyclean) \
-	  || exit 1
-
-@endif target-libitm
-
-.PHONY: maybe-clean-target-libitm clean-target-libitm
-maybe-clean-target-libitm:
-@if target-libitm
-maybe-clean-target-libitm: clean-target-libitm
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage profile in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEprofile_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
-clean-target-libitm: 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stagetrain-target-libatomic maybe-configure-stagetrain-target-libatomic
+maybe-configure-stagetrain-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stagetrain-target-libatomic: configure-stagetrain-target-libatomic
+configure-stagetrain-target-libatomic:
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing clean in $(TARGET_SUBDIR)/libitm"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libitm && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           clean) \
-	  || exit 1
-
-@endif target-libitm
-
-.PHONY: maybe-distclean-target-libitm distclean-target-libitm
-maybe-distclean-target-libitm:
-@if target-libitm
-maybe-distclean-target-libitm: distclean-target-libitm
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage train in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEtrain_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
-distclean-target-libitm: 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stagefeedback-target-libatomic maybe-configure-stagefeedback-target-libatomic
+maybe-configure-stagefeedback-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stagefeedback-target-libatomic: configure-stagefeedback-target-libatomic
+configure-stagefeedback-target-libatomic:
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing distclean in $(TARGET_SUBDIR)/libitm"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libitm && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           distclean) \
-	  || exit 1
-
-@endif target-libitm
-
-.PHONY: maybe-maintainer-clean-target-libitm maintainer-clean-target-libitm
-maybe-maintainer-clean-target-libitm:
-@if target-libitm
-maybe-maintainer-clean-target-libitm: maintainer-clean-target-libitm
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage feedback in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEfeedback_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
-maintainer-clean-target-libitm: 
-	@: $(MAKE); $(unstage)
-	@[ -f $(TARGET_SUBDIR)/libitm/Makefile ] || exit 0; \
-	r=`${PWD_COMMAND}`; export r; \
+.PHONY: configure-stageautoprofile-target-libatomic maybe-configure-stageautoprofile-target-libatomic
+maybe-configure-stageautoprofile-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stageautoprofile-target-libatomic: configure-stageautoprofile-target-libatomic
+configure-stageautoprofile-target-libatomic:
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
+	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	echo "Checking multilib configuration for libatomic..."; \
+	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
+	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
+	    rm -f $(TARGET_SUBDIR)/libatomic/multilib.tmp; \
+	  else \
+	    rm -f $(TARGET_SUBDIR)/libatomic/Makefile; \
+	    mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	  fi; \
+	else \
+	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
+	fi; \
+	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
 	$(NORMAL_TARGET_EXPORTS) \
-	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libitm"; \
-	for flag in $(EXTRA_TARGET_FLAGS); do \
-	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
-	done; \
-	(cd $(TARGET_SUBDIR)/libitm && \
-	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
-	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
-	          "RANLIB=$${RANLIB}" \
-	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
-	           maintainer-clean) \
-	  || exit 1
-
-@endif target-libitm
-
-
-
-
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autoprofile in $(TARGET_SUBDIR)/libatomic; \
+	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
+	case $(srcdir) in \
+	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
+		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+	esac; \
+	module_srcdir=libatomic; \
+	$(SHELL) $$s/$$module_srcdir/configure \
+	  --srcdir=$${topdir}/$$module_srcdir \
+	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautoprofile_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
-.PHONY: configure-target-libatomic maybe-configure-target-libatomic
-maybe-configure-target-libatomic:
-@if gcc-bootstrap
-configure-target-libatomic: stage_current
-@endif gcc-bootstrap
-@if target-libatomic
-maybe-configure-target-libatomic: configure-target-libatomic
-configure-target-libatomic: 
-	@: $(MAKE); $(unstage)
+.PHONY: configure-stageautofeedback-target-libatomic maybe-configure-stageautofeedback-target-libatomic
+maybe-configure-stageautofeedback-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-configure-stageautofeedback-target-libatomic: configure-stageautofeedback-target-libatomic
+configure-stageautofeedback-target-libatomic:
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
 	echo "Checking multilib configuration for libatomic..."; \
-	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
 	$(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libatomic/multilib.tmp 2> /dev/null; \
 	if test -r $(TARGET_SUBDIR)/libatomic/multilib.out; then \
 	  if cmp -s $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; then \
@@ -56057,24 +58827,27 @@  configure-target-libatomic:
 	  mv $(TARGET_SUBDIR)/libatomic/multilib.tmp $(TARGET_SUBDIR)/libatomic/multilib.out; \
 	fi; \
 	test ! -f $(TARGET_SUBDIR)/libatomic/Makefile || exit 0; \
+	$(NORMAL_TARGET_EXPORTS) \
+	 \
+	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
+	CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+	LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)"; export LIBCFLAGS;  \
+	echo Configuring stage autofeedback in $(TARGET_SUBDIR)/libatomic; \
 	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libatomic; \
-	$(NORMAL_TARGET_EXPORTS)  \
-	echo Configuring in $(TARGET_SUBDIR)/libatomic; \
-	cd "$(TARGET_SUBDIR)/libatomic" || exit 1; \
+	cd $(TARGET_SUBDIR)/libatomic || exit 1; \
 	case $(srcdir) in \
 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
 	  *) topdir=`echo $(TARGET_SUBDIR)/libatomic/ | \
 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
 	esac; \
 	module_srcdir=libatomic; \
-	rm -f no-such-file || : ; \
-	CONFIG_SITE=no-such-file $(SHELL) \
-	  $$s/$$module_srcdir/configure \
+	$(SHELL) $$s/$$module_srcdir/configure \
 	  --srcdir=$${topdir}/$$module_srcdir \
 	  $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-	  --target=${target_alias}  \
-	  || exit 1
-@endif target-libatomic
+	  --target=${target_alias} \
+	  --with-build-libsubdir=$(HOST_SUBDIR) \
+	  $(STAGEautofeedback_CONFIGURE_FLAGS)
+@endif target-libatomic-bootstrap
 
 
 
@@ -56089,7 +58862,6 @@  all-target-libatomic: stage_current
 TARGET-target-libatomic=all
 maybe-all-target-libatomic: all-target-libatomic
 all-target-libatomic: configure-target-libatomic
-	@: $(MAKE); $(unstage)
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	$(NORMAL_TARGET_EXPORTS)  \
@@ -56100,6 +58872,387 @@  all-target-libatomic: configure-target-libatomic
 
 
 
+.PHONY: all-stage1-target-libatomic maybe-all-stage1-target-libatomic
+.PHONY: clean-stage1-target-libatomic maybe-clean-stage1-target-libatomic
+maybe-all-stage1-target-libatomic:
+maybe-clean-stage1-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stage1-target-libatomic: all-stage1-target-libatomic
+all-stage1: all-stage1-target-libatomic
+TARGET-stage1-target-libatomic = $(TARGET-target-libatomic)
+all-stage1-target-libatomic: configure-stage1-target-libatomic
+	@[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE1_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS)  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)  \
+		  \
+		TFLAGS="$(STAGE1_TFLAGS)"  \
+		$(TARGET-stage1-target-libatomic)
+
+maybe-clean-stage1-target-libatomic: clean-stage1-target-libatomic
+clean-stage1: clean-stage1-target-libatomic
+clean-stage1-target-libatomic:
+	@if [ $(current_stage) = stage1 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage1-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stage1-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)  \
+	  clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stage2-target-libatomic maybe-all-stage2-target-libatomic
+.PHONY: clean-stage2-target-libatomic maybe-clean-stage2-target-libatomic
+maybe-all-stage2-target-libatomic:
+maybe-clean-stage2-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stage2-target-libatomic: all-stage2-target-libatomic
+all-stage2: all-stage2-target-libatomic
+TARGET-stage2-target-libatomic = $(TARGET-target-libatomic)
+all-stage2-target-libatomic: configure-stage2-target-libatomic
+	@[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE2_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE2_TFLAGS)"  \
+		$(TARGET-stage2-target-libatomic)
+
+maybe-clean-stage2-target-libatomic: clean-stage2-target-libatomic
+clean-stage2: clean-stage2-target-libatomic
+clean-stage2-target-libatomic:
+	@if [ $(current_stage) = stage2 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage2-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stage2-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stage3-target-libatomic maybe-all-stage3-target-libatomic
+.PHONY: clean-stage3-target-libatomic maybe-clean-stage3-target-libatomic
+maybe-all-stage3-target-libatomic:
+maybe-clean-stage3-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stage3-target-libatomic: all-stage3-target-libatomic
+all-stage3: all-stage3-target-libatomic
+TARGET-stage3-target-libatomic = $(TARGET-target-libatomic)
+all-stage3-target-libatomic: configure-stage3-target-libatomic
+	@[ $(current_stage) = stage3 ] || $(MAKE) stage3-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE3_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE3_TFLAGS)"  \
+		$(TARGET-stage3-target-libatomic)
+
+maybe-clean-stage3-target-libatomic: clean-stage3-target-libatomic
+clean-stage3: clean-stage3-target-libatomic
+clean-stage3-target-libatomic:
+	@if [ $(current_stage) = stage3 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage3-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stage3-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stage4-target-libatomic maybe-all-stage4-target-libatomic
+.PHONY: clean-stage4-target-libatomic maybe-clean-stage4-target-libatomic
+maybe-all-stage4-target-libatomic:
+maybe-clean-stage4-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stage4-target-libatomic: all-stage4-target-libatomic
+all-stage4: all-stage4-target-libatomic
+TARGET-stage4-target-libatomic = $(TARGET-target-libatomic)
+all-stage4-target-libatomic: configure-stage4-target-libatomic
+	@[ $(current_stage) = stage4 ] || $(MAKE) stage4-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGE4_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGE4_TFLAGS)"  \
+		$(TARGET-stage4-target-libatomic)
+
+maybe-clean-stage4-target-libatomic: clean-stage4-target-libatomic
+clean-stage4: clean-stage4-target-libatomic
+clean-stage4-target-libatomic:
+	@if [ $(current_stage) = stage4 ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stage4-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stage4-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stageprofile-target-libatomic maybe-all-stageprofile-target-libatomic
+.PHONY: clean-stageprofile-target-libatomic maybe-clean-stageprofile-target-libatomic
+maybe-all-stageprofile-target-libatomic:
+maybe-clean-stageprofile-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stageprofile-target-libatomic: all-stageprofile-target-libatomic
+all-stageprofile: all-stageprofile-target-libatomic
+TARGET-stageprofile-target-libatomic = $(TARGET-target-libatomic)
+all-stageprofile-target-libatomic: configure-stageprofile-target-libatomic
+	@[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEprofile_TFLAGS)"  \
+		$(TARGET-stageprofile-target-libatomic)
+
+maybe-clean-stageprofile-target-libatomic: clean-stageprofile-target-libatomic
+clean-stageprofile: clean-stageprofile-target-libatomic
+clean-stageprofile-target-libatomic:
+	@if [ $(current_stage) = stageprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageprofile-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stageprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stagetrain-target-libatomic maybe-all-stagetrain-target-libatomic
+.PHONY: clean-stagetrain-target-libatomic maybe-clean-stagetrain-target-libatomic
+maybe-all-stagetrain-target-libatomic:
+maybe-clean-stagetrain-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stagetrain-target-libatomic: all-stagetrain-target-libatomic
+all-stagetrain: all-stagetrain-target-libatomic
+TARGET-stagetrain-target-libatomic = $(TARGET-target-libatomic)
+all-stagetrain-target-libatomic: configure-stagetrain-target-libatomic
+	@[ $(current_stage) = stagetrain ] || $(MAKE) stagetrain-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEtrain_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEtrain_TFLAGS)"  \
+		$(TARGET-stagetrain-target-libatomic)
+
+maybe-clean-stagetrain-target-libatomic: clean-stagetrain-target-libatomic
+clean-stagetrain: clean-stagetrain-target-libatomic
+clean-stagetrain-target-libatomic:
+	@if [ $(current_stage) = stagetrain ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagetrain-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stagetrain-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stagefeedback-target-libatomic maybe-all-stagefeedback-target-libatomic
+.PHONY: clean-stagefeedback-target-libatomic maybe-clean-stagefeedback-target-libatomic
+maybe-all-stagefeedback-target-libatomic:
+maybe-clean-stagefeedback-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stagefeedback-target-libatomic: all-stagefeedback-target-libatomic
+all-stagefeedback: all-stagefeedback-target-libatomic
+TARGET-stagefeedback-target-libatomic = $(TARGET-target-libatomic)
+all-stagefeedback-target-libatomic: configure-stagefeedback-target-libatomic
+	@[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEfeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEfeedback_TFLAGS)"  \
+		$(TARGET-stagefeedback-target-libatomic)
+
+maybe-clean-stagefeedback-target-libatomic: clean-stagefeedback-target-libatomic
+clean-stagefeedback: clean-stagefeedback-target-libatomic
+clean-stagefeedback-target-libatomic:
+	@if [ $(current_stage) = stagefeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stagefeedback-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stagefeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stageautoprofile-target-libatomic maybe-all-stageautoprofile-target-libatomic
+.PHONY: clean-stageautoprofile-target-libatomic maybe-clean-stageautoprofile-target-libatomic
+maybe-all-stageautoprofile-target-libatomic:
+maybe-clean-stageautoprofile-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stageautoprofile-target-libatomic: all-stageautoprofile-target-libatomic
+all-stageautoprofile: all-stageautoprofile-target-libatomic
+TARGET-stageautoprofile-target-libatomic = $(TARGET-target-libatomic)
+all-stageautoprofile-target-libatomic: configure-stageautoprofile-target-libatomic
+	@[ $(current_stage) = stageautoprofile ] || $(MAKE) stageautoprofile-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautoprofile_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$$s/gcc/config/i386/$(AUTO_PROFILE) \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautoprofile_TFLAGS)"  \
+		$(TARGET-stageautoprofile-target-libatomic)
+
+maybe-clean-stageautoprofile-target-libatomic: clean-stageautoprofile-target-libatomic
+clean-stageautoprofile: clean-stageautoprofile-target-libatomic
+clean-stageautoprofile-target-libatomic:
+	@if [ $(current_stage) = stageautoprofile ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautoprofile-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stageautoprofile-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+.PHONY: all-stageautofeedback-target-libatomic maybe-all-stageautofeedback-target-libatomic
+.PHONY: clean-stageautofeedback-target-libatomic maybe-clean-stageautofeedback-target-libatomic
+maybe-all-stageautofeedback-target-libatomic:
+maybe-clean-stageautofeedback-target-libatomic:
+@if target-libatomic-bootstrap
+maybe-all-stageautofeedback-target-libatomic: all-stageautofeedback-target-libatomic
+all-stageautofeedback: all-stageautofeedback-target-libatomic
+TARGET-stageautofeedback-target-libatomic = $(TARGET-target-libatomic)
+all-stageautofeedback-target-libatomic: configure-stageautofeedback-target-libatomic
+	@[ $(current_stage) = stageautofeedback ] || $(MAKE) stageautofeedback-start
+	@r=`${PWD_COMMAND}`; export r; \
+	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+	TFLAGS="$(STAGEautofeedback_TFLAGS)"; \
+	$(NORMAL_TARGET_EXPORTS) \
+	  \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	 \
+	$(MAKE) $(BASE_FLAGS_TO_PASS) \
+		CFLAGS="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS="$(LIBCFLAGS_FOR_TARGET)" \
+		CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \
+		CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \
+		LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \
+		$(EXTRA_TARGET_FLAGS)   \
+		TFLAGS="$(STAGEautofeedback_TFLAGS)" PERF_DATA=perf.data \
+		$(TARGET-stageautofeedback-target-libatomic)
+
+maybe-clean-stageautofeedback-target-libatomic: clean-stageautofeedback-target-libatomic
+clean-stageautofeedback: clean-stageautofeedback-target-libatomic
+clean-stageautofeedback-target-libatomic:
+	@if [ $(current_stage) = stageautofeedback ]; then \
+	  [ -f $(TARGET_SUBDIR)/libatomic/Makefile ] || exit 0; \
+	else \
+	  [ -f $(TARGET_SUBDIR)/stageautofeedback-libatomic/Makefile ] || exit 0; \
+	  $(MAKE) stageautofeedback-start; \
+	fi; \
+	cd $(TARGET_SUBDIR)/libatomic && \
+	$(MAKE) $(EXTRA_TARGET_FLAGS)   clean
+@endif target-libatomic-bootstrap
+
+
+
+
 
 
 .PHONY: check-target-libatomic maybe-check-target-libatomic
@@ -59996,17 +63149,41 @@  configure-stagetrain-target-libgcc: maybe-all-stagetrain-gcc
 configure-stagefeedback-target-libgcc: maybe-all-stagefeedback-gcc
 configure-stageautoprofile-target-libgcc: maybe-all-stageautoprofile-gcc
 configure-stageautofeedback-target-libgcc: maybe-all-stageautofeedback-gcc
-configure-target-libbacktrace: stage_last
+configure-stage1-target-libbacktrace: maybe-all-stage1-gcc
+configure-stage2-target-libbacktrace: maybe-all-stage2-gcc
+configure-stage3-target-libbacktrace: maybe-all-stage3-gcc
+configure-stage4-target-libbacktrace: maybe-all-stage4-gcc
+configure-stageprofile-target-libbacktrace: maybe-all-stageprofile-gcc
+configure-stagetrain-target-libbacktrace: maybe-all-stagetrain-gcc
+configure-stagefeedback-target-libbacktrace: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libbacktrace: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libbacktrace: maybe-all-stageautofeedback-gcc
 configure-target-libquadmath: stage_last
 configure-target-libgfortran: stage_last
 configure-target-libobjc: stage_last
 configure-target-libgo: stage_last
-configure-target-libphobos: stage_last
+configure-stage1-target-libphobos: maybe-all-stage1-gcc
+configure-stage2-target-libphobos: maybe-all-stage2-gcc
+configure-stage3-target-libphobos: maybe-all-stage3-gcc
+configure-stage4-target-libphobos: maybe-all-stage4-gcc
+configure-stageprofile-target-libphobos: maybe-all-stageprofile-gcc
+configure-stagetrain-target-libphobos: maybe-all-stagetrain-gcc
+configure-stagefeedback-target-libphobos: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-gcc
 configure-target-libtermcap: stage_last
 configure-target-winsup: stage_last
 configure-target-libgloss: stage_last
 configure-target-libffi: stage_last
-configure-target-zlib: stage_last
+configure-stage1-target-zlib: maybe-all-stage1-gcc
+configure-stage2-target-zlib: maybe-all-stage2-gcc
+configure-stage3-target-zlib: maybe-all-stage3-gcc
+configure-stage4-target-zlib: maybe-all-stage4-gcc
+configure-stageprofile-target-zlib: maybe-all-stageprofile-gcc
+configure-stagetrain-target-zlib: maybe-all-stagetrain-gcc
+configure-stagefeedback-target-zlib: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-zlib: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-zlib: maybe-all-stageautofeedback-gcc
 configure-target-rda: stage_last
 configure-target-libada: stage_last
 configure-stage1-target-libgomp: maybe-all-stage1-gcc
@@ -60019,7 +63196,15 @@  configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-gcc
 configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-gcc
 configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-gcc
 configure-target-libitm: stage_last
-configure-target-libatomic: stage_last
+configure-stage1-target-libatomic: maybe-all-stage1-gcc
+configure-stage2-target-libatomic: maybe-all-stage2-gcc
+configure-stage3-target-libatomic: maybe-all-stage3-gcc
+configure-stage4-target-libatomic: maybe-all-stage4-gcc
+configure-stageprofile-target-libatomic: maybe-all-stageprofile-gcc
+configure-stagetrain-target-libatomic: maybe-all-stagetrain-gcc
+configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-gcc
+configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-gcc
+configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-gcc
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
@@ -61152,17 +64337,58 @@  all-flex: maybe-all-build-bison
 all-flex: maybe-all-m4
 all-flex: maybe-all-build-texinfo
 all-m4: maybe-all-build-texinfo
-configure-target-fastjar: maybe-configure-target-zlib
-all-target-fastjar: maybe-all-target-zlib
 configure-target-libgo: maybe-configure-target-libffi
-all-target-libgo: maybe-all-target-libbacktrace
 all-target-libgo: maybe-all-target-libffi
-all-target-libgo: maybe-all-target-libatomic
 configure-target-libphobos: maybe-configure-target-libbacktrace
+configure-stage1-target-libphobos: maybe-configure-stage1-target-libbacktrace
+configure-stage2-target-libphobos: maybe-configure-stage2-target-libbacktrace
+configure-stage3-target-libphobos: maybe-configure-stage3-target-libbacktrace
+configure-stage4-target-libphobos: maybe-configure-stage4-target-libbacktrace
+configure-stageprofile-target-libphobos: maybe-configure-stageprofile-target-libbacktrace
+configure-stagetrain-target-libphobos: maybe-configure-stagetrain-target-libbacktrace
+configure-stagefeedback-target-libphobos: maybe-configure-stagefeedback-target-libbacktrace
+configure-stageautoprofile-target-libphobos: maybe-configure-stageautoprofile-target-libbacktrace
+configure-stageautofeedback-target-libphobos: maybe-configure-stageautofeedback-target-libbacktrace
 configure-target-libphobos: maybe-configure-target-zlib
+configure-stage1-target-libphobos: maybe-configure-stage1-target-zlib
+configure-stage2-target-libphobos: maybe-configure-stage2-target-zlib
+configure-stage3-target-libphobos: maybe-configure-stage3-target-zlib
+configure-stage4-target-libphobos: maybe-configure-stage4-target-zlib
+configure-stageprofile-target-libphobos: maybe-configure-stageprofile-target-zlib
+configure-stagetrain-target-libphobos: maybe-configure-stagetrain-target-zlib
+configure-stagefeedback-target-libphobos: maybe-configure-stagefeedback-target-zlib
+configure-stageautoprofile-target-libphobos: maybe-configure-stageautoprofile-target-zlib
+configure-stageautofeedback-target-libphobos: maybe-configure-stageautofeedback-target-zlib
 all-target-libphobos: maybe-all-target-libbacktrace
+all-stage1-target-libphobos: maybe-all-stage1-target-libbacktrace
+all-stage2-target-libphobos: maybe-all-stage2-target-libbacktrace
+all-stage3-target-libphobos: maybe-all-stage3-target-libbacktrace
+all-stage4-target-libphobos: maybe-all-stage4-target-libbacktrace
+all-stageprofile-target-libphobos: maybe-all-stageprofile-target-libbacktrace
+all-stagetrain-target-libphobos: maybe-all-stagetrain-target-libbacktrace
+all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libbacktrace
+all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libbacktrace
+all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libbacktrace
 all-target-libphobos: maybe-all-target-zlib
+all-stage1-target-libphobos: maybe-all-stage1-target-zlib
+all-stage2-target-libphobos: maybe-all-stage2-target-zlib
+all-stage3-target-libphobos: maybe-all-stage3-target-zlib
+all-stage4-target-libphobos: maybe-all-stage4-target-zlib
+all-stageprofile-target-libphobos: maybe-all-stageprofile-target-zlib
+all-stagetrain-target-libphobos: maybe-all-stagetrain-target-zlib
+all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-zlib
+all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-zlib
+all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-zlib
 all-target-libphobos: maybe-all-target-libatomic
+all-stage1-target-libphobos: maybe-all-stage1-target-libatomic
+all-stage2-target-libphobos: maybe-all-stage2-target-libatomic
+all-stage3-target-libphobos: maybe-all-stage3-target-libatomic
+all-stage4-target-libphobos: maybe-all-stage4-target-libatomic
+all-stageprofile-target-libphobos: maybe-all-stageprofile-target-libatomic
+all-stagetrain-target-libphobos: maybe-all-stagetrain-target-libatomic
+all-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libatomic
+all-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libatomic
+all-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libatomic
 configure-target-libstdc++-v3: maybe-configure-target-libgomp
 configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp
 configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp
@@ -61219,7 +64445,6 @@  install-target-libstdc++-v3: maybe-install-target-libgcc
 all-target-libgloss: maybe-all-target-newlib
 all-target-winsup: maybe-all-target-libtermcap
 configure-target-libgfortran: maybe-all-target-libquadmath
-configure-target-libgfortran: maybe-all-target-libbacktrace
 
 
 @if gcc-bootstrap
@@ -61276,12 +64501,17 @@  all-fastjar: maybe-all-libiberty
 all-bison: maybe-all-intl
 all-flex: maybe-all-intl
 all-m4: maybe-all-intl
+configure-target-fastjar: maybe-configure-target-zlib
+all-target-fastjar: maybe-all-target-zlib
 configure-target-libgo: maybe-all-target-libstdc++-v3
 configure-target-libffi: maybe-all-target-libstdc++-v3
+all-target-libgo: maybe-all-target-libbacktrace
+all-target-libgo: maybe-all-target-libatomic
 configure-target-liboffloadmic: maybe-configure-target-libgomp
 all-target-liboffloadmic: maybe-all-target-libgomp
 configure-target-newlib: maybe-all-binutils
 configure-target-newlib: maybe-all-ld
+configure-target-libgfortran: maybe-all-target-libbacktrace
 @endunless gcc-bootstrap
 
 # Dependencies for target modules on other target modules are
@@ -61317,6 +64547,33 @@  configure-stagetrain-target-libvtv: maybe-all-stagetrain-target-libgcc
 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libgcc
 configure-stageautoprofile-target-libvtv: maybe-all-stageautoprofile-target-libgcc
 configure-stageautofeedback-target-libvtv: maybe-all-stageautofeedback-target-libgcc
+configure-stage1-target-libbacktrace: maybe-all-stage1-target-libgcc
+configure-stage2-target-libbacktrace: maybe-all-stage2-target-libgcc
+configure-stage3-target-libbacktrace: maybe-all-stage3-target-libgcc
+configure-stage4-target-libbacktrace: maybe-all-stage4-target-libgcc
+configure-stageprofile-target-libbacktrace: maybe-all-stageprofile-target-libgcc
+configure-stagetrain-target-libbacktrace: maybe-all-stagetrain-target-libgcc
+configure-stagefeedback-target-libbacktrace: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libbacktrace: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libbacktrace: maybe-all-stageautofeedback-target-libgcc
+configure-stage1-target-libphobos: maybe-all-stage1-target-libgcc
+configure-stage2-target-libphobos: maybe-all-stage2-target-libgcc
+configure-stage3-target-libphobos: maybe-all-stage3-target-libgcc
+configure-stage4-target-libphobos: maybe-all-stage4-target-libgcc
+configure-stageprofile-target-libphobos: maybe-all-stageprofile-target-libgcc
+configure-stagetrain-target-libphobos: maybe-all-stagetrain-target-libgcc
+configure-stagefeedback-target-libphobos: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libphobos: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libphobos: maybe-all-stageautofeedback-target-libgcc
+configure-stage1-target-zlib: maybe-all-stage1-target-libgcc
+configure-stage2-target-zlib: maybe-all-stage2-target-libgcc
+configure-stage3-target-zlib: maybe-all-stage3-target-libgcc
+configure-stage4-target-zlib: maybe-all-stage4-target-libgcc
+configure-stageprofile-target-zlib: maybe-all-stageprofile-target-libgcc
+configure-stagetrain-target-zlib: maybe-all-stagetrain-target-libgcc
+configure-stagefeedback-target-zlib: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-zlib: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-zlib: maybe-all-stageautofeedback-target-libgcc
 configure-stage1-target-libgomp: maybe-all-stage1-target-libgcc
 configure-stage2-target-libgomp: maybe-all-stage2-target-libgcc
 configure-stage3-target-libgomp: maybe-all-stage3-target-libgcc
@@ -61326,6 +64583,15 @@  configure-stagetrain-target-libgomp: maybe-all-stagetrain-target-libgcc
 configure-stagefeedback-target-libgomp: maybe-all-stagefeedback-target-libgcc
 configure-stageautoprofile-target-libgomp: maybe-all-stageautoprofile-target-libgcc
 configure-stageautofeedback-target-libgomp: maybe-all-stageautofeedback-target-libgcc
+configure-stage1-target-libatomic: maybe-all-stage1-target-libgcc
+configure-stage2-target-libatomic: maybe-all-stage2-target-libgcc
+configure-stage3-target-libatomic: maybe-all-stage3-target-libgcc
+configure-stage4-target-libatomic: maybe-all-stage4-target-libgcc
+configure-stageprofile-target-libatomic: maybe-all-stageprofile-target-libgcc
+configure-stagetrain-target-libatomic: maybe-all-stagetrain-target-libgcc
+configure-stagefeedback-target-libatomic: maybe-all-stagefeedback-target-libgcc
+configure-stageautoprofile-target-libatomic: maybe-all-stageautoprofile-target-libgcc
+configure-stageautofeedback-target-libatomic: maybe-all-stageautofeedback-target-libgcc
 @endif gcc-bootstrap
 
 @if gcc-no-bootstrap
diff --git a/Makefile.tpl b/Makefile.tpl
index 9adf4f94728..46c8379be7f 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -272,11 +272,11 @@  POSTSTAGE1_HOST_EXPORTS = \
 	$(POSTSTAGE1_CXX_EXPORT) \
 	$(LTO_EXPORTS) \
 	GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
-	  -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
+	  -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
 	  -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
 	  -I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
 	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
-	  -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
+	  -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
 	export GDC; \
 	GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
 	GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
@@ -481,6 +481,11 @@  STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
 	  --disable-build-format-warnings
 
+@if target-libphobos-bootstrap
+STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+@endif target-libphobos-bootstrap
+
 # When using the slow stage1 compiler disable IL verification and forcefully
 # enable it when using the stage2 compiler instead.  As we later compare
 # stage2 and stage3 we are merely avoid doing redundant work, plus we apply
diff --git a/config/acx.m4 b/config/acx.m4
index 87c1b5e2932..3c65d820628 100644
--- a/config/acx.m4
+++ b/config/acx.m4
@@ -420,6 +420,18 @@  else
 fi
 ])
 
+# Test for D.
+AC_DEFUN([ACX_PROG_GDC],
+[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
+AC_REQUIRE([AC_PROG_CC])
+AC_CHECK_TOOL(GDC, gdc, no)
+if test "x$GDC" != xno; then
+  have_gdc=yes
+else
+  have_gdc=no
+fi
+])
+
 dnl 'make compare' can be significantly faster, if cmp itself can
 dnl skip bytes instead of using tail.  The test being performed is
 dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2"
diff --git a/configure b/configure
index 785498efff5..8aa9f0fe3c7 100755
--- a/configure
+++ b/configure
@@ -619,6 +619,7 @@  GFORTRAN_FOR_TARGET
 GCC_FOR_TARGET
 CXX_FOR_TARGET
 CC_FOR_TARGET
+GDCFLAGS
 READELF
 OTOOL
 OBJDUMP
@@ -700,6 +701,7 @@  gmplibs
 HAVE_CXX11_FOR_BUILD
 HAVE_CXX11
 do_compare
+GDC
 GNATMAKE
 GNATBIND
 ac_ct_CXX
@@ -5622,6 +5624,106 @@  else
   have_gnat=no
 fi
 
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gdc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gdc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GDC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GDC"; then
+  ac_cv_prog_GDC="$GDC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_GDC="${ac_tool_prefix}gdc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GDC=$ac_cv_prog_GDC
+if test -n "$GDC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GDC" >&5
+$as_echo "$GDC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_GDC"; then
+  ac_ct_GDC=$GDC
+  # Extract the first word of "gdc", so it can be a program name with args.
+set dummy gdc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_GDC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_GDC"; then
+  ac_cv_prog_ac_ct_GDC="$ac_ct_GDC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_GDC="gdc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_GDC=$ac_cv_prog_ac_ct_GDC
+if test -n "$ac_ct_GDC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GDC" >&5
+$as_echo "$ac_ct_GDC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_GDC" = x; then
+    GDC="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    GDC=$ac_ct_GDC
+  fi
+else
+  GDC="$ac_cv_prog_GDC"
+fi
+
+if test "x$GDC" != xno; then
+  have_gdc=yes
+else
+  have_gdc=no
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to compare bootstrapped objects" >&5
 $as_echo_n "checking how to compare bootstrapped objects... " >&6; }
 if ${gcc_cv_prog_cmp_skip+:} false; then :
@@ -8664,6 +8766,23 @@  $as_echo "$as_me: WARNING: GNAT is required to build $language" >&2;}
             ;;
         esac
 
+        # Disable D if no preexisting GDC is available.
+        case ${add_this_lang}:${language}:${have_gdc} in
+          yes:d:no)
+            # Specifically requested language; tell them.
+            as_fn_error $? "GDC is required to build $language" "$LINENO" 5
+           ;;
+          all:d:no)
+            { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GDC is required to build $language" >&5
+$as_echo "$as_me: WARNING: GDC is required to build $language" >&2;}
+            add_this_lang=unsupported
+            ;;
+          *:d:no)
+            # Silently disable.
+            add_this_lang=unsupported
+            ;;
+        esac
+
         # Disable jit if -enable-host-shared not specified
         # but not if building for Mingw. All code in Windows
         # is position independent code (PIC).
@@ -8733,7 +8852,7 @@  $as_echo "$as_me: WARNING: ${language} not supported for this target" >&2;}
 		  *) stage1_languages="${stage1_languages}${language}," ;;
 		esac
 		# We need to bootstrap any supporting libraries.
-		bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
+		bootstrap_target_libs=`echo "${bootstrap_target_libs}${target_libs}," | sed "s/ /,/g"`
 		;;
 	    esac
 	    ;;
@@ -9502,6 +9621,16 @@  if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
   bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
 fi
 
+# If we are building libatomic and the list of enabled languages includes the
+# D frontend, bootstrap it.
+if echo " ${target_configdirs} " | grep " libatomic " > /dev/null 2>&1; then
+  case ,${enable_languages}, in
+    *,d,*)
+      bootstrap_target_libs=${bootstrap_target_libs}target-libatomic,
+      ;;
+  esac
+fi
+
 # 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!
@@ -12596,6 +12725,8 @@  fi
 
 
 
+
+
 # Target tools.
 
 # Check whether --with-build-time-tools was given.
diff --git a/configure.ac b/configure.ac
index c523083c346..488604eb3b7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1405,6 +1405,7 @@  int main() {}])],
 fi
 
 ACX_PROG_GNAT
+ACX_PROG_GDC
 ACX_PROG_CMP_IGNORE_INITIAL
 
 AC_ARG_ENABLE([bootstrap],
@@ -2073,6 +2074,22 @@  if test -d ${srcdir}/gcc; then
             ;;
         esac
 
+        # Disable D if no preexisting GDC is available.
+        case ${add_this_lang}:${language}:${have_gdc} in
+          yes:d:no)
+            # Specifically requested language; tell them.
+            AC_MSG_ERROR([GDC is required to build $language])
+           ;;
+          all:d:no)
+            AC_MSG_WARN([GDC is required to build $language])
+            add_this_lang=unsupported
+            ;;
+          *:d:no)
+            # Silently disable.
+            add_this_lang=unsupported
+            ;;
+        esac
+
         # Disable jit if -enable-host-shared not specified
         # but not if building for Mingw. All code in Windows
         # is position independent code (PIC).
@@ -2140,7 +2157,7 @@  directories, to avoid imposing the performance cost of
 		  *) stage1_languages="${stage1_languages}${language}," ;;
 		esac
 		# We need to bootstrap any supporting libraries.
-		bootstrap_target_libs="${bootstrap_target_libs}${target_libs},"
+		bootstrap_target_libs=`echo "${bootstrap_target_libs}${target_libs}," | sed "s/ /,/g"`
 		;;
 	    esac
 	    ;;
@@ -2823,6 +2840,16 @@  if echo " ${target_configdirs} " | grep " libvtv " > /dev/null 2>&1 &&
   bootstrap_target_libs=${bootstrap_target_libs}target-libvtv,
 fi
 
+# If we are building libatomic and the list of enabled languages includes the
+# D frontend, bootstrap it.
+if echo " ${target_configdirs} " | grep " libatomic " > /dev/null 2>&1; then
+  case ,${enable_languages}, in
+    *,d,*)
+      bootstrap_target_libs=${bootstrap_target_libs}target-libatomic,
+      ;;
+  esac
+fi
+
 # 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!
@@ -3488,6 +3515,8 @@  AC_SUBST(CC)
 AC_SUBST(CXX)
 AC_SUBST(CFLAGS)
 AC_SUBST(CXXFLAGS)
+AC_SUBST(GDC)
+AC_SUBST(GDCFLAGS)
 
 # Target tools.
 AC_ARG_WITH([build-time-tools], 
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index f36ffa4740b..abed8e95669 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1090,6 +1090,10 @@  SYSLIBS = @GNAT_LIBEXC@
 GNATBIND = @GNATBIND@
 GNATMAKE = @GNATMAKE@
 
+# Used from d/Make-lang.in
+GDC = @GDC@
+GDCFLAGS = @GDCFLAGS@
+
 # Libs needed (at present) just for jcf-dump.
 LDEXP_LIB = @LDEXP_LIB@
 
diff --git a/gcc/configure b/gcc/configure
index 5ea5a1b7143..7a2c44836f6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -855,6 +855,8 @@  EGREP
 GREP
 CXXCPP
 PICFLAG_FOR_TARGET
+GDCFLAGS
+GDC
 GNATMAKE
 GNATBIND
 ac_ct_CXX
@@ -5254,6 +5256,106 @@  else
 fi
 
 
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gdc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gdc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GDC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$GDC"; then
+  ac_cv_prog_GDC="$GDC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_GDC="${ac_tool_prefix}gdc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+GDC=$ac_cv_prog_GDC
+if test -n "$GDC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GDC" >&5
+$as_echo "$GDC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_GDC"; then
+  ac_ct_GDC=$GDC
+  # Extract the first word of "gdc", so it can be a program name with args.
+set dummy gdc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_GDC+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_GDC"; then
+  ac_cv_prog_ac_ct_GDC="$ac_ct_GDC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_GDC="gdc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_GDC=$ac_cv_prog_ac_ct_GDC
+if test -n "$ac_ct_GDC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GDC" >&5
+$as_echo "$ac_ct_GDC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_GDC" = x; then
+    GDC="no"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    GDC=$ac_ct_GDC
+  fi
+else
+  GDC="$ac_cv_prog_GDC"
+fi
+
+if test "x$GDC" != xno; then
+  have_gdc=yes
+else
+  have_gdc=no
+fi
+
+
 # Do configure tests with the C++ compiler, since that's what we build with.
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -5272,6 +5374,7 @@  esac
 
 
 
+
 # Determine PICFLAG for target gnatlib.
 
 
@@ -19455,7 +19558,7 @@  else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 19458 "configure"
+#line 19561 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19561,7 +19664,7 @@  else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 19564 "configure"
+#line 19667 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 344b2f586e8..4e284b11752 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -435,6 +435,7 @@  rm -f a.out a.exe b.out
 AC_PROG_CC
 AC_PROG_CXX
 ACX_PROG_GNAT([-I"$srcdir"/ada/libgnat])
+ACX_PROG_GDC([-I"$srcdir"/d])
 
 # Do configure tests with the C++ compiler, since that's what we build with.
 AC_LANG(C++)
@@ -448,6 +449,7 @@  case "$CC" in
 esac
 AC_SUBST(CFLAGS)
 AC_SUBST(CXXFLAGS)
+AC_SUBST(GDCFLAGS)
 
 # Determine PICFLAG for target gnatlib.
 GCC_PICFLAG_FOR_TARGET
diff --git a/gcc/po/EXCLUDES b/gcc/po/EXCLUDES
index 29ecd063206..d2c5cbf3f2a 100644
--- a/gcc/po/EXCLUDES
+++ b/gcc/po/EXCLUDES
@@ -53,46 +53,3 @@  genrecog.c
 gensupport.c
 gensupport.h
 read-md.c
-
-#   These files are part of the front end to D, and have no i18n support.
-d/dmd/arrayop.c
-d/dmd/attrib.c
-d/dmd/blockexit.c
-d/dmd/canthrow.c
-d/dmd/constfold.c
-d/dmd/cppmangle.c
-d/dmd/ctfeexpr.c
-d/dmd/dcast.c
-d/dmd/dclass.c
-d/dmd/declaration.c
-d/dmd/denum.c
-d/dmd/dimport.c
-d/dmd/dinterpret.c
-d/dmd/dmangle.c
-d/dmd/dmodule.c
-d/dmd/doc.c
-d/dmd/dscope.c
-d/dmd/dstruct.c
-d/dmd/dsymbol.c
-d/dmd/dtemplate.c
-d/dmd/dversion.c
-d/dmd/expression.c
-d/dmd/expressionsem.c
-d/dmd/func.c
-d/dmd/iasmgcc.c
-d/dmd/initsem.c
-d/dmd/lexer.c
-d/dmd/mtype.c
-d/dmd/nogc.c
-d/dmd/nspace.c
-d/dmd/objc.c
-d/dmd/opover.c
-d/dmd/optimize.c
-d/dmd/parse.c
-d/dmd/safe.c
-d/dmd/sideeffect.c
-d/dmd/statement.c
-d/dmd/statementsem.c
-d/dmd/staticassert.c
-d/dmd/staticcond.c
-d/dmd/traits.c