2006-01-04 Paolo Bonzini <bonzini@gnu.org>
authorPaolo Bonzini <bonzini@gnu.org>
Wed, 4 Jan 2006 13:11:22 +0000 (13:11 +0000)
committerPaolo Bonzini <bonzini@gnu.org>
Wed, 4 Jan 2006 13:11:22 +0000 (13:11 +0000)
Sync from gcc:

2006-01-04  Paolo Bonzini  <bonzini@gnu.org>

        PR bootstrap/24252

        * Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES.
        * Makefile.tpl (OBJDUMP): New.
        (EXTRA_HOST_FLAGS): Add it.
        (EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass.

        * Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try
        to use symbolic links between directories.  Avoid race conditions
        or make them harmless.
        * configure.in: Do not try to use symbolic links between directories.

        * Makefile.def (LEAN): Pass.
        * Makefile.tpl (LEAN): Define.
        (stage[+id+]-start): Accept that the previous directory does not
        exist, if the bootstrap is lean.
        (stage[+id+]-bubble): Invoke lean bootstrap commands after
        stage[+id+]-start.  Use a makefile variable and an `if' instead of a
        configure substitution.
        ([+compare-target+]): Likewise.
        ([+bootstrap-target+]-lean): New.
        * configure.in: Remove lean bootstrap support from here.

        * Makefile.in: Regenerate.
        * configure: Regenerate.

2006-01-02  Andreas Schwab  <schwab@suse.de>

        * configure.in: When reconfiguring remove Makefile in
        all stage directories.
        * configure: Regenerate.

ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.in

index 025ef60..adb4b5d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2006-01-04  Paolo Bonzini  <bonzini@gnu.org>
+
+       Sync from gcc:
+
+       2006-01-04  Paolo Bonzini  <bonzini@gnu.org>
+
+        PR bootstrap/24252
+
+        * Makefile.def (flags_to_pass): Add STAGE1_CFLAGS and STAGE1_LANGUAGES.
+        * Makefile.tpl (OBJDUMP): New.
+        (EXTRA_HOST_FLAGS): Add it.
+        (EXTRA_GCC_FLAGS): Remove flags already specified in flags_to_pass.
+
+        * Makefile.tpl (stage[+id+]-start, stage[+id+]-end): Do not try
+        to use symbolic links between directories.  Avoid race conditions
+        or make them harmless.
+        * configure.in: Do not try to use symbolic links between directories.
+
+        * Makefile.def (LEAN): Pass.
+        * Makefile.tpl (LEAN): Define.
+        (stage[+id+]-start): Accept that the previous directory does not
+        exist, if the bootstrap is lean.
+        (stage[+id+]-bubble): Invoke lean bootstrap commands after
+        stage[+id+]-start.  Use a makefile variable and an `if' instead of a
+        configure substitution.
+        ([+compare-target+]): Likewise.
+        ([+bootstrap-target+]-lean): New.
+        * configure.in: Remove lean bootstrap support from here.
+
+        * Makefile.in: Regenerate.
+        * configure: Regenerate.
+
+       2006-01-02  Andreas Schwab  <schwab@suse.de>
+
+        * configure.in: When reconfiguring remove Makefile in
+        all stage directories.
+        * configure: Regenerate.
+
 2005-12-27  Leif Ekblad  <leif@rdos.net>
 
        * configure.in: Add support for RDOS target.
index 2fdf638..acc770d 100644 (file)
@@ -4,7 +4,7 @@ AutoGen definitions Makefile.tpl;
 // Makefile.in is generated from Makefile.tpl by 'autogen Makefile.def'.
 // This file was originally written by Nathanael Nerode.
 //
-//   Copyright 2002, 2003 Free Software Foundation
+//   Copyright 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 //
 // This file is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -213,6 +213,8 @@ flags_to_pass = { flag= CXXFLAGS ; };
 flags_to_pass = { flag= LDFLAGS ; };
 flags_to_pass = { flag= LIBCFLAGS ; };
 flags_to_pass = { flag= LIBCXXFLAGS ; };
+flags_to_pass = { flag= STAGE1_CFLAGS ; };
+flags_to_pass = { flag= STAGE1_LANGUAGES ; };
 
 // Target tools
 flags_to_pass = { flag= AR_FOR_TARGET ; };
@@ -236,6 +238,9 @@ flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
 flags_to_pass = { flag= STRIP_FOR_TARGET ; };
 flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
 
+// Miscellaneous
+flags_to_pass = { flag= LEAN ; };
+
 // Inter-module dependencies
 
 // Build modules
index b010437..1dad15b 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Makefile for directory with subdirs to build.
 #   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
+#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -282,6 +282,7 @@ DLLTOOL = @DLLTOOL@
 LD = @LD@
 LIPO = @LIPO@
 NM = @NM@
+OBJDUMP = @OBJDUMP@
 RANLIB = @RANLIB@
 STRIP = @STRIP@
 WINDRES = @WINDRES@
@@ -440,6 +441,8 @@ BASE_FLAGS_TO_PASS = \
        "LDFLAGS=$(LDFLAGS)" \
        "LIBCFLAGS=$(LIBCFLAGS)" \
        "LIBCXXFLAGS=$(LIBCXXFLAGS)" \
+       "STAGE1_CFLAGS=$(STAGE1_CFLAGS)" \
+       "STAGE1_LANGUAGES=$(STAGE1_LANGUAGES)" \
        "AR_FOR_TARGET=$(AR_FOR_TARGET)" \
        "AS_FOR_TARGET=$(AS_FOR_TARGET)" \
        "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
@@ -460,6 +463,7 @@ BASE_FLAGS_TO_PASS = \
        "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
        "STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \
        "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
+       "LEAN=$(LEAN)" \
        "CONFIG_SHELL=$(SHELL)" \
        "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
 
@@ -477,6 +481,7 @@ EXTRA_HOST_FLAGS = \
        'LD=$(LD)' \
        'LIPO=$(LIPO)' \
        'NM=$(NM)' \
+       'OBJDUMP=$(OBJDUMP)' \
        'RANLIB=$(RANLIB)' \
        'STRIP=$(STRIP)' \
        'WINDRES=$(WINDRES)'
@@ -534,8 +539,6 @@ EXTRA_GCC_FLAGS = \
        "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
-       "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
-       "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
@@ -35679,6 +35682,9 @@ unstage:
 stage:
        @: $(MAKE); $(stage)
 
+# Disable commands for lean bootstrap.
+LEAN = false
+
 # We name the build directories for the various stages "stage1-gcc",
 # "stage2-gcc","stage3-gcc", etc.
 
@@ -35733,146 +35739,122 @@ stage1-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stage1-bfd ] || \
          mkdir stage1-bfd; \
-       set stage1-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-bfd bfd 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stage1-opcodes ] || \
          mkdir stage1-opcodes; \
-       set stage1-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-opcodes opcodes 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stage1-binutils ] || \
          mkdir stage1-binutils; \
-       set stage1-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-binutils binutils 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stage1-gas ] || \
          mkdir stage1-gas; \
-       set stage1-gas gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-gas gas 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stage1-gcc ] || \
          mkdir stage1-gcc; \
-       set stage1-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-gcc gcc 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stage1-intl ] || \
          mkdir stage1-intl; \
-       set stage1-intl intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-intl intl 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stage1-ld ] || \
          mkdir stage1-ld; \
-       set stage1-ld ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-ld ld 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stage1-libcpp ] || \
          mkdir stage1-libcpp; \
-       set stage1-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-libcpp libcpp 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stage1-libdecnumber ] || \
          mkdir stage1-libdecnumber; \
-       set stage1-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-libdecnumber libdecnumber 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stage1-libiberty ] || \
          mkdir stage1-libiberty; \
-       set stage1-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-libiberty libiberty 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stage1-zlib ] || \
          mkdir stage1-zlib; \
-       set stage1-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-zlib zlib 
 @endif zlib
        @[ -d stage1-$(TARGET_SUBDIR) ] || \
          mkdir stage1-$(TARGET_SUBDIR); \
-       set stage1-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage1-$(TARGET_SUBDIR) $(TARGET_SUBDIR) 
 
-stage1-end::
-       @rm -f stage_current
+stage1-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stage1-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stage1-bfd  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stage1-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stage1-opcodes  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stage1-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stage1-binutils  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stage1-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stage1-gas  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stage1-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stage1-gcc  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stage1-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stage1-intl  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stage1-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stage1-ld  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stage1-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stage1-libcpp  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stage1-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stage1-libdecnumber  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stage1-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stage1-libiberty  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stage1-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stage1-zlib  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR)  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage 1.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
@@ -35919,194 +35901,146 @@ stage2-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stage2-bfd ] || \
          mkdir stage2-bfd; \
-       set stage2-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-bfd prev-bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-bfd bfd  ; \
+       mv stage1-bfd prev-bfd || test -f stage1-lean 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stage2-opcodes ] || \
          mkdir stage2-opcodes; \
-       set stage2-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-opcodes prev-opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-opcodes opcodes  ; \
+       mv stage1-opcodes prev-opcodes || test -f stage1-lean 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stage2-binutils ] || \
          mkdir stage2-binutils; \
-       set stage2-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-binutils prev-binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-binutils binutils  ; \
+       mv stage1-binutils prev-binutils || test -f stage1-lean 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stage2-gas ] || \
          mkdir stage2-gas; \
-       set stage2-gas gas ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gas prev-gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-gas gas  ; \
+       mv stage1-gas prev-gas || test -f stage1-lean 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stage2-gcc ] || \
          mkdir stage2-gcc; \
-       set stage2-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gcc prev-gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-gcc gcc  ; \
+       mv stage1-gcc prev-gcc || test -f stage1-lean 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stage2-intl ] || \
          mkdir stage2-intl; \
-       set stage2-intl intl ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-intl prev-intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-intl intl  ; \
+       mv stage1-intl prev-intl || test -f stage1-lean 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stage2-ld ] || \
          mkdir stage2-ld; \
-       set stage2-ld ld ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-ld prev-ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-ld ld  ; \
+       mv stage1-ld prev-ld || test -f stage1-lean 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stage2-libcpp ] || \
          mkdir stage2-libcpp; \
-       set stage2-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libcpp prev-libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-libcpp libcpp  ; \
+       mv stage1-libcpp prev-libcpp || test -f stage1-lean 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stage2-libdecnumber ] || \
          mkdir stage2-libdecnumber; \
-       set stage2-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libdecnumber prev-libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-libdecnumber libdecnumber  ; \
+       mv stage1-libdecnumber prev-libdecnumber || test -f stage1-lean 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stage2-libiberty ] || \
          mkdir stage2-libiberty; \
-       set stage2-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libiberty prev-libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-libiberty libiberty  ; \
+       mv stage1-libiberty prev-libiberty || test -f stage1-lean 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stage2-zlib ] || \
          mkdir stage2-zlib; \
-       set stage2-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-zlib prev-zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-zlib zlib  ; \
+       mv stage1-zlib prev-zlib || test -f stage1-lean 
 @endif zlib
        @[ -d stage2-$(TARGET_SUBDIR) ] || \
          mkdir stage2-$(TARGET_SUBDIR); \
-       set stage2-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage2-$(TARGET_SUBDIR) $(TARGET_SUBDIR)  ; \
+       mv stage1-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage1-lean 
 
-stage2-end::
-       @rm -f stage_current
+stage2-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stage2-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage1-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stage2-bfd ; \
+         mv prev-bfd stage1-bfd ; :  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stage2-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage1-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stage2-opcodes ; \
+         mv prev-opcodes stage1-opcodes ; :  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stage2-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage1-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stage2-binutils ; \
+         mv prev-binutils stage1-binutils ; :  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stage2-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage1-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stage2-gas ; \
+         mv prev-gas stage1-gas ; :  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stage2-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage1-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stage2-gcc ; \
+         mv prev-gcc stage1-gcc ; :  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stage2-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage1-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stage2-intl ; \
+         mv prev-intl stage1-intl ; :  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stage2-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage1-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stage2-ld ; \
+         mv prev-ld stage1-ld ; :  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stage2-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage1-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stage2-libcpp ; \
+         mv prev-libcpp stage1-libcpp ; :  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stage2-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libdecnumber stage1-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stage2-libdecnumber ; \
+         mv prev-libdecnumber stage1-libdecnumber ; :  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stage2-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage1-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stage2-libiberty ; \
+         mv prev-libiberty stage1-libiberty ; :  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stage2-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage1-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stage2-zlib ; \
+         mv prev-zlib stage1-zlib ; :  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
-         set prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR)  ; \
+         mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR) ; :  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage 2.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
@@ -36131,7 +36065,7 @@ do-clean: clean-stage2
 
 
 
-.PHONY: bootstrap2
+.PHONY: bootstrap2 bootstrap2-lean
 bootstrap2:
        echo stage2 > stage_final
        @r=`${PWD_COMMAND}`; export r; \
@@ -36142,6 +36076,16 @@ bootstrap2:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 
+bootstrap2-lean:
+       echo stage2 > stage_final
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage2-bubble
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
 
 # Rules to wipe a stage and all the following ones, also used for cleanstrap
 distclean-stage1:: distclean-stage2 
@@ -36164,207 +36108,162 @@ stage3-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stage3-bfd ] || \
          mkdir stage3-bfd; \
-       set stage3-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-bfd prev-bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-bfd bfd  ; \
+       mv stage2-bfd prev-bfd || test -f stage2-lean 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stage3-opcodes ] || \
          mkdir stage3-opcodes; \
-       set stage3-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-opcodes prev-opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-opcodes opcodes  ; \
+       mv stage2-opcodes prev-opcodes || test -f stage2-lean 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stage3-binutils ] || \
          mkdir stage3-binutils; \
-       set stage3-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-binutils prev-binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-binutils binutils  ; \
+       mv stage2-binutils prev-binutils || test -f stage2-lean 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stage3-gas ] || \
          mkdir stage3-gas; \
-       set stage3-gas gas ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-gas prev-gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-gas gas  ; \
+       mv stage2-gas prev-gas || test -f stage2-lean 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stage3-gcc ] || \
          mkdir stage3-gcc; \
-       set stage3-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-gcc prev-gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-gcc gcc  ; \
+       mv stage2-gcc prev-gcc || test -f stage2-lean 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stage3-intl ] || \
          mkdir stage3-intl; \
-       set stage3-intl intl ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-intl prev-intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-intl intl  ; \
+       mv stage2-intl prev-intl || test -f stage2-lean 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stage3-ld ] || \
          mkdir stage3-ld; \
-       set stage3-ld ld ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-ld prev-ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-ld ld  ; \
+       mv stage2-ld prev-ld || test -f stage2-lean 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stage3-libcpp ] || \
          mkdir stage3-libcpp; \
-       set stage3-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-libcpp prev-libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-libcpp libcpp  ; \
+       mv stage2-libcpp prev-libcpp || test -f stage2-lean 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stage3-libdecnumber ] || \
          mkdir stage3-libdecnumber; \
-       set stage3-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-libdecnumber prev-libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-libdecnumber libdecnumber  ; \
+       mv stage2-libdecnumber prev-libdecnumber || test -f stage2-lean 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stage3-libiberty ] || \
          mkdir stage3-libiberty; \
-       set stage3-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-libiberty prev-libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-libiberty libiberty  ; \
+       mv stage2-libiberty prev-libiberty || test -f stage2-lean 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stage3-zlib ] || \
          mkdir stage3-zlib; \
-       set stage3-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-zlib prev-zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-zlib zlib  ; \
+       mv stage2-zlib prev-zlib || test -f stage2-lean 
 @endif zlib
        @[ -d stage3-$(TARGET_SUBDIR) ] || \
          mkdir stage3-$(TARGET_SUBDIR); \
-       set stage3-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage2-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage3-$(TARGET_SUBDIR) $(TARGET_SUBDIR)  ; \
+       mv stage2-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage2-lean 
 
-stage3-end::
-       @rm -f stage_current
+stage3-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stage3-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage2-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stage3-bfd ; \
+         mv prev-bfd stage2-bfd ; :  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stage3-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage2-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stage3-opcodes ; \
+         mv prev-opcodes stage2-opcodes ; :  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stage3-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage2-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stage3-binutils ; \
+         mv prev-binutils stage2-binutils ; :  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stage3-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage2-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stage3-gas ; \
+         mv prev-gas stage2-gas ; :  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stage3-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage2-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stage3-gcc ; \
+         mv prev-gcc stage2-gcc ; :  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stage3-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage2-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stage3-intl ; \
+         mv prev-intl stage2-intl ; :  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stage3-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage2-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stage3-ld ; \
+         mv prev-ld stage2-ld ; :  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stage3-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage2-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stage3-libcpp ; \
+         mv prev-libcpp stage2-libcpp ; :  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stage3-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libdecnumber stage2-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stage3-libdecnumber ; \
+         mv prev-libdecnumber stage2-libdecnumber ; :  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stage3-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage2-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stage3-libiberty ; \
+         mv prev-libiberty stage2-libiberty ; :  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stage3-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage2-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stage3-zlib ; \
+         mv prev-zlib stage2-zlib ; :  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
-         set prev-$(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR)  ; \
+         mv prev-$(TARGET_SUBDIR) stage2-$(TARGET_SUBDIR) ; :  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage 3.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
 # reconfigured as well.
 .PHONY: stage3-bubble
 stage3-bubble:: stage2-bubble
-       @bootstrap_lean@-rm -rf stage1-* ; $(STAMP) stage1-lean
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        if test -f stage3-lean || test -f stage2-lean  ; then \
          echo Skipping rebuild of stage3 ; \
        else \
          $(MAKE) stage3-start; \
+         if $(LEAN); then \
+           rm -rf stage1-* ; \
+           $(STAMP) stage1-lean ; \
+         fi; \
          $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage3; \
        fi
        $(MAKE) $(RECURSE_FLAGS_TO_PASS) compare
@@ -36408,11 +36307,14 @@ compare:
          true; \
        fi ; \
        $(STAMP) compare
-       @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
+       if $(LEAN); then \
+         rm -rf stage2-*; \
+         $(STAMP) stage2-lean; \
+       fi
 
 
 
-.PHONY: bootstrap
+.PHONY: bootstrap bootstrap-lean
 bootstrap:
        echo stage3 > stage_final
        @r=`${PWD_COMMAND}`; export r; \
@@ -36423,6 +36325,16 @@ bootstrap:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 
+bootstrap-lean:
+       echo stage3 > stage_final
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage3-bubble
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
 
 # Rules to wipe a stage and all the following ones, also used for cleanstrap
 distclean-stage2:: distclean-stage3 
@@ -36448,207 +36360,162 @@ stage4-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stage4-bfd ] || \
          mkdir stage4-bfd; \
-       set stage4-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-bfd prev-bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-bfd bfd  ; \
+       mv stage3-bfd prev-bfd || test -f stage3-lean 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stage4-opcodes ] || \
          mkdir stage4-opcodes; \
-       set stage4-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-opcodes prev-opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-opcodes opcodes  ; \
+       mv stage3-opcodes prev-opcodes || test -f stage3-lean 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stage4-binutils ] || \
          mkdir stage4-binutils; \
-       set stage4-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-binutils prev-binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-binutils binutils  ; \
+       mv stage3-binutils prev-binutils || test -f stage3-lean 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stage4-gas ] || \
          mkdir stage4-gas; \
-       set stage4-gas gas ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-gas prev-gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-gas gas  ; \
+       mv stage3-gas prev-gas || test -f stage3-lean 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stage4-gcc ] || \
          mkdir stage4-gcc; \
-       set stage4-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-gcc prev-gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-gcc gcc  ; \
+       mv stage3-gcc prev-gcc || test -f stage3-lean 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stage4-intl ] || \
          mkdir stage4-intl; \
-       set stage4-intl intl ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-intl prev-intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-intl intl  ; \
+       mv stage3-intl prev-intl || test -f stage3-lean 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stage4-ld ] || \
          mkdir stage4-ld; \
-       set stage4-ld ld ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-ld prev-ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-ld ld  ; \
+       mv stage3-ld prev-ld || test -f stage3-lean 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stage4-libcpp ] || \
          mkdir stage4-libcpp; \
-       set stage4-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-libcpp prev-libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-libcpp libcpp  ; \
+       mv stage3-libcpp prev-libcpp || test -f stage3-lean 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stage4-libdecnumber ] || \
          mkdir stage4-libdecnumber; \
-       set stage4-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-libdecnumber prev-libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-libdecnumber libdecnumber  ; \
+       mv stage3-libdecnumber prev-libdecnumber || test -f stage3-lean 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stage4-libiberty ] || \
          mkdir stage4-libiberty; \
-       set stage4-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-libiberty prev-libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-libiberty libiberty  ; \
+       mv stage3-libiberty prev-libiberty || test -f stage3-lean 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stage4-zlib ] || \
          mkdir stage4-zlib; \
-       set stage4-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-zlib prev-zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-zlib zlib  ; \
+       mv stage3-zlib prev-zlib || test -f stage3-lean 
 @endif zlib
        @[ -d stage4-$(TARGET_SUBDIR) ] || \
          mkdir stage4-$(TARGET_SUBDIR); \
-       set stage4-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage3-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stage4-$(TARGET_SUBDIR) $(TARGET_SUBDIR)  ; \
+       mv stage3-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage3-lean 
 
-stage4-end::
-       @rm -f stage_current
+stage4-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stage4-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage3-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stage4-bfd ; \
+         mv prev-bfd stage3-bfd ; :  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stage4-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage3-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stage4-opcodes ; \
+         mv prev-opcodes stage3-opcodes ; :  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stage4-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage3-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stage4-binutils ; \
+         mv prev-binutils stage3-binutils ; :  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stage4-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage3-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stage4-gas ; \
+         mv prev-gas stage3-gas ; :  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stage4-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage3-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stage4-gcc ; \
+         mv prev-gcc stage3-gcc ; :  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stage4-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage3-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stage4-intl ; \
+         mv prev-intl stage3-intl ; :  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stage4-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage3-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stage4-ld ; \
+         mv prev-ld stage3-ld ; :  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stage4-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage3-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stage4-libcpp ; \
+         mv prev-libcpp stage3-libcpp ; :  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stage4-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libdecnumber stage3-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stage4-libdecnumber ; \
+         mv prev-libdecnumber stage3-libdecnumber ; :  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stage4-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage3-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stage4-libiberty ; \
+         mv prev-libiberty stage3-libiberty ; :  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stage4-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage3-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stage4-zlib ; \
+         mv prev-zlib stage3-zlib ; :  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stage4-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
-         set prev-$(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stage4-$(TARGET_SUBDIR)  ; \
+         mv prev-$(TARGET_SUBDIR) stage3-$(TARGET_SUBDIR) ; :  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage 4.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
 # reconfigured as well.
 .PHONY: stage4-bubble
 stage4-bubble:: stage3-bubble
-       @bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        if test -f stage4-lean || test -f stage3-lean  ; then \
          echo Skipping rebuild of stage4 ; \
        else \
          $(MAKE) stage4-start; \
+         if $(LEAN); then \
+           rm -rf stage2-* ; \
+           $(STAMP) stage2-lean ; \
+         fi; \
          $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage4; \
        fi
        $(MAKE) $(RECURSE_FLAGS_TO_PASS) compare3
@@ -36692,11 +36559,14 @@ compare3:
          true; \
        fi ; \
        $(STAMP) compare3
-       @bootstrap_lean@-rm -rf stage3-* ; $(STAMP) stage3-lean
+       if $(LEAN); then \
+         rm -rf stage3-*; \
+         $(STAMP) stage3-lean; \
+       fi
 
 
 
-.PHONY: bootstrap4
+.PHONY: bootstrap4 bootstrap4-lean
 bootstrap4:
        echo stage4 > stage_final
        @r=`${PWD_COMMAND}`; export r; \
@@ -36707,6 +36577,16 @@ bootstrap4:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 
+bootstrap4-lean:
+       echo stage4 > stage_final
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage4-bubble
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
 
 # Rules to wipe a stage and all the following ones, also used for cleanstrap
 distclean-stage3:: distclean-stage4 
@@ -36729,194 +36609,146 @@ stageprofile-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stageprofile-bfd ] || \
          mkdir stageprofile-bfd; \
-       set stageprofile-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-bfd prev-bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-bfd bfd  ; \
+       mv stage1-bfd prev-bfd || test -f stage1-lean 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stageprofile-opcodes ] || \
          mkdir stageprofile-opcodes; \
-       set stageprofile-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-opcodes prev-opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-opcodes opcodes  ; \
+       mv stage1-opcodes prev-opcodes || test -f stage1-lean 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stageprofile-binutils ] || \
          mkdir stageprofile-binutils; \
-       set stageprofile-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-binutils prev-binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-binutils binutils  ; \
+       mv stage1-binutils prev-binutils || test -f stage1-lean 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stageprofile-gas ] || \
          mkdir stageprofile-gas; \
-       set stageprofile-gas gas ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gas prev-gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-gas gas  ; \
+       mv stage1-gas prev-gas || test -f stage1-lean 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stageprofile-gcc ] || \
          mkdir stageprofile-gcc; \
-       set stageprofile-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-gcc prev-gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-gcc gcc  ; \
+       mv stage1-gcc prev-gcc || test -f stage1-lean 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stageprofile-intl ] || \
          mkdir stageprofile-intl; \
-       set stageprofile-intl intl ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-intl prev-intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-intl intl  ; \
+       mv stage1-intl prev-intl || test -f stage1-lean 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stageprofile-ld ] || \
          mkdir stageprofile-ld; \
-       set stageprofile-ld ld ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-ld prev-ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-ld ld  ; \
+       mv stage1-ld prev-ld || test -f stage1-lean 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stageprofile-libcpp ] || \
          mkdir stageprofile-libcpp; \
-       set stageprofile-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libcpp prev-libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-libcpp libcpp  ; \
+       mv stage1-libcpp prev-libcpp || test -f stage1-lean 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stageprofile-libdecnumber ] || \
          mkdir stageprofile-libdecnumber; \
-       set stageprofile-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libdecnumber prev-libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-libdecnumber libdecnumber  ; \
+       mv stage1-libdecnumber prev-libdecnumber || test -f stage1-lean 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stageprofile-libiberty ] || \
          mkdir stageprofile-libiberty; \
-       set stageprofile-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-libiberty prev-libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-libiberty libiberty  ; \
+       mv stage1-libiberty prev-libiberty || test -f stage1-lean 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stageprofile-zlib ] || \
          mkdir stageprofile-zlib; \
-       set stageprofile-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-zlib prev-zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-zlib zlib  ; \
+       mv stage1-zlib prev-zlib || test -f stage1-lean 
 @endif zlib
        @[ -d stageprofile-$(TARGET_SUBDIR) ] || \
          mkdir stageprofile-$(TARGET_SUBDIR); \
-       set stageprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stage1-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stageprofile-$(TARGET_SUBDIR) $(TARGET_SUBDIR)  ; \
+       mv stage1-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage1-lean 
 
-stageprofile-end::
-       @rm -f stage_current
+stageprofile-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stageprofile-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stage1-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stageprofile-bfd ; \
+         mv prev-bfd stage1-bfd ; :  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stageprofile-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stage1-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stageprofile-opcodes ; \
+         mv prev-opcodes stage1-opcodes ; :  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stageprofile-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stage1-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stageprofile-binutils ; \
+         mv prev-binutils stage1-binutils ; :  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stageprofile-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stage1-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stageprofile-gas ; \
+         mv prev-gas stage1-gas ; :  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stageprofile-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stage1-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stageprofile-gcc ; \
+         mv prev-gcc stage1-gcc ; :  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stageprofile-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stage1-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stageprofile-intl ; \
+         mv prev-intl stage1-intl ; :  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stageprofile-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stage1-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stageprofile-ld ; \
+         mv prev-ld stage1-ld ; :  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stageprofile-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stage1-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stageprofile-libcpp ; \
+         mv prev-libcpp stage1-libcpp ; :  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stageprofile-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libdecnumber stage1-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stageprofile-libdecnumber ; \
+         mv prev-libdecnumber stage1-libdecnumber ; :  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stageprofile-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stage1-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stageprofile-libiberty ; \
+         mv prev-libiberty stage1-libiberty ; :  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stageprofile-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stage1-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stageprofile-zlib ; \
+         mv prev-zlib stage1-zlib ; :  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
-         set prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR)  ; \
+         mv prev-$(TARGET_SUBDIR) stage1-$(TARGET_SUBDIR) ; :  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage profile.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
@@ -36963,194 +36795,146 @@ stagefeedback-start::
 @if bfd
        @cd $(HOST_SUBDIR); [ -d stagefeedback-bfd ] || \
          mkdir stagefeedback-bfd; \
-       set stagefeedback-bfd bfd ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-bfd prev-bfd ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-bfd bfd  ; \
+       mv stageprofile-bfd prev-bfd || test -f stageprofile-lean 
 @endif bfd
 @if opcodes
        @cd $(HOST_SUBDIR); [ -d stagefeedback-opcodes ] || \
          mkdir stagefeedback-opcodes; \
-       set stagefeedback-opcodes opcodes ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-opcodes prev-opcodes ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-opcodes opcodes  ; \
+       mv stageprofile-opcodes prev-opcodes || test -f stageprofile-lean 
 @endif opcodes
 @if binutils
        @cd $(HOST_SUBDIR); [ -d stagefeedback-binutils ] || \
          mkdir stagefeedback-binutils; \
-       set stagefeedback-binutils binutils ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-binutils prev-binutils ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-binutils binutils  ; \
+       mv stageprofile-binutils prev-binutils || test -f stageprofile-lean 
 @endif binutils
 @if gas
        @cd $(HOST_SUBDIR); [ -d stagefeedback-gas ] || \
          mkdir stagefeedback-gas; \
-       set stagefeedback-gas gas ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-gas prev-gas ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-gas gas  ; \
+       mv stageprofile-gas prev-gas || test -f stageprofile-lean 
 @endif gas
 @if gcc
        @cd $(HOST_SUBDIR); [ -d stagefeedback-gcc ] || \
          mkdir stagefeedback-gcc; \
-       set stagefeedback-gcc gcc ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-gcc prev-gcc ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-gcc gcc  ; \
+       mv stageprofile-gcc prev-gcc || test -f stageprofile-lean 
 @endif gcc
 @if intl
        @cd $(HOST_SUBDIR); [ -d stagefeedback-intl ] || \
          mkdir stagefeedback-intl; \
-       set stagefeedback-intl intl ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-intl prev-intl ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-intl intl  ; \
+       mv stageprofile-intl prev-intl || test -f stageprofile-lean 
 @endif intl
 @if ld
        @cd $(HOST_SUBDIR); [ -d stagefeedback-ld ] || \
          mkdir stagefeedback-ld; \
-       set stagefeedback-ld ld ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-ld prev-ld ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-ld ld  ; \
+       mv stageprofile-ld prev-ld || test -f stageprofile-lean 
 @endif ld
 @if libcpp
        @cd $(HOST_SUBDIR); [ -d stagefeedback-libcpp ] || \
          mkdir stagefeedback-libcpp; \
-       set stagefeedback-libcpp libcpp ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-libcpp prev-libcpp ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-libcpp libcpp  ; \
+       mv stageprofile-libcpp prev-libcpp || test -f stageprofile-lean 
 @endif libcpp
 @if libdecnumber
        @cd $(HOST_SUBDIR); [ -d stagefeedback-libdecnumber ] || \
          mkdir stagefeedback-libdecnumber; \
-       set stagefeedback-libdecnumber libdecnumber ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-libdecnumber prev-libdecnumber ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-libdecnumber libdecnumber  ; \
+       mv stageprofile-libdecnumber prev-libdecnumber || test -f stageprofile-lean 
 @endif libdecnumber
 @if libiberty
        @cd $(HOST_SUBDIR); [ -d stagefeedback-libiberty ] || \
          mkdir stagefeedback-libiberty; \
-       set stagefeedback-libiberty libiberty ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-libiberty prev-libiberty ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-libiberty libiberty  ; \
+       mv stageprofile-libiberty prev-libiberty || test -f stageprofile-lean 
 @endif libiberty
 @if zlib
        @cd $(HOST_SUBDIR); [ -d stagefeedback-zlib ] || \
          mkdir stagefeedback-zlib; \
-       set stagefeedback-zlib zlib ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-zlib prev-zlib ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-zlib zlib  ; \
+       mv stageprofile-zlib prev-zlib || test -f stageprofile-lean 
 @endif zlib
        @[ -d stagefeedback-$(TARGET_SUBDIR) ] || \
          mkdir stagefeedback-$(TARGET_SUBDIR); \
-       set stagefeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@  ; \
-       set stageprofile-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ 
+       mv stagefeedback-$(TARGET_SUBDIR) $(TARGET_SUBDIR)  ; \
+       mv stageprofile-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stageprofile-lean 
 
-stagefeedback-end::
-       @rm -f stage_current
+stagefeedback-end:: 
 @if bfd
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set bfd stagefeedback-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-bfd stageprofile-bfd ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/bfd ; then \
+         cd $(HOST_SUBDIR); mv bfd stagefeedback-bfd ; \
+         mv prev-bfd stageprofile-bfd ; :  ; \
        fi
 @endif bfd
 @if opcodes
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set opcodes stagefeedback-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-opcodes stageprofile-opcodes ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/opcodes ; then \
+         cd $(HOST_SUBDIR); mv opcodes stagefeedback-opcodes ; \
+         mv prev-opcodes stageprofile-opcodes ; :  ; \
        fi
 @endif opcodes
 @if binutils
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set binutils stagefeedback-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-binutils stageprofile-binutils ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/binutils ; then \
+         cd $(HOST_SUBDIR); mv binutils stagefeedback-binutils ; \
+         mv prev-binutils stageprofile-binutils ; :  ; \
        fi
 @endif binutils
 @if gas
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gas stagefeedback-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gas stageprofile-gas ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gas ; then \
+         cd $(HOST_SUBDIR); mv gas stagefeedback-gas ; \
+         mv prev-gas stageprofile-gas ; :  ; \
        fi
 @endif gas
 @if gcc
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set gcc stagefeedback-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-gcc stageprofile-gcc ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/gcc ; then \
+         cd $(HOST_SUBDIR); mv gcc stagefeedback-gcc ; \
+         mv prev-gcc stageprofile-gcc ; :  ; \
        fi
 @endif gcc
 @if intl
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set intl stagefeedback-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-intl stageprofile-intl ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/intl ; then \
+         cd $(HOST_SUBDIR); mv intl stagefeedback-intl ; \
+         mv prev-intl stageprofile-intl ; :  ; \
        fi
 @endif intl
 @if ld
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set ld stagefeedback-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-ld stageprofile-ld ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/ld ; then \
+         cd $(HOST_SUBDIR); mv ld stagefeedback-ld ; \
+         mv prev-ld stageprofile-ld ; :  ; \
        fi
 @endif ld
 @if libcpp
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libcpp stagefeedback-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libcpp stageprofile-libcpp ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libcpp ; then \
+         cd $(HOST_SUBDIR); mv libcpp stagefeedback-libcpp ; \
+         mv prev-libcpp stageprofile-libcpp ; :  ; \
        fi
 @endif libcpp
 @if libdecnumber
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libdecnumber stagefeedback-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libdecnumber stageprofile-libdecnumber ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libdecnumber ; then \
+         cd $(HOST_SUBDIR); mv libdecnumber stagefeedback-libdecnumber ; \
+         mv prev-libdecnumber stageprofile-libdecnumber ; :  ; \
        fi
 @endif libdecnumber
 @if libiberty
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set libiberty stagefeedback-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-libiberty stageprofile-libiberty ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/libiberty ; then \
+         cd $(HOST_SUBDIR); mv libiberty stagefeedback-libiberty ; \
+         mv prev-libiberty stageprofile-libiberty ; :  ; \
        fi
 @endif libiberty
 @if zlib
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set zlib stagefeedback-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
-       set prev-zlib stageprofile-zlib ; \
-       @UNDO_LINK_TO_DIR@  ; \
+       @if test -d $(HOST_SUBDIR)/zlib ; then \
+         cd $(HOST_SUBDIR); mv zlib stagefeedback-zlib ; \
+         mv prev-zlib stageprofile-zlib ; :  ; \
        fi
 @endif zlib
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stagefeedback-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
-         set prev-$(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@  ; \
+         mv $(TARGET_SUBDIR) stagefeedback-$(TARGET_SUBDIR)  ; \
+         mv prev-$(TARGET_SUBDIR) stageprofile-$(TARGET_SUBDIR) ; :  ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage feedback.  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
@@ -37175,7 +36959,7 @@ do-clean: clean-stagefeedback
 
 
 
-.PHONY: profiledbootstrap
+.PHONY: profiledbootstrap profiledbootstrap-lean
 profiledbootstrap:
        echo stagefeedback > stage_final
        @r=`${PWD_COMMAND}`; export r; \
@@ -37186,6 +36970,16 @@ profiledbootstrap:
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 
+profiledbootstrap-lean:
+       echo stagefeedback > stage_final
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stagefeedback-bubble
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
 
 # Rules to wipe a stage and all the following ones, also used for cleanstrap
 distclean-stageprofile:: distclean-stagefeedback 
index 8b5b679..afeaef5 100644 (file)
@@ -6,7 +6,7 @@ in
 #
 # Makefile for directory with subdirs to build.
 #   Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation
+#   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -285,6 +285,7 @@ DLLTOOL = @DLLTOOL@
 LD = @LD@
 LIPO = @LIPO@
 NM = @NM@
+OBJDUMP = @OBJDUMP@
 RANLIB = @RANLIB@
 STRIP = @STRIP@
 WINDRES = @WINDRES@
@@ -407,6 +408,7 @@ EXTRA_HOST_FLAGS = \
        'LD=$(LD)' \
        'LIPO=$(LIPO)' \
        'NM=$(NM)' \
+       'OBJDUMP=$(OBJDUMP)' \
        'RANLIB=$(RANLIB)' \
        'STRIP=$(STRIP)' \
        'WINDRES=$(WINDRES)'
@@ -464,8 +466,6 @@ EXTRA_GCC_FLAGS = \
        "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
-       "`echo 'STAGE1_CFLAGS=$(STAGE1_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
-       "`echo 'BOOT_CFLAGS=$(BOOT_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
        "`echo 'BOOT_ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
 
 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
@@ -1222,6 +1222,9 @@ unstage:
 stage:
        @: $(MAKE); $(stage)
 
+# Disable commands for lean bootstrap.
+LEAN = false
+
 # We name the build directories for the various stages "stage1-gcc",
 # "stage2-gcc","stage3-gcc", etc.
 
@@ -1277,48 +1280,43 @@ stage[+id+]-start::
 @if [+ module +]
        @cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
          mkdir stage[+id+]-[+module+]; \
-       set stage[+id+]-[+module+] [+module+] ; \
-       @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
-       set stage[+prev+]-[+module+] prev-[+module+] ; \
-       @CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
+       mv stage[+id+]-[+module+] [+module+] [+ IF prev +] ; \
+       mv stage[+prev+]-[+module+] prev-[+module+] || test -f stage[+prev+]-lean [+ ENDIF prev +]
 @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
        @[ -d stage[+id+]-$(TARGET_SUBDIR) ] || \
          mkdir stage[+id+]-$(TARGET_SUBDIR); \
-       set stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
-       set stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) ; \
-       @CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
+       mv stage[+id+]-$(TARGET_SUBDIR) $(TARGET_SUBDIR) [+ IF prev +] ; \
+       mv stage[+prev+]-$(TARGET_SUBDIR) prev-$(TARGET_SUBDIR) || test -f stage[+prev+]-lean [+ ENDIF prev +]
 
-stage[+id+]-end::
-       @rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +]
+stage[+id+]-end:: [+ FOR host_modules +][+ IF bootstrap +]
 @if [+ module +]
-       @if test -d $(HOST_SUBDIR) ; then \
-       cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \
-       @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
-       set prev-[+module+] stage[+prev+]-[+module+] ; \
-       @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
+       @if test -d $(HOST_SUBDIR)/[+module+] ; then \
+         cd $(HOST_SUBDIR); mv [+module+] stage[+id+]-[+module+] [+ IF prev +]; \
+         mv prev-[+module+] stage[+prev+]-[+module+] ; : [+ ENDIF prev +] ; \
        fi
 @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
        @if test -d $(TARGET_SUBDIR) ; then \
-         set $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
-         set prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; \
-         @UNDO_LINK_TO_DIR@ [+ ENDIF prev +] ; \
+         mv $(TARGET_SUBDIR) stage[+id+]-$(TARGET_SUBDIR) [+ IF prev +] ; \
+         mv prev-$(TARGET_SUBDIR) stage[+prev+]-$(TARGET_SUBDIR) ; : [+ ENDIF prev +] ; \
        fi
+       rm -f stage_current
 
 # Bubble a bugfix through all the stages up to stage [+id+].  They are
 # remade, but not reconfigured.  The next stage (if any) will not be
 # reconfigured as well.
 .PHONY: stage[+id+]-bubble
-stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +]
-       @bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +]
+stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        if test -f stage[+id+]-lean [+
          IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
          echo Skipping rebuild of stage[+id+] ; \
        else \
-         $(MAKE) stage[+id+]-start; \
+         $(MAKE) stage[+id+]-start; \[+IF lean +]
+         if $(LEAN); then \
+           rm -rf stage[+lean+]-* ; \
+           $(STAMP) stage[+lean+]-lean ; \
+         fi; \[+ ENDIF lean +]
          $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
        fi[+ IF compare-target +]
        $(MAKE) $(RECURSE_FLAGS_TO_PASS) [+compare-target+][+ ENDIF compare-target +]
@@ -1362,11 +1360,14 @@ do-clean: clean-stage[+id+]
          true; \
        fi ; \
        $(STAMP) [+compare-target+][+ IF prev +]
-       @bootstrap_lean@-rm -rf stage[+prev+]-* ; $(STAMP) stage[+prev+]-lean[+ ENDIF prev +]
+       if $(LEAN); then \
+         rm -rf stage[+prev+]-*; \
+         $(STAMP) stage[+prev+]-lean; \
+       fi[+ ENDIF prev +]
 [+ ENDIF compare-target +]
 
 [+ IF bootstrap-target +]
-.PHONY: [+bootstrap-target+]
+.PHONY: [+bootstrap-target+] [+bootstrap-target+]-lean
 [+bootstrap-target+]:
        echo stage[+id+] > stage_final
        @r=`${PWD_COMMAND}`; export r; \
@@ -1376,6 +1377,16 @@ do-clean: clean-stage[+id+]
        @r=`${PWD_COMMAND}`; export r; \
        s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
        $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
+
+[+bootstrap-target+]-lean:
+       echo stage[+id+] > stage_final
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(RECURSE_FLAGS_TO_PASS) LEAN=: stage[+id+]-bubble
+       @: $(MAKE); $(unstage)
+       @r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
 [+ ENDIF bootstrap-target +]
 
 # Rules to wipe a stage and all the following ones, also used for cleanstrap
index e6c0368..530d9d2 100755 (executable)
--- a/configure
+++ b/configure
@@ -27,7 +27,7 @@ ac_help="$ac_help
   --with-build-sysroot=sysroot
                           use sysroot as the system root during the build"
 ac_help="$ac_help
-  --enable-bootstrap[=lean]     Enable bootstrapping [no]"
+  --enable-bootstrap           Enable bootstrapping [yes if native build]"
 ac_help="$ac_help
   --enable-serial-[{host,target,build}-]configure
                           Force sequential configuration of
@@ -2970,17 +2970,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in
     enable_bootstrap=no ;;
 
   # We have a compiler and we are in a native configuration, bootstrap is ok
-  yes:$build:$build:yes | yes:$build:$build:lean)
+  yes:$build:$build:yes)
     ;;
 
   # Other configurations, but we have a compiler.  Assume the user knows
   # what he's doing.
-  yes:*:*:yes | yes:*:*:lean)
+  yes:*:*:yes)
     echo "configure: warning: trying to bootstrap a cross compiler" 1>&2
     ;;
 
   # No compiler: if they passed --enable-bootstrap explicitly, fail
-  no:*:*:yes | no:*:*:lean)
+  no:*:*:yes)
     { echo "configure: error: cannot bootstrap without a compiler" 1>&2; exit 1; } ;;
 
   # Fail if wrong command line
@@ -2992,16 +2992,11 @@ esac
 # Adjust the toplevel makefile according to whether bootstrap was selected.
 case "$enable_bootstrap" in
   yes)
-    bootstrap_lean='#'
-    bootstrap_suffix=bootstrap ;;
-  lean)
-    bootstrap_lean=''
     bootstrap_suffix=bootstrap ;;
   no)
     bootstrap_suffix=no-bootstrap ;;
 esac
 
-
 for module in ${build_configdirs} ; do
   if test -z "${no_recursion}" \
      && test -f ${build_subdir}/${module}/Makefile; then
@@ -3015,10 +3010,13 @@ for module in ${build_configdirs} ; do
 /^@endif build-$module-$bootstrap_suffix\$/d"
 done
 for module in ${configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
+  if test -z "${no_recursion}"; then
+    for file in stage*-${module}/Makefile ${module}/Makefile; do
+      if test -f ${file}; then
+       echo 1>&2 "*** removing ${file} to force reconfigure"
+       rm -f ${file}
+      fi
+    done
   fi
   extrasub="$extrasub
 /^@if $module\$/d
@@ -3317,7 +3315,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3321: checking for $ac_word" >&5
+echo "configure:3319: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3357,7 +3355,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3361: checking for $ac_word" >&5
+echo "configure:3359: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3396,7 +3394,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3400: checking for $ac_word" >&5
+echo "configure:3398: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_M4'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3435,7 +3433,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3439: checking for $ac_word" >&5
+echo "configure:3437: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3475,7 +3473,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3479: checking for $ac_word" >&5
+echo "configure:3477: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3514,7 +3512,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3518: checking for $ac_word" >&5
+echo "configure:3516: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3567,7 +3565,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3571: checking for $ac_word" >&5
+echo "configure:3569: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3608,7 +3606,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3612: checking for $ac_word" >&5
+echo "configure:3610: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3656,7 +3654,7 @@ test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3660: checking for $ac_word" >&5
+echo "configure:3658: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3687,7 +3685,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3691: checking for $ac_word" >&5
+echo "configure:3689: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3731,7 +3729,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3735: checking for $ac_word" >&5
+echo "configure:3733: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3762,7 +3760,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3766: checking for $ac_word" >&5
+echo "configure:3764: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3806,7 +3804,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3810: checking for $ac_word" >&5
+echo "configure:3808: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3837,7 +3835,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3841: checking for $ac_word" >&5
+echo "configure:3839: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3881,7 +3879,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3885: checking for $ac_word" >&5
+echo "configure:3883: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3912,7 +3910,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3916: checking for $ac_word" >&5
+echo "configure:3914: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3956,7 +3954,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3960: checking for $ac_word" >&5
+echo "configure:3958: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3987,7 +3985,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3991: checking for $ac_word" >&5
+echo "configure:3989: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4031,7 +4029,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4035: checking for $ac_word" >&5
+echo "configure:4033: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4062,7 +4060,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4066: checking for $ac_word" >&5
+echo "configure:4064: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4106,7 +4104,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4110: checking for $ac_word" >&5
+echo "configure:4108: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4137,7 +4135,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4141: checking for $ac_word" >&5
+echo "configure:4139: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4176,7 +4174,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4180: checking for $ac_word" >&5
+echo "configure:4178: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4207,7 +4205,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4211: checking for $ac_word" >&5
+echo "configure:4209: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4246,7 +4244,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4250: checking for $ac_word" >&5
+echo "configure:4248: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4277,7 +4275,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4281: checking for $ac_word" >&5
+echo "configure:4279: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4321,7 +4319,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4325: checking for $ac_word" >&5
+echo "configure:4323: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4352,7 +4350,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4356: checking for $ac_word" >&5
+echo "configure:4354: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4396,7 +4394,7 @@ fi
     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4400: checking for $ac_word" >&5
+echo "configure:4398: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4427,7 +4425,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4431: checking for $ac_word" >&5
+echo "configure:4429: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4478,7 +4476,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4482: checking for $ac_word" >&5
+echo "configure:4480: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4509,7 +4507,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4513: checking for $ac_word" >&5
+echo "configure:4511: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4553,7 +4551,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4557: checking for $ac_word" >&5
+echo "configure:4555: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4584,7 +4582,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4588: checking for $ac_word" >&5
+echo "configure:4586: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4628,7 +4626,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4632: checking for $ac_word" >&5
+echo "configure:4630: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4659,7 +4657,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4663: checking for $ac_word" >&5
+echo "configure:4661: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4703,7 +4701,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4707: checking for $ac_word" >&5
+echo "configure:4705: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4734,7 +4732,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4738: checking for $ac_word" >&5
+echo "configure:4736: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4778,7 +4776,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4782: checking for $ac_word" >&5
+echo "configure:4780: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4809,7 +4807,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4813: checking for $ac_word" >&5
+echo "configure:4811: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4853,7 +4851,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4857: checking for $ac_word" >&5
+echo "configure:4855: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4884,7 +4882,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4888: checking for $ac_word" >&5
+echo "configure:4886: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4923,7 +4921,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4927: checking for $ac_word" >&5
+echo "configure:4925: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4954,7 +4952,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4958: checking for $ac_word" >&5
+echo "configure:4956: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4998,7 +4996,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5002: checking for $ac_word" >&5
+echo "configure:5000: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5029,7 +5027,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5033: checking for $ac_word" >&5
+echo "configure:5031: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5073,7 +5071,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5077: checking for $ac_word" >&5
+echo "configure:5075: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5104,7 +5102,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5108: checking for $ac_word" >&5
+echo "configure:5106: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5148,7 +5146,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5152: checking for $ac_word" >&5
+echo "configure:5150: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5179,7 +5177,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5183: checking for $ac_word" >&5
+echo "configure:5181: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5223,7 +5221,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5227: checking for $ac_word" >&5
+echo "configure:5225: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5254,7 +5252,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5258: checking for $ac_word" >&5
+echo "configure:5256: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5298,7 +5296,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5302: checking for $ac_word" >&5
+echo "configure:5300: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5329,7 +5327,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5333: checking for $ac_word" >&5
+echo "configure:5331: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5373,7 +5371,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5377: checking for $ac_word" >&5
+echo "configure:5375: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5404,7 +5402,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5408: checking for $ac_word" >&5
+echo "configure:5406: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5443,7 +5441,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5447: checking for $ac_word" >&5
+echo "configure:5445: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5474,7 +5472,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5478: checking for $ac_word" >&5
+echo "configure:5476: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5518,7 +5516,7 @@ fi
     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5522: checking for $ac_word" >&5
+echo "configure:5520: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5549,7 +5547,7 @@ fi
     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
 set dummy ${ncn_progname}; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5553: checking for $ac_word" >&5
+echo "configure:5551: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5592,7 +5590,7 @@ fi
 RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
 
 echo $ac_n "checking where to find the target ar""... $ac_c" 1>&6
-echo "configure:5596: checking where to find the target ar" >&5
+echo "configure:5594: checking where to find the target ar" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5617,7 +5615,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target as""... $ac_c" 1>&6
-echo "configure:5621: checking where to find the target as" >&5
+echo "configure:5619: checking where to find the target as" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5642,7 +5640,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target cc""... $ac_c" 1>&6
-echo "configure:5646: checking where to find the target cc" >&5
+echo "configure:5644: checking where to find the target cc" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5667,7 +5665,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target c++""... $ac_c" 1>&6
-echo "configure:5671: checking where to find the target c++" >&5
+echo "configure:5669: checking where to find the target c++" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5695,7 +5693,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target c++ for libstdc++""... $ac_c" 1>&6
-echo "configure:5699: checking where to find the target c++ for libstdc++" >&5
+echo "configure:5697: checking where to find the target c++ for libstdc++" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5723,7 +5721,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target dlltool""... $ac_c" 1>&6
-echo "configure:5727: checking where to find the target dlltool" >&5
+echo "configure:5725: checking where to find the target dlltool" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5748,7 +5746,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gcc""... $ac_c" 1>&6
-echo "configure:5752: checking where to find the target gcc" >&5
+echo "configure:5750: checking where to find the target gcc" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5773,7 +5771,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gcj""... $ac_c" 1>&6
-echo "configure:5777: checking where to find the target gcj" >&5
+echo "configure:5775: checking where to find the target gcj" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5801,7 +5799,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
-echo "configure:5805: checking where to find the target gfortran" >&5
+echo "configure:5803: checking where to find the target gfortran" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5829,7 +5827,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
-echo "configure:5833: checking where to find the target ld" >&5
+echo "configure:5831: checking where to find the target ld" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5854,7 +5852,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target lipo""... $ac_c" 1>&6
-echo "configure:5858: checking where to find the target lipo" >&5
+echo "configure:5856: checking where to find the target lipo" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5869,7 +5867,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target nm""... $ac_c" 1>&6
-echo "configure:5873: checking where to find the target nm" >&5
+echo "configure:5871: checking where to find the target nm" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5894,7 +5892,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target objdump""... $ac_c" 1>&6
-echo "configure:5898: checking where to find the target objdump" >&5
+echo "configure:5896: checking where to find the target objdump" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5919,7 +5917,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target ranlib""... $ac_c" 1>&6
-echo "configure:5923: checking where to find the target ranlib" >&5
+echo "configure:5921: checking where to find the target ranlib" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5944,7 +5942,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target strip""... $ac_c" 1>&6
-echo "configure:5948: checking where to find the target strip" >&5
+echo "configure:5946: checking where to find the target strip" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -5969,7 +5967,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target windres""... $ac_c" 1>&6
-echo "configure:5973: checking where to find the target windres" >&5
+echo "configure:5971: checking where to find the target windres" >&5
 if test "x${build}" != "x${host}" ; then
   # Canadian cross, just use what we found
   echo "$ac_t""pre-installed" 1>&6
@@ -6022,7 +6020,7 @@ fi
 
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:6026: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:6024: checking whether to enable maintainer-specific portions of Makefiles" >&5
 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
 if test "${enable_maintainer_mode+set}" = set; then
   enableval="$enable_maintainer_mode"
@@ -6065,42 +6063,6 @@ case $build in
 esac
 
 
-# It makes debugging easier if we create as symlinks the stage directories
-# gcc for stageN-gcc and stagePREV-gcc for stage(N-1).  In case this is not
-# possible, however, we can resort to mv.
-echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
-echo "configure:6073: checking if symbolic links between directories work" >&5
-if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "${LN_S}" = "ln -s" \
-   && mkdir confdir.s1 \
-   && ln -s confdir.s1 confdir.s2 \
-   && echo timestamp1 > confdir.s1/conftest.1 \
-   && cmp confdir.s1/conftest.1 confdir.s2/conftest.1 \
-   && echo timestamp2 > confdir.s2/conftest.2 \
-   && cmp confdir.s1/conftest.2 confdir.s1/conftest.2 \
-   && rm -f confdir.s2; then
-  gcc_cv_prog_ln_s_dir=yes
-else
-  gcc_cv_prog_ln_s_dir=no
-fi
-rm -rf confdir.s1 confdir.s2
-fi
-
-echo "$ac_t""$gcc_cv_prog_ln_s_dir" 1>&6
-
-case ${gcc_cv_prog_ln_s_dir} in
-  yes)
-    CREATE_LINK_TO_DIR='ln -s $$1 $$2'
-    UNDO_LINK_TO_DIR='rm -f $$1' ;;
-  *)
-    CREATE_LINK_TO_DIR='mv $$1 $$2'
-    UNDO_LINK_TO_DIR='mv $$1 $$2' ;;
-esac
-
-
-
 # Enable -Werror in bootstrap stage2 and later.
 # Change the default to "no" on release branches.
 # Check whether --enable-werror or --disable-werror was given.
@@ -6183,34 +6145,15 @@ trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
 # Transform confdefs.h into DEFS.
 # Protect against shell expansion while executing Makefile rules.
 # Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section.  Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\),-D\1=\2,g
-t quote
-s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[    `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output.  A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
 
 
 # Without the "./", some shells look in PATH for config.status.
@@ -6312,7 +6255,6 @@ s%@gmplibs@%$gmplibs%g
 s%@gmpinc@%$gmpinc%g
 s%@stage1_languages@%$stage1_languages%g
 s%@SYSROOT_CFLAGS_FOR_TARGET@%$SYSROOT_CFLAGS_FOR_TARGET%g
-s%@bootstrap_lean@%$bootstrap_lean%g
 /@serialization_dependencies@/r $serialization_dependencies
 s%@serialization_dependencies@%%g
 /@host_makefile_frag@/r $host_makefile_frag
@@ -6384,8 +6326,6 @@ s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
 s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
 s%@MAINT@%$MAINT%g
 s%@stage1_cflags@%$stage1_cflags%g
-s%@CREATE_LINK_TO_DIR@%$CREATE_LINK_TO_DIR%g
-s%@UNDO_LINK_TO_DIR@%$UNDO_LINK_TO_DIR%g
 s%@stage2_werror_flag@%$stage2_werror_flag%g
 
 CEOF
index 50ffdd9..ec635d8 100644 (file)
@@ -1,5 +1,5 @@
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -657,8 +657,8 @@ case "${target}" in
     noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
     ;;
   i[[3456789]]86-*-rdos*)
-   noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
-     ;;
+    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
+    ;;
   m32r-*-*)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;
@@ -1739,7 +1739,7 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
 # not to nest @if/@endif pairs, because configure will not warn you at all.
 
 AC_ARG_ENABLE([bootstrap],
-[  --enable-bootstrap[=lean]     Enable bootstrapping [no]],,
+[  --enable-bootstrap           Enable bootstrapping [yes if native build]],,
 enable_bootstrap=default)
 
 # Issue errors and warnings for invalid/strange bootstrap combinations.
@@ -1760,17 +1760,17 @@ case "$have_compiler:$host:$target:$enable_bootstrap" in
     enable_bootstrap=no ;;
 
   # We have a compiler and we are in a native configuration, bootstrap is ok
-  yes:$build:$build:yes | yes:$build:$build:lean)
+  yes:$build:$build:yes)
     ;;
 
   # Other configurations, but we have a compiler.  Assume the user knows
   # what he's doing.
-  yes:*:*:yes | yes:*:*:lean)
+  yes:*:*:yes)
     AC_MSG_WARN([trying to bootstrap a cross compiler])
     ;;
 
   # No compiler: if they passed --enable-bootstrap explicitly, fail
-  no:*:*:yes | no:*:*:lean)
+  no:*:*:yes)
     AC_MSG_ERROR([cannot bootstrap without a compiler]) ;;
 
   # Fail if wrong command line
@@ -1782,15 +1782,10 @@ esac
 # Adjust the toplevel makefile according to whether bootstrap was selected.
 case "$enable_bootstrap" in
   yes)
-    bootstrap_lean='#'
-    bootstrap_suffix=bootstrap ;;
-  lean)
-    bootstrap_lean=''
     bootstrap_suffix=bootstrap ;;
   no)
     bootstrap_suffix=no-bootstrap ;;
 esac
-AC_SUBST(bootstrap_lean)
 
 for module in ${build_configdirs} ; do
   if test -z "${no_recursion}" \
@@ -1805,10 +1800,13 @@ for module in ${build_configdirs} ; do
 /^@endif build-$module-$bootstrap_suffix\$/d"
 done
 for module in ${configdirs} ; do
-  if test -z "${no_recursion}" \
-     && test -f ${module}/Makefile; then
-    echo 1>&2 "*** removing ${module}/Makefile to force reconfigure"
-    rm -f ${module}/Makefile
+  if test -z "${no_recursion}"; then
+    for file in stage*-${module}/Makefile ${module}/Makefile; do
+      if test -f ${file}; then
+       echo 1>&2 "*** removing ${file} to force reconfigure"
+       rm -f ${file}
+      fi
+    done
   fi
   extrasub="$extrasub
 /^@if $module\$/d
@@ -2290,36 +2288,6 @@ case $build in
 esac
 AC_SUBST(stage1_cflags)
 
-# It makes debugging easier if we create as symlinks the stage directories
-# gcc for stageN-gcc and stagePREV-gcc for stage(N-1).  In case this is not
-# possible, however, we can resort to mv.
-AC_CACHE_CHECK([if symbolic links between directories work],
-[gcc_cv_prog_ln_s_dir],
-[if test "${LN_S}" = "ln -s" \
-   && mkdir confdir.s1 \
-   && ln -s confdir.s1 confdir.s2 \
-   && echo timestamp1 > confdir.s1/conftest.1 \
-   && cmp confdir.s1/conftest.1 confdir.s2/conftest.1 \
-   && echo timestamp2 > confdir.s2/conftest.2 \
-   && cmp confdir.s1/conftest.2 confdir.s1/conftest.2 \
-   && rm -f confdir.s2; then
-  gcc_cv_prog_ln_s_dir=yes
-else
-  gcc_cv_prog_ln_s_dir=no
-fi
-rm -rf confdir.s1 confdir.s2])
-
-case ${gcc_cv_prog_ln_s_dir} in
-  yes)
-    CREATE_LINK_TO_DIR='ln -s $$1 $$2'
-    UNDO_LINK_TO_DIR='rm -f $$1' ;;
-  *)
-    CREATE_LINK_TO_DIR='mv $$1 $$2'
-    UNDO_LINK_TO_DIR='mv $$1 $$2' ;;
-esac
-AC_SUBST(CREATE_LINK_TO_DIR)
-AC_SUBST(UNDO_LINK_TO_DIR)
-
 # Enable -Werror in bootstrap stage2 and later.
 # Change the default to "no" on release branches.
 AC_ARG_ENABLE(werror,