This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[toplevel PATCH 5/7] Allow `make all-gcc' when bootstrapping
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 28 Jan 2006 12:29:38 +0100
- Subject: [toplevel PATCH 5/7] Allow `make all-gcc' when bootstrapping
PR25670 is about the inability to do a `make all-gcc' after configuring.
It was reported by Gabor Loki and Joern Rennecke. One could say that
the bug is not that the build fails, but that it fails after a while.
Still, it is quite easy to bring `make all-gcc' back to work.
The stage_current file was looked for unconditionally, even if it does
not exist right after configuring the toplevel. This never happens when
using the documented targets, but causes a `../configure && make
all-stage1-gcc' to fail. A related buglet, that showed up in the same
conditions, is that the `r' and `s' variables were not set for targets
such as `make all-stage1-gcc'. I believe that this was introduced
recently with Dan's fixes for multilibbed bootstrapped target libraries;
anyway all these robustness problems are fixed by the first hunks below.
`all-gcc' currently does nothing if we are bootstrapping, on the grounds
that the three stages of GCC are built earlier. But alternatively, we
can make `all-host' skip packages that were bootstrapped. Similarly,
when bootstrapping, a target module need not have a dependency on
all-gcc, but only on `stage_last'. This is enough for people to do
things like
make all-target-libffi
make all-target-libstdc++-v3 STAGE1_LANGUAGES=c,c++
after configuring GCC. This will build the library with a stage1
compiler; it can be a useful shortcut if one suspects a front-end bug,
which they want to debug using the stage1 compiler, but they still
intend to run a full bootstrap later without reconfiguring.
This patch changes the format of the *-host and *-target rules from
all-host: \
all-libiberty \
all-gcc \
etc.
to
all-host: all-libiberty
all-host: all-gcc
etc.
This is necessary only for all-host, but I did it for every such rule
for the sake of consistency.
Finally, the patch provides an implementation of `make restrap'. This
is slightly different from the old build system, as it just removes
everything built after stage1 gcc, and start a full build.
I include a snipped version of the Makefile.in diff, since it can help
the reviewers.
Ok for mainline?
:ADDPATCH toplevel:
Paolo
2006-01-28 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl (configure-stage[+id+]-[+prefix+][+module+],
all-stage[+id+]-[+prefix+][+module+], : Use $(current_stage) instead
of `cat stage_current`. Always provide the `r' and `s' variables.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, and make it into
a single shell execution.
(configure-[+prefix+][+module+], all-[+prefix+][+module+]): For
bootstrapped modules, make the stage1 module if the build was not
started yet, else build the current stage.
(all-host, all-target): Omit bootstrapped modules (if bootstrapping).
(all-build, all-host, all-target, [+make_target+]-host,
[+make_target+]-target): Do not use \-continued lines.
(target modules): Depend on stage_last, not all-gcc, if bootstrapping.
(current_stage, restrap, stage_last): New.
* Makefile.in: Regenerate.
Index: Makefile.tpl
===================================================================
--- Makefile.tpl (revision 110266)
+++ Makefile.tpl (working copy)
@@ -500,20 +497,20 @@ all:
fi
.PHONY: all-build
-all-build: [+
- FOR build_modules +] \
- maybe-all-build-[+module+][+
- ENDFOR build_modules +]
+[+ FOR build_modules +]
+all-build: maybe-all-build-[+module+][+ ENDFOR build_modules +]
+
.PHONY: all-host
-all-host: [+
- FOR host_modules +] \
- maybe-all-[+module+][+
- ENDFOR host_modules +]
+[+ FOR host_modules +][+ IF bootstrap +]
+@if [+module+]-no-bootstrap[+ ENDIF bootstrap +]
+all-host: maybe-all-[+module+][+ IF bootstrap +]
+@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR host_modules +]
+
.PHONY: all-target
-all-target: [+
- FOR target_modules +] \
- maybe-all-target-[+module+][+
- ENDFOR target_modules +]
+[+ FOR target_modules +][+ IF bootstrap +]
+@if [+module+]-no-bootstrap[+ ENDIF bootstrap +]
+all-target: maybe-all-target-[+module+][+ IF bootstrap +]
+@endif [+module+]-no-bootstrap[+ ENDIF bootstrap +][+ ENDFOR target_modules +]
# Do a target for all the subdirectories. A ``make do-X'' will do a
# ``make X'' in all subdirectories (because, in general, there is a
@@ -530,16 +527,12 @@ do-[+make_target+]:
.PHONY: [+make_target+]-host
-[+make_target+]-host: [+
- FOR host_modules +] \
- maybe-[+make_target+]-[+module+][+
- ENDFOR host_modules +]
+[+ FOR host_modules +]
+[+make_target+]-host: maybe-[+make_target+]-[+module+][+ ENDFOR host_modules +]
.PHONY: [+make_target+]-target
-[+make_target+]-target: [+
- FOR target_modules +] \
- maybe-[+make_target+]-target-[+module+][+
- ENDFOR target_modules +]
+[+ FOR target_modules +]
+[+make_target+]-target: maybe-[+make_target+]-target-[+module+][+ ENDFOR target_modules +]
[+ ENDFOR recursive_targets +]
# Here are the targets which correspond to the do-X targets.
@@ -729,13 +722,17 @@ TAGS: do-TAGS
maybe-configure-[+prefix+][+module+]:
@if [+prefix+][+module+]
maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+]
-configure-[+prefix+][+module+]:
- @[+ IF bootstrap +]test -f stage_last && exit 0; \
- [+ ELSE bootstrap +]: $(MAKE); $(unstage)
- @[+ ENDIF bootstrap +][+ IF check_multilibs
- +]r=`${PWD_COMMAND}`; export r; \
+configure-[+prefix+][+module+]: [+ IF bootstrap +]
+@endif [+prefix+][+module+]
+@if [+prefix+][+module+]-bootstrap
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+@endif [+prefix+][+module+]-bootstrap
+@if [+prefix+][+module+][+ ELSE bootstrap +]
+ @: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- echo "Checking multilib configuration for [+module+]..."; \
+ [+ IF check_multilibs
+ +]echo "Checking multilib configuration for [+module+]..."; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \
if test -r [+subdir+]/[+module+]/multilib.out; then \
@@ -747,11 +744,9 @@ configure-[+prefix+][+module+]:
fi; \
else \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
- fi
- @[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
+ fi; \
+ [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
[+exports+] \
echo Configuring in [+subdir+]/[+module+]; \
cd "[+subdir+]/[+module+]" || exit 1; \
@@ -775,12 +770,12 @@ maybe-configure-stage[+id+]-[+prefix+][+
@if [+prefix+][+module+]-bootstrap
maybe-configure-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
configure-stage[+id+]-[+prefix+][+module+]:
- @[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
+ @[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
@$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+]
- [+ IF check_multilibs
- +]@r=`${PWD_COMMAND}`; export r; \
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- echo "Checking multilib configuration for [+module+]..."; \
+ [+ IF check_multilibs
+ +]echo "Checking multilib configuration for [+module+]..."; \
$(CC_FOR_TARGET) --print-multi-lib > [+subdir+]/[+module+]/multilib.tmp 2> /dev/null ; \
if test -r [+subdir+]/[+module+]/multilib.out; then \
if cmp -s [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; then \
@@ -791,8 +786,8 @@ configure-stage[+id+]-[+prefix+][+module
fi; \
else \
mv [+subdir+]/[+module+]/multilib.tmp [+subdir+]/[+module+]/multilib.out; \
- fi
- @[+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
+ fi; \
+ [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
[+exports+][+ IF prev +] \
[+poststage1_exports+][+ ENDIF prev +] \
echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
@@ -820,10 +815,14 @@ maybe-all-[+prefix+][+module+]:
TARGET-[+prefix+][+module+]=[+
IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+]
-all-[+prefix+][+module+]: configure-[+prefix+][+module+]
- @[+ IF bootstrap +]test -f stage_last && exit 0; \
- [+ ELSE bootstrap +]: $(MAKE); $(unstage)
- @[+ ENDIF bootstrap +]r=`${PWD_COMMAND}`; export r; \
+all-[+prefix+][+module+]: configure-[+prefix+][+module+][+ IF bootstrap +]
+@endif [+prefix+][+module+]
+@if [+prefix+][+module+]-bootstrap
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+@endif [+prefix+][+module+]-bootstrap
+@if [+prefix+][+module+][+ ELSE bootstrap +]
+ @: $(MAKE); $(unstage)[+ ENDIF bootstrap +]
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
[+exports+] \
(cd [+subdir+]/[+module+] && \
@@ -841,7 +840,7 @@ maybe-all-stage[+id+]-[+prefix+][+module
all-stage[+id+]: all-stage[+id+]-[+prefix+][+module+]
TARGET-stage[+id+]-[+prefix+][+module+] = $(TARGET-[+prefix+][+module+])
all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
- @[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
+ @[ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
[+exports+][+ IF prev +] \
@@ -857,7 +856,7 @@ clean-stage[+id+]: clean-stage[+id+]-[+p
clean-stage[+id+]-[+prefix+][+module+]:
@[ -f [+subdir+]/[+module+]/Makefile ] || [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] \
|| exit 0 ; \
- [ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
+ [ $(current_stage) = stage[+id+] ] || $(MAKE) stage[+id+]-start; \
cd [+subdir+]/[+module+] && \
$(MAKE) [+args+] [+ IF prev +] \
[+poststage1_args+] [+ ENDIF prev +] \
@@ -1210,10 +1209,12 @@ gcc-no-fixedincludes:
unstage = :
stage = :
+current_stage = ""
@if gcc-bootstrap
unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
+current_stage = "`cat stage_current 2> /dev/null`"
@endif gcc-bootstrap
.PHONY: unstage stage
@@ -1420,19 +1423,39 @@ stagefeedback-start::
@if gcc-bootstrap
do-distclean: distclean-stage1
+
+# Provide a GCC build when we're building target libraries. This does
+# not work as a dependency, just as the minimum necessary to avoid errors.
+stage_last:
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble
@endif gcc-bootstrap
+.PHONY: restrap
+restrap:
+ @: $(MAKE); $(stage)
+ rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev
+ +]stage[+id+] [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
# Generic dependencies for target modules on host stuff, especially gcc
-[+ FOR target_modules +][+ IF bootstrap +]
-@if gcc-bootstrap[+ FOR bootstrap_stage +]
-configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+ ENDFOR +]
-@endif gcc-bootstrap[+ ENDIF bootstrap +]
-configure-target-[+module+]: maybe-all-gcc
-[+ ENDFOR target_modules +]
+@if gcc-bootstrap[+ FOR target_modules +][+ IF bootstrap
+ +][+ FOR bootstrap_stage +]
+configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+
+ ENDFOR +][+ ELSE bootstrap +]
+configure-target-[+module+]: stage_last[+
+ ENDIF bootstrap +][+ ENDFOR target_modules +]
+@endif gcc-bootstrap
+
+@if gcc-no-bootstrap[+ FOR target_modules +][+ IF bootstrap
+ +][+ ELSE +]
+configure-target-[+module+]: maybe-all-gcc[+
+ ENDIF bootstrap +][+ ENDFOR target_modules +]
+@endif gcc-no-bootstrap
+
[+ FOR lang_env_dependencies +]
configure-target-[+module+]: maybe-all-target-newlib maybe-all-target-libgloss
Index: Makefile.in
===================================================================
--- Makefile.in (revision 110266)
+++ Makefile.in (working copy)
@@ -659,106 +661,130 @@ all:
fi
.PHONY: all-build
-all-build: \
- maybe-all-build-libiberty \
- maybe-all-build-bison \
- maybe-all-build-byacc \
- maybe-all-build-flex \
- maybe-all-build-m4 \
- maybe-all-build-texinfo \
- maybe-all-build-fixincludes
+
+all-build: maybe-all-build-libiberty
+all-build: maybe-all-build-bison
+all-build: maybe-all-build-byacc
+all-build: maybe-all-build-flex
+all-build: maybe-all-build-m4
+all-build: maybe-all-build-texinfo
+all-build: maybe-all-build-fixincludes
+
.PHONY: all-host
-all-host: \
- maybe-all-ash \
- maybe-all-autoconf \
- maybe-all-automake \
- maybe-all-bash \
- maybe-all-bfd \
- maybe-all-opcodes \
- maybe-all-binutils \
- maybe-all-bison \
- maybe-all-byacc \
- maybe-all-bzip2 \
- maybe-all-dejagnu \
- maybe-all-diff \
- maybe-all-dosutils \
- maybe-all-etc \
- maybe-all-fastjar \
- maybe-all-fileutils \
- maybe-all-findutils \
- maybe-all-find \
- maybe-all-fixincludes \
- maybe-all-flex \
- maybe-all-gas \
- maybe-all-gcc \
- maybe-all-gawk \
- maybe-all-gettext \
- maybe-all-gnuserv \
- maybe-all-gprof \
- maybe-all-gzip \
- maybe-all-hello \
- maybe-all-indent \
- maybe-all-intl \
- maybe-all-tcl \
- maybe-all-itcl \
- maybe-all-ld \
- maybe-all-libcpp \
- maybe-all-libdecnumber \
- maybe-all-libgui \
- maybe-all-libiberty \
- maybe-all-libtool \
- maybe-all-m4 \
- maybe-all-make \
- maybe-all-mmalloc \
- maybe-all-patch \
- maybe-all-perl \
- maybe-all-prms \
- maybe-all-rcs \
- maybe-all-readline \
- maybe-all-release \
- maybe-all-recode \
- maybe-all-sed \
- maybe-all-send-pr \
- maybe-all-shellutils \
- maybe-all-sid \
- maybe-all-sim \
- maybe-all-tar \
- maybe-all-texinfo \
- maybe-all-textutils \
- maybe-all-time \
- maybe-all-uudecode \
- maybe-all-wdiff \
- maybe-all-zip \
- maybe-all-zlib \
- maybe-all-gdb \
- maybe-all-expect \
- maybe-all-guile \
- maybe-all-tk \
- maybe-all-libtermcap \
- maybe-all-utils \
- maybe-all-gnattools
+
+all-host: maybe-all-ash
+all-host: maybe-all-autoconf
+all-host: maybe-all-automake
+all-host: maybe-all-bash
+@if bfd-no-bootstrap
+all-host: maybe-all-bfd
+@endif bfd-no-bootstrap
+@if opcodes-no-bootstrap
+all-host: maybe-all-opcodes
+@endif opcodes-no-bootstrap
+@if binutils-no-bootstrap
+all-host: maybe-all-binutils
+@endif binutils-no-bootstrap
+all-host: maybe-all-bison
+all-host: maybe-all-byacc
+all-host: maybe-all-bzip2
+all-host: maybe-all-dejagnu
+all-host: maybe-all-diff
+all-host: maybe-all-dosutils
+all-host: maybe-all-etc
+all-host: maybe-all-fastjar
+all-host: maybe-all-fileutils
+all-host: maybe-all-findutils
+all-host: maybe-all-find
+all-host: maybe-all-fixincludes
+all-host: maybe-all-flex
+@if gas-no-bootstrap
+all-host: maybe-all-gas
+@endif gas-no-bootstrap
+@if gcc-no-bootstrap
+all-host: maybe-all-gcc
+@endif gcc-no-bootstrap
+all-host: maybe-all-gawk
+all-host: maybe-all-gettext
+all-host: maybe-all-gnuserv
+all-host: maybe-all-gprof
+all-host: maybe-all-gzip
+all-host: maybe-all-hello
+all-host: maybe-all-indent
+@if intl-no-bootstrap
+all-host: maybe-all-intl
+@endif intl-no-bootstrap
+all-host: maybe-all-tcl
+all-host: maybe-all-itcl
+@if ld-no-bootstrap
+all-host: maybe-all-ld
+@endif ld-no-bootstrap
+@if libcpp-no-bootstrap
+all-host: maybe-all-libcpp
+@endif libcpp-no-bootstrap
+@if libdecnumber-no-bootstrap
+all-host: maybe-all-libdecnumber
+@endif libdecnumber-no-bootstrap
+all-host: maybe-all-libgui
+@if libiberty-no-bootstrap
+all-host: maybe-all-libiberty
+@endif libiberty-no-bootstrap
+all-host: maybe-all-libtool
+all-host: maybe-all-m4
+all-host: maybe-all-make
+all-host: maybe-all-mmalloc
+all-host: maybe-all-patch
+all-host: maybe-all-perl
+all-host: maybe-all-prms
+all-host: maybe-all-rcs
+all-host: maybe-all-readline
+all-host: maybe-all-release
+all-host: maybe-all-recode
+all-host: maybe-all-sed
+all-host: maybe-all-send-pr
+all-host: maybe-all-shellutils
+all-host: maybe-all-sid
+all-host: maybe-all-sim
+all-host: maybe-all-tar
+all-host: maybe-all-texinfo
+all-host: maybe-all-textutils
+all-host: maybe-all-time
+all-host: maybe-all-uudecode
+all-host: maybe-all-wdiff
+all-host: maybe-all-zip
+@if zlib-no-bootstrap
+all-host: maybe-all-zlib
+@endif zlib-no-bootstrap
+all-host: maybe-all-gdb
+all-host: maybe-all-expect
+all-host: maybe-all-guile
+all-host: maybe-all-tk
+all-host: maybe-all-libtermcap
+all-host: maybe-all-utils
+all-host: maybe-all-gnattools
+
.PHONY: all-target
-all-target: \
- maybe-all-target-libstdc++-v3 \
- maybe-all-target-libmudflap \
- maybe-all-target-libssp \
- maybe-all-target-newlib \
- maybe-all-target-libgfortran \
- maybe-all-target-libobjc \
- maybe-all-target-libtermcap \
- maybe-all-target-winsup \
- maybe-all-target-libgloss \
- maybe-all-target-libiberty \
- maybe-all-target-gperf \
- maybe-all-target-examples \
- maybe-all-target-libffi \
- maybe-all-target-libjava \
- maybe-all-target-zlib \
- maybe-all-target-boehm-gc \
- maybe-all-target-qthreads \
- maybe-all-target-rda \
- maybe-all-target-libada \
- maybe-all-target-libgomp
+
+all-target: maybe-all-target-libstdc++-v3
+all-target: maybe-all-target-libmudflap
+all-target: maybe-all-target-libssp
+all-target: maybe-all-target-newlib
+all-target: maybe-all-target-libgfortran
+all-target: maybe-all-target-libobjc
+all-target: maybe-all-target-libtermcap
+all-target: maybe-all-target-winsup
+all-target: maybe-all-target-libgloss
+all-target: maybe-all-target-libiberty
+all-target: maybe-all-target-gperf
+all-target: maybe-all-target-examples
+all-target: maybe-all-target-libffi
+all-target: maybe-all-target-libjava
+all-target: maybe-all-target-zlib
+all-target: maybe-all-target-boehm-gc
+all-target: maybe-all-target-qthreads
+all-target: maybe-all-target-rda
+all-target: maybe-all-target-libada
+all-target: maybe-all-target-libgomp
# Do a target for all the subdirectories. A ``make do-X'' will do a
# ``make X'' in all subdirectories (because, in general, there is a
@@ -775,98 +801,98 @@ do-info:
.PHONY: info-host
-info-host: \
- maybe-info-ash \
- maybe-info-autoconf \
- maybe-info-automake \
- maybe-info-bash \
- maybe-info-bfd \
- maybe-info-opcodes \
- maybe-info-binutils \
- maybe-info-bison \
- maybe-info-byacc \
- maybe-info-bzip2 \
- maybe-info-dejagnu \
- maybe-info-diff \
- maybe-info-dosutils \
- maybe-info-etc \
- maybe-info-fastjar \
- maybe-info-fileutils \
- maybe-info-findutils \
- maybe-info-find \
- maybe-info-fixincludes \
- maybe-info-flex \
- maybe-info-gas \
- maybe-info-gcc \
- maybe-info-gawk \
- maybe-info-gettext \
- maybe-info-gnuserv \
- maybe-info-gprof \
- maybe-info-gzip \
- maybe-info-hello \
- maybe-info-indent \
- maybe-info-intl \
- maybe-info-tcl \
- maybe-info-itcl \
- maybe-info-ld \
- maybe-info-libcpp \
- maybe-info-libdecnumber \
- maybe-info-libgui \
- maybe-info-libiberty \
- maybe-info-libtool \
- maybe-info-m4 \
- maybe-info-make \
- maybe-info-mmalloc \
- maybe-info-patch \
- maybe-info-perl \
- maybe-info-prms \
- maybe-info-rcs \
- maybe-info-readline \
- maybe-info-release \
- maybe-info-recode \
- maybe-info-sed \
- maybe-info-send-pr \
- maybe-info-shellutils \
- maybe-info-sid \
- maybe-info-sim \
- maybe-info-tar \
- maybe-info-texinfo \
- maybe-info-textutils \
- maybe-info-time \
- maybe-info-uudecode \
- maybe-info-wdiff \
- maybe-info-zip \
- maybe-info-zlib \
- maybe-info-gdb \
- maybe-info-expect \
- maybe-info-guile \
- maybe-info-tk \
- maybe-info-libtermcap \
- maybe-info-utils \
- maybe-info-gnattools
+
+info-host: maybe-info-ash
+info-host: maybe-info-autoconf
+info-host: maybe-info-automake
+info-host: maybe-info-bash
+info-host: maybe-info-bfd
+info-host: maybe-info-opcodes
+info-host: maybe-info-binutils
+info-host: maybe-info-bison
+info-host: maybe-info-byacc
+info-host: maybe-info-bzip2
+info-host: maybe-info-dejagnu
+info-host: maybe-info-diff
+info-host: maybe-info-dosutils
+info-host: maybe-info-etc
+info-host: maybe-info-fastjar
+info-host: maybe-info-fileutils
+info-host: maybe-info-findutils
+info-host: maybe-info-find
+info-host: maybe-info-fixincludes
+info-host: maybe-info-flex
+info-host: maybe-info-gas
+info-host: maybe-info-gcc
+info-host: maybe-info-gawk
+info-host: maybe-info-gettext
+info-host: maybe-info-gnuserv
+info-host: maybe-info-gprof
+info-host: maybe-info-gzip
+info-host: maybe-info-hello
+info-host: maybe-info-indent
+info-host: maybe-info-intl
+info-host: maybe-info-tcl
+info-host: maybe-info-itcl
+info-host: maybe-info-ld
+info-host: maybe-info-libcpp
+info-host: maybe-info-libdecnumber
+info-host: maybe-info-libgui
+info-host: maybe-info-libiberty
+info-host: maybe-info-libtool
+info-host: maybe-info-m4
+info-host: maybe-info-make
+info-host: maybe-info-mmalloc
+info-host: maybe-info-patch
+info-host: maybe-info-perl
+info-host: maybe-info-prms
+info-host: maybe-info-rcs
+info-host: maybe-info-readline
+info-host: maybe-info-release
+info-host: maybe-info-recode
+info-host: maybe-info-sed
+info-host: maybe-info-send-pr
+info-host: maybe-info-shellutils
+info-host: maybe-info-sid
+info-host: maybe-info-sim
+info-host: maybe-info-tar
+info-host: maybe-info-texinfo
+info-host: maybe-info-textutils
+info-host: maybe-info-time
+info-host: maybe-info-uudecode
+info-host: maybe-info-wdiff
+info-host: maybe-info-zip
+info-host: maybe-info-zlib
+info-host: maybe-info-gdb
+info-host: maybe-info-expect
+info-host: maybe-info-guile
+info-host: maybe-info-tk
+info-host: maybe-info-libtermcap
+info-host: maybe-info-utils
+info-host: maybe-info-gnattools
.PHONY: info-target
-info-target: \
- maybe-info-target-libstdc++-v3 \
- maybe-info-target-libmudflap \
- maybe-info-target-libssp \
- maybe-info-target-newlib \
- maybe-info-target-libgfortran \
- maybe-info-target-libobjc \
- maybe-info-target-libtermcap \
- maybe-info-target-winsup \
- maybe-info-target-libgloss \
- maybe-info-target-libiberty \
- maybe-info-target-gperf \
- maybe-info-target-examples \
- maybe-info-target-libffi \
- maybe-info-target-libjava \
- maybe-info-target-zlib \
- maybe-info-target-boehm-gc \
- maybe-info-target-qthreads \
- maybe-info-target-rda \
- maybe-info-target-libada \
- maybe-info-target-libgomp
+
+info-target: maybe-info-target-libstdc++-v3
+info-target: maybe-info-target-libmudflap
+info-target: maybe-info-target-libssp
+info-target: maybe-info-target-newlib
+info-target: maybe-info-target-libgfortran
+info-target: maybe-info-target-libobjc
+info-target: maybe-info-target-libtermcap
+info-target: maybe-info-target-winsup
+info-target: maybe-info-target-libgloss
+info-target: maybe-info-target-libiberty
+info-target: maybe-info-target-gperf
+info-target: maybe-info-target-examples
+info-target: maybe-info-target-libffi
+info-target: maybe-info-target-libjava
+info-target: maybe-info-target-zlib
+info-target: maybe-info-target-boehm-gc
+info-target: maybe-info-target-qthreads
+info-target: maybe-info-target-rda
+info-target: maybe-info-target-libada
+info-target: maybe-info-target-libgomp
.PHONY: do-dvi
do-dvi:
@@ -878,98 +904,98 @@ do-dvi:
.PHONY: dvi-host
-dvi-host: \
- maybe-dvi-ash \
- maybe-dvi-autoconf \
- maybe-dvi-automake \
- maybe-dvi-bash \
- maybe-dvi-bfd \
- maybe-dvi-opcodes \
- maybe-dvi-binutils \
- maybe-dvi-bison \
- maybe-dvi-byacc \
- maybe-dvi-bzip2 \
- maybe-dvi-dejagnu \
- maybe-dvi-diff \
- maybe-dvi-dosutils \
- maybe-dvi-etc \
- maybe-dvi-fastjar \
- maybe-dvi-fileutils \
- maybe-dvi-findutils \
- maybe-dvi-find \
- maybe-dvi-fixincludes \
- maybe-dvi-flex \
- maybe-dvi-gas \
- maybe-dvi-gcc \
- maybe-dvi-gawk \
- maybe-dvi-gettext \
- maybe-dvi-gnuserv \
- maybe-dvi-gprof \
- maybe-dvi-gzip \
- maybe-dvi-hello \
- maybe-dvi-indent \
- maybe-dvi-intl \
- maybe-dvi-tcl \
- maybe-dvi-itcl \
- maybe-dvi-ld \
- maybe-dvi-libcpp \
- maybe-dvi-libdecnumber \
- maybe-dvi-libgui \
- maybe-dvi-libiberty \
- maybe-dvi-libtool \
- maybe-dvi-m4 \
- maybe-dvi-make \
- maybe-dvi-mmalloc \
- maybe-dvi-patch \
- maybe-dvi-perl \
- maybe-dvi-prms \
- maybe-dvi-rcs \
- maybe-dvi-readline \
- maybe-dvi-release \
- maybe-dvi-recode \
- maybe-dvi-sed \
- maybe-dvi-send-pr \
- maybe-dvi-shellutils \
- maybe-dvi-sid \
- maybe-dvi-sim \
- maybe-dvi-tar \
- maybe-dvi-texinfo \
- maybe-dvi-textutils \
- maybe-dvi-time \
- maybe-dvi-uudecode \
- maybe-dvi-wdiff \
- maybe-dvi-zip \
- maybe-dvi-zlib \
- maybe-dvi-gdb \
- maybe-dvi-expect \
- maybe-dvi-guile \
- maybe-dvi-tk \
- maybe-dvi-libtermcap \
- maybe-dvi-utils \
- maybe-dvi-gnattools
+
+dvi-host: maybe-dvi-ash
+dvi-host: maybe-dvi-autoconf
+dvi-host: maybe-dvi-automake
+dvi-host: maybe-dvi-bash
+dvi-host: maybe-dvi-bfd
+dvi-host: maybe-dvi-opcodes
+dvi-host: maybe-dvi-binutils
+dvi-host: maybe-dvi-bison
+dvi-host: maybe-dvi-byacc
+dvi-host: maybe-dvi-bzip2
+dvi-host: maybe-dvi-dejagnu
+dvi-host: maybe-dvi-diff
+dvi-host: maybe-dvi-dosutils
+dvi-host: maybe-dvi-etc
+dvi-host: maybe-dvi-fastjar
+dvi-host: maybe-dvi-fileutils
+dvi-host: maybe-dvi-findutils
+dvi-host: maybe-dvi-find
+dvi-host: maybe-dvi-fixincludes
+dvi-host: maybe-dvi-flex
+dvi-host: maybe-dvi-gas
+dvi-host: maybe-dvi-gcc
+dvi-host: maybe-dvi-gawk
+dvi-host: maybe-dvi-gettext
+dvi-host: maybe-dvi-gnuserv
+dvi-host: maybe-dvi-gprof
+dvi-host: maybe-dvi-gzip
+dvi-host: maybe-dvi-hello
+dvi-host: maybe-dvi-indent
+dvi-host: maybe-dvi-intl
+dvi-host: maybe-dvi-tcl
+dvi-host: maybe-dvi-itcl
+dvi-host: maybe-dvi-ld
+dvi-host: maybe-dvi-libcpp
+dvi-host: maybe-dvi-libdecnumber
+dvi-host: maybe-dvi-libgui
+dvi-host: maybe-dvi-libiberty
+dvi-host: maybe-dvi-libtool
+dvi-host: maybe-dvi-m4
+dvi-host: maybe-dvi-make
+dvi-host: maybe-dvi-mmalloc
+dvi-host: maybe-dvi-patch
+dvi-host: maybe-dvi-perl
+dvi-host: maybe-dvi-prms
+dvi-host: maybe-dvi-rcs
+dvi-host: maybe-dvi-readline
+dvi-host: maybe-dvi-release
+dvi-host: maybe-dvi-recode
+dvi-host: maybe-dvi-sed
+dvi-host: maybe-dvi-send-pr
+dvi-host: maybe-dvi-shellutils
+dvi-host: maybe-dvi-sid
+dvi-host: maybe-dvi-sim
+dvi-host: maybe-dvi-tar
+dvi-host: maybe-dvi-texinfo
+dvi-host: maybe-dvi-textutils
+dvi-host: maybe-dvi-time
+dvi-host: maybe-dvi-uudecode
+dvi-host: maybe-dvi-wdiff
+dvi-host: maybe-dvi-zip
+dvi-host: maybe-dvi-zlib
+dvi-host: maybe-dvi-gdb
+dvi-host: maybe-dvi-expect
+dvi-host: maybe-dvi-guile
+dvi-host: maybe-dvi-tk
+dvi-host: maybe-dvi-libtermcap
+dvi-host: maybe-dvi-utils
+dvi-host: maybe-dvi-gnattools
.PHONY: dvi-target
-dvi-target: \
- maybe-dvi-target-libstdc++-v3 \
- maybe-dvi-target-libmudflap \
- maybe-dvi-target-libssp \
- maybe-dvi-target-newlib \
- maybe-dvi-target-libgfortran \
- maybe-dvi-target-libobjc \
- maybe-dvi-target-libtermcap \
- maybe-dvi-target-winsup \
- maybe-dvi-target-libgloss \
- maybe-dvi-target-libiberty \
- maybe-dvi-target-gperf \
- maybe-dvi-target-examples \
- maybe-dvi-target-libffi \
- maybe-dvi-target-libjava \
- maybe-dvi-target-zlib \
- maybe-dvi-target-boehm-gc \
- maybe-dvi-target-qthreads \
- maybe-dvi-target-rda \
- maybe-dvi-target-libada \
- maybe-dvi-target-libgomp
+
+dvi-target: maybe-dvi-target-libstdc++-v3
+dvi-target: maybe-dvi-target-libmudflap
+dvi-target: maybe-dvi-target-libssp
+dvi-target: maybe-dvi-target-newlib
+dvi-target: maybe-dvi-target-libgfortran
+dvi-target: maybe-dvi-target-libobjc
+dvi-target: maybe-dvi-target-libtermcap
+dvi-target: maybe-dvi-target-winsup
+dvi-target: maybe-dvi-target-libgloss
+dvi-target: maybe-dvi-target-libiberty
+dvi-target: maybe-dvi-target-gperf
+dvi-target: maybe-dvi-target-examples
+dvi-target: maybe-dvi-target-libffi
+dvi-target: maybe-dvi-target-libjava
+dvi-target: maybe-dvi-target-zlib
+dvi-target: maybe-dvi-target-boehm-gc
+dvi-target: maybe-dvi-target-qthreads
+dvi-target: maybe-dvi-target-rda
+dvi-target: maybe-dvi-target-libada
+dvi-target: maybe-dvi-target-libgomp
.PHONY: do-html
do-html:
@@ -2219,12 +2245,12 @@ TAGS: do-TAGS
maybe-configure-build-libiberty:
@if build-libiberty
maybe-configure-build-libiberty: configure-build-libiberty
-configure-build-libiberty:
+configure-build-libiberty:
@: $(MAKE); $(unstage)
- @test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
- r=`${PWD_COMMAND}`; export r; \
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
$(BUILD_EXPORTS) \
echo Configuring in $(BUILD_SUBDIR)/libiberty; \
cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
@@ -2267,12 +2293,12 @@ all-build-libiberty: configure-build-lib
maybe-configure-build-bison:
@if build-bison
maybe-configure-build-bison: configure-build-bison
-configure-build-bison:
+configure-build-bison:
@: $(MAKE); $(unstage)
- @test ! -f $(BUILD_SUBDIR)/bison/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/bison ; \
- r=`${PWD_COMMAND}`; export r; \
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(BUILD_SUBDIR)/bison/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/bison ; \
$(BUILD_EXPORTS) \
echo Configuring in $(BUILD_SUBDIR)/bison; \
cd "$(BUILD_SUBDIR)/bison" || exit 1; \
@@ -3571,12 +3597,12 @@ maintainer-clean-automake:
maybe-configure-bash:
@if bash
maybe-configure-bash: configure-bash
-configure-bash:
+configure-bash:
@: $(MAKE); $(unstage)
- @test ! -f $(HOST_SUBDIR)/bash/Makefile || exit 0; \
- $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bash ; \
- r=`${PWD_COMMAND}`; export r; \
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bash/Makefile || exit 0; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bash ; \
$(HOST_EXPORTS) \
echo Configuring in $(HOST_SUBDIR)/bash; \
cd "$(HOST_SUBDIR)/bash" || exit 1; \
@@ -3908,12 +3934,16 @@ maintainer-clean-bash:
maybe-configure-bfd:
@if bfd
maybe-configure-bfd: configure-bfd
-configure-bfd:
- @test -f stage_last && exit 0; \
+configure-bfd:
+@endif bfd
+@if bfd-bootstrap
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+@endif bfd-bootstrap
+@if bfd
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
echo Configuring in $(HOST_SUBDIR)/bfd; \
cd "$(HOST_SUBDIR)/bfd" || exit 1; \
@@ -3936,8 +3966,10 @@ maybe-configure-stage1-bfd:
@if bfd-bootstrap
maybe-configure-stage1-bfd: configure-stage1-bfd
configure-stage1-bfd:
- @[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
$(HOST_EXPORTS) \
echo Configuring stage 1 in $(HOST_SUBDIR)/bfd ; \
@@ -3960,8 +3992,10 @@ maybe-configure-stage2-bfd:
@if bfd-bootstrap
maybe-configure-stage2-bfd: configure-stage2-bfd
configure-stage2-bfd:
- @[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
@$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
$(HOST_EXPORTS) \
$(POSTSTAGE1_HOST_EXPORTS) \
@@ -4090,8 +4132,12 @@ maybe-all-bfd:
TARGET-bfd=all
maybe-all-bfd: all-bfd
all-bfd: configure-bfd
- @test -f stage_last && exit 0; \
- r=`${PWD_COMMAND}`; export r; \
+@endif bfd
+@if bfd-bootstrap
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+@endif bfd-bootstrap
+@if bfd
+ @r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/bfd && \
@@ -4109,12 +4155,12 @@ maybe-all-stage1-bfd: all-stage1-bfd
all-stage1: all-stage1-bfd
TARGET-stage1-bfd = $(TARGET-bfd)
all-stage1-bfd: configure-stage1-bfd
- @[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
cd $(HOST_SUBDIR)/bfd && \
- $(MAKE) $(FLAGS_TO_PASS) CFLAGS="$(STAGE1_CFLAGS)" \
+ $(MAKE) $(FLAGS_TO_PASS) CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
$(TARGET-stage1-bfd)
maybe-clean-stage1-bfd: clean-stage1-bfd
@@ -4122,10 +4168,10 @@ clean-stage1: clean-stage1-bfd
clean-stage1-bfd:
@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-bfd/Makefile ] \
|| exit 0 ; \
- [ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ [ $(current_stage) = stage1 ] || $(MAKE) stage1-start; \
cd $(HOST_SUBDIR)/bfd && \
$(MAKE) $(FLAGS_TO_PASS) \
- CFLAGS="$(STAGE1_CFLAGS)" clean
+ CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" clean
@endif bfd-bootstrap
@@ -4138,7 +4184,7 @@ maybe-all-stage2-bfd: all-stage2-bfd
all-stage2: all-stage2-bfd
TARGET-stage2-bfd = $(TARGET-bfd)
all-stage2-bfd: configure-stage2-bfd
- @[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(HOST_EXPORTS) \
@@ -4152,7 +4198,7 @@ clean-stage2: clean-stage2-bfd
clean-stage2-bfd:
@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-bfd/Makefile ] \
|| exit 0 ; \
- [ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ [ $(current_stage) = stage2 ] || $(MAKE) stage2-start; \
cd $(HOST_SUBDIR)/bfd && \
$(MAKE) $(FLAGS_TO_PASS) \
$(POSTSTAGE1_FLAGS_TO_PASS) \
@@ -29241,7 +29485,7 @@ maintainer-clean-target-libstdc++-v3:
maybe-configure-target-libmudflap:
@if target-libmudflap
maybe-configure-target-libmudflap: configure-target-libmudflap
-configure-target-libmudflap:
+configure-target-libmudflap:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -29257,11 +29501,9 @@ configure-target-libmudflap:
fi; \
else \
mv $(TARGET_SUBDIR)/libmudflap/multilib.tmp $(TARGET_SUBDIR)/libmudflap/multilib.out; \
- fi
- @test ! -f $(TARGET_SUBDIR)/libmudflap/Makefile || exit 0; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libmudflap/Makefile || exit 0; \
$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
- r=`${PWD_COMMAND}`; export r; \
- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
$(NORMAL_TARGET_EXPORTS) \
echo Configuring in $(TARGET_SUBDIR)/libmudflap; \
cd "$(TARGET_SUBDIR)/libmudflap" || exit 1; \
@@ -36044,10 +36250,12 @@ gcc-no-fixedincludes:
unstage = :
stage = :
+current_stage = ""
@if gcc-bootstrap
unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
stage = if [ -f stage_current ]; then $(MAKE) `cat stage_current`-end || exit 1; else :; fi
+current_stage = "`cat stage_current 2> /dev/null`"
@endif gcc-bootstrap
.PHONY: unstage stage
@@ -37382,53 +37593,69 @@ stagefeedback-start::
@if gcc-bootstrap
do-distclean: distclean-stage1
+
+# Provide a GCC build when we're building target libraries. This does
+# not work as a dependency, just as the minimum necessary to avoid errors.
+stage_last:
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) stage1-bubble
@endif gcc-bootstrap
+.PHONY: restrap
+restrap:
+ @: $(MAKE); $(stage)
+ rm -rf stage1-$(TARGET_SUBDIR) stage2 stage3 stage4 stageprofile stagefeedback
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
# Generic dependencies for target modules on host stuff, especially gcc
+@if gcc-bootstrap
+configure-target-libstdc++-v3: stage_last
+configure-target-libmudflap: stage_last
+configure-target-libssp: stage_last
+configure-target-newlib: stage_last
+configure-target-libgfortran: stage_last
+configure-target-libobjc: stage_last
+configure-target-libtermcap: stage_last
+configure-target-winsup: stage_last
+configure-target-libgloss: stage_last
+configure-target-libiberty: stage_last
+configure-target-gperf: stage_last
+configure-target-examples: stage_last
+configure-target-libffi: stage_last
+configure-target-libjava: stage_last
+configure-target-zlib: stage_last
+configure-target-boehm-gc: stage_last
+configure-target-qthreads: stage_last
+configure-target-rda: stage_last
+configure-target-libada: stage_last
+configure-target-libgomp: stage_last
+@endif gcc-bootstrap
+@if gcc-no-bootstrap
configure-target-libstdc++-v3: maybe-all-gcc
-
configure-target-libmudflap: maybe-all-gcc
-
configure-target-libssp: maybe-all-gcc
-
configure-target-newlib: maybe-all-gcc
-
configure-target-libgfortran: maybe-all-gcc
-
configure-target-libobjc: maybe-all-gcc
-
configure-target-libtermcap: maybe-all-gcc
-
configure-target-winsup: maybe-all-gcc
-
configure-target-libgloss: maybe-all-gcc
-
configure-target-libiberty: maybe-all-gcc
-
configure-target-gperf: maybe-all-gcc
-
configure-target-examples: maybe-all-gcc
-
configure-target-libffi: maybe-all-gcc
-
configure-target-libjava: maybe-all-gcc
-
configure-target-zlib: maybe-all-gcc
-
configure-target-boehm-gc: maybe-all-gcc
-
configure-target-qthreads: maybe-all-gcc
-
configure-target-rda: maybe-all-gcc
-
configure-target-libada: maybe-all-gcc
-
configure-target-libgomp: maybe-all-gcc
+@endif gcc-no-bootstrap