OSDN Git Service

2006-01-04 Paolo Bonzini <bonzini@gnu.org>
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2006 12:21:27 +0000 (12:21 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 4 Jan 2006 12:21:27 +0000 (12:21 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@109325 138bc75d-0d04-0410-961f-82ee72b054a4

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

index dd14c72..b10a713 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+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-04  Ben Elliston  <bje@au.ibm.com>
 
        * MAINTAINERS (libdecnumber): Add myself.
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 cadb668..cf1560b 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
@@ -2967,17 +2967,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
@@ -2989,16 +2989,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
@@ -3317,7 +3312,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:3318: checking for $ac_word" >&5
+echo "configure:3316: 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 +3352,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:3358: checking for $ac_word" >&5
+echo "configure:3356: 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 +3391,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:3397: checking for $ac_word" >&5
+echo "configure:3395: 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 +3430,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:3436: checking for $ac_word" >&5
+echo "configure:3434: 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 +3470,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:3476: checking for $ac_word" >&5
+echo "configure:3474: 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 +3509,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:3515: checking for $ac_word" >&5
+echo "configure:3513: 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 +3562,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:3568: checking for $ac_word" >&5
+echo "configure:3566: 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 +3603,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:3609: checking for $ac_word" >&5
+echo "configure:3607: 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 +3651,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:3657: checking for $ac_word" >&5
+echo "configure:3655: 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 +3682,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:3688: checking for $ac_word" >&5
+echo "configure:3686: 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 +3726,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:3732: checking for $ac_word" >&5
+echo "configure:3730: 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 +3757,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:3763: checking for $ac_word" >&5
+echo "configure:3761: 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 +3801,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:3807: checking for $ac_word" >&5
+echo "configure:3805: 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 +3832,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:3838: checking for $ac_word" >&5
+echo "configure:3836: 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 +3876,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:3882: checking for $ac_word" >&5
+echo "configure:3880: 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 +3907,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:3913: checking for $ac_word" >&5
+echo "configure:3911: 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 +3951,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:3957: checking for $ac_word" >&5
+echo "configure:3955: 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 +3982,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:3988: checking for $ac_word" >&5
+echo "configure:3986: 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 +4026,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:4032: checking for $ac_word" >&5
+echo "configure:4030: 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 +4057,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:4063: checking for $ac_word" >&5
+echo "configure:4061: 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 +4101,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:4107: checking for $ac_word" >&5
+echo "configure:4105: 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 +4132,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:4138: checking for $ac_word" >&5
+echo "configure:4136: 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 +4171,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:4177: checking for $ac_word" >&5
+echo "configure:4175: 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 +4202,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:4208: checking for $ac_word" >&5
+echo "configure:4206: 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 +4241,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:4247: checking for $ac_word" >&5
+echo "configure:4245: 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 +4272,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:4278: checking for $ac_word" >&5
+echo "configure:4276: 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 +4316,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:4322: checking for $ac_word" >&5
+echo "configure:4320: 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 +4347,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:4353: checking for $ac_word" >&5
+echo "configure:4351: 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 +4391,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:4397: checking for $ac_word" >&5
+echo "configure:4395: 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 +4422,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:4428: checking for $ac_word" >&5
+echo "configure:4426: 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 +4473,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:4479: checking for $ac_word" >&5
+echo "configure:4477: 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 +4504,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:4510: checking for $ac_word" >&5
+echo "configure:4508: 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 +4548,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:4554: checking for $ac_word" >&5
+echo "configure:4552: 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 +4579,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:4585: checking for $ac_word" >&5
+echo "configure:4583: 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 +4623,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:4629: checking for $ac_word" >&5
+echo "configure:4627: 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 +4654,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:4660: checking for $ac_word" >&5
+echo "configure:4658: 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 +4698,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:4704: checking for $ac_word" >&5
+echo "configure:4702: 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 +4729,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:4735: checking for $ac_word" >&5
+echo "configure:4733: 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 +4773,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:4779: checking for $ac_word" >&5
+echo "configure:4777: 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 +4804,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:4810: checking for $ac_word" >&5
+echo "configure:4808: 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 +4848,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:4854: checking for $ac_word" >&5
+echo "configure:4852: 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 +4879,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:4885: checking for $ac_word" >&5
+echo "configure:4883: 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 +4918,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:4924: checking for $ac_word" >&5
+echo "configure:4922: 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 +4949,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:4955: checking for $ac_word" >&5
+echo "configure:4953: 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 +4993,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:4999: checking for $ac_word" >&5
+echo "configure:4997: 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 +5024,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:5030: checking for $ac_word" >&5
+echo "configure:5028: 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 +5068,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:5074: checking for $ac_word" >&5
+echo "configure:5072: 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 +5099,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:5105: checking for $ac_word" >&5
+echo "configure:5103: 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 +5143,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:5149: checking for $ac_word" >&5
+echo "configure:5147: 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 +5174,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:5180: checking for $ac_word" >&5
+echo "configure:5178: 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 +5218,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:5224: checking for $ac_word" >&5
+echo "configure:5222: 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 +5249,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:5255: checking for $ac_word" >&5
+echo "configure:5253: 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 +5293,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:5299: checking for $ac_word" >&5
+echo "configure:5297: 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 +5324,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:5330: checking for $ac_word" >&5
+echo "configure:5328: 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 +5368,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:5374: checking for $ac_word" >&5
+echo "configure:5372: 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 +5399,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:5405: checking for $ac_word" >&5
+echo "configure:5403: 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 +5438,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:5444: checking for $ac_word" >&5
+echo "configure:5442: 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 +5469,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:5475: checking for $ac_word" >&5
+echo "configure:5473: 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 +5513,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:5519: checking for $ac_word" >&5
+echo "configure:5517: 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 +5544,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:5550: checking for $ac_word" >&5
+echo "configure:5548: 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 +5587,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:5593: checking where to find the target ar" >&5
+echo "configure:5591: 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 +5612,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target as""... $ac_c" 1>&6
-echo "configure:5618: checking where to find the target as" >&5
+echo "configure:5616: 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 +5637,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target cc""... $ac_c" 1>&6
-echo "configure:5643: checking where to find the target cc" >&5
+echo "configure:5641: 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 +5662,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target c++""... $ac_c" 1>&6
-echo "configure:5668: checking where to find the target c++" >&5
+echo "configure:5666: 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 +5690,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target c++ for libstdc++""... $ac_c" 1>&6
-echo "configure:5696: checking where to find the target c++ for libstdc++" >&5
+echo "configure:5694: 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 +5718,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target dlltool""... $ac_c" 1>&6
-echo "configure:5724: checking where to find the target dlltool" >&5
+echo "configure:5722: 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 +5743,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gcc""... $ac_c" 1>&6
-echo "configure:5749: checking where to find the target gcc" >&5
+echo "configure:5747: 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 +5768,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gcj""... $ac_c" 1>&6
-echo "configure:5774: checking where to find the target gcj" >&5
+echo "configure:5772: 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 +5796,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
-echo "configure:5802: checking where to find the target gfortran" >&5
+echo "configure:5800: 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 +5824,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
-echo "configure:5830: checking where to find the target ld" >&5
+echo "configure:5828: 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 +5849,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target lipo""... $ac_c" 1>&6
-echo "configure:5855: checking where to find the target lipo" >&5
+echo "configure:5853: 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 +5864,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target nm""... $ac_c" 1>&6
-echo "configure:5870: checking where to find the target nm" >&5
+echo "configure:5868: 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 +5889,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target objdump""... $ac_c" 1>&6
-echo "configure:5895: checking where to find the target objdump" >&5
+echo "configure:5893: 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 +5914,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target ranlib""... $ac_c" 1>&6
-echo "configure:5920: checking where to find the target ranlib" >&5
+echo "configure:5918: 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 +5939,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target strip""... $ac_c" 1>&6
-echo "configure:5945: checking where to find the target strip" >&5
+echo "configure:5943: 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 +5964,7 @@ else
   fi
 fi
 echo $ac_n "checking where to find the target windres""... $ac_c" 1>&6
-echo "configure:5970: checking where to find the target windres" >&5
+echo "configure:5968: 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 +6017,7 @@ fi
 
 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
-echo "configure:6023: checking whether to enable maintainer-specific portions of Makefiles" >&5
+echo "configure:6021: 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 +6060,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:6070: 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.
@@ -6293,7 +6252,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
@@ -6365,8 +6323,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 c3ef95b..b2e8414 100644 (file)
@@ -1,5 +1,5 @@
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-#   1999, 2000, 2001, 2002, 2003, 2004, 2006 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
@@ -1736,7 +1736,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.
@@ -1757,17 +1757,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
@@ -1779,15 +1779,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}" \
@@ -2290,36 +2285,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,