From 4119873a48042e532f7485b84cca83ea0bf1fcf6 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 29 Jun 2018 23:49:28 -0300 Subject: Introduce @unless/@endunless and postbootstrap Makefile targets This patch turns dependencies of non-bootstrap targets on bootstrap targets for bootstrap builds into dependencies on stage_last. This arrangement gets stage1-bubble to run from stage_last if we haven't started a bootstrap yet, and to use the current stage otherwise. This was already the case of target libs, just not of non-bootstrapped host modules. In order to retain preexisting dependencies in non-bootstrap builds, or in gcc-less builds, this introduces support for @unless/@endunless pairs in Makefile.in. There is a remaining possibility of problem if activating, in a tree configured for bootstrap, a parallel build of two or more modules, at least one bootstrapped and one not. In this case, make might decide to build stage_current and stage_last in parallel, the latter will start a submake to build stage1 while the initial make, having satisfied stage_current, proceeds to build the bootstrapped module in non-bootstrapped configurations. The two builds will overlap and will likely conflict. This situation does NOT arise in normal settings, however: a post-bootstrap build of all-host all-target will indeed activate such targets concurrently, but only after building all bootstrapped modules successfully, and it will have both stage_last and stage_current targets already satisfied, so the potential race between builds will not arise. Another remaining problem, that is slightly expanded with this patch, is that of an interrupted build in a tree configured for bootstrap, continued with a non-bootstrapped target. Target modules that were not bootstrapped would already fail to complete the current stage when activated explicitly in the command line for a retry; host modules, however, would attempt to build their bootstrapped dependencies, which is what led to the problem of concurrent builds addressed with this patch. An interrupted or failed build might still recover correctly, if the non-bootstrapped target is activated in both builds, because then make will remove stage_last when its build command is interrupted, so that it will attempt to recreate it with stage1-bubble in the second try. A bootstrap build, however, will not be attempting to build stage_last, so the file will remain and the retry won't go through stage1-bubble. We have lived with that for target modules, so we can probably live with that for host modules too. Another undesirable consequence of this change is that non-boostrapped host modules, in a tree configured for bootstrap, when activated as make all-, will build all of stage1 instead of only the module's usual dependencies. This is intentional and necessary to fix the parallel-build problem. If it's not desirable, disabling the unnecessary bootstrap configuration will suffice to restore the original set of dependencies. for ChangeLog * configure.ac: Introduce support for @unless/@endunless. * Makefile.tpl (dep-kind): Rewrite with cond; return postbootstrap in some cases. (make-postboot-dep, postboot-targets): New. (dependencies): Do not output postbootstrap dependencies at first. Output non-target ones changed for configure to depend on stage_last @if gcc-bootstrap, and the original deps @unless gcc-bootstrap. * configure.in, Makefile.in: Rebuilt. --- ChangeLog | 12 ++++ Makefile.in | 181 +++++++++++++++++------------------------------------------ Makefile.tpl | 78 ++++++++++++++++--------- configure | 20 +++++-- configure.ac | 20 +++++-- 5 files changed, 146 insertions(+), 165 deletions(-) diff --git a/ChangeLog b/ChangeLog index a44cdfd..5abd744 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2018-06-29 Alexandre Oliva + + * configure.ac: Introduce support for @unless/@endunless. + * Makefile.tpl (dep-kind): Rewrite with cond; return + postbootstrap in some cases. + (make-postboot-dep, postboot-targets): New. + (dependencies): Do not output postbootstrap dependencies at + first. Output non-target ones changed for configure to depend + on stage_last @if gcc-bootstrap, and the original deps @unless + gcc-bootstrap. + * configure.in, Makefile.in: Rebuilt. + 2018-06-24 Nick Clifton * configure: Regenerate. diff --git a/Makefile.in b/Makefile.in index d13732e..7814fe7 100644 --- a/Makefile.in +++ b/Makefile.in @@ -49274,7 +49274,6 @@ all-build-m4: maybe-all-build-texinfo all-build-fixincludes: maybe-all-build-libiberty all-build-libcpp: maybe-all-build-libiberty configure-gcc: maybe-configure-intl - configure-stage1-gcc: maybe-configure-stage1-intl configure-stage2-gcc: maybe-configure-stage2-intl configure-stage3-gcc: maybe-configure-stage3-intl @@ -49282,7 +49281,6 @@ configure-stage4-gcc: maybe-configure-stage4-intl configure-stageprofile-gcc: maybe-configure-stageprofile-intl configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl configure-gcc: maybe-all-gmp - configure-stage1-gcc: maybe-all-stage1-gmp configure-stage2-gcc: maybe-all-stage2-gmp configure-stage3-gcc: maybe-all-stage3-gmp @@ -49290,7 +49288,6 @@ configure-stage4-gcc: maybe-all-stage4-gmp configure-stageprofile-gcc: maybe-all-stageprofile-gmp configure-stagefeedback-gcc: maybe-all-stagefeedback-gmp configure-gcc: maybe-all-mpfr - configure-stage1-gcc: maybe-all-stage1-mpfr configure-stage2-gcc: maybe-all-stage2-mpfr configure-stage3-gcc: maybe-all-stage3-mpfr @@ -49298,7 +49295,6 @@ configure-stage4-gcc: maybe-all-stage4-mpfr configure-stageprofile-gcc: maybe-all-stageprofile-mpfr configure-stagefeedback-gcc: maybe-all-stagefeedback-mpfr configure-gcc: maybe-all-mpc - configure-stage1-gcc: maybe-all-stage1-mpc configure-stage2-gcc: maybe-all-stage2-mpc configure-stage3-gcc: maybe-all-stage3-mpc @@ -49306,7 +49302,6 @@ configure-stage4-gcc: maybe-all-stage4-mpc configure-stageprofile-gcc: maybe-all-stageprofile-mpc configure-stagefeedback-gcc: maybe-all-stagefeedback-mpc configure-gcc: maybe-all-isl - configure-stage1-gcc: maybe-all-stage1-isl configure-stage2-gcc: maybe-all-stage2-isl configure-stage3-gcc: maybe-all-stage3-isl @@ -49314,7 +49309,6 @@ configure-stage4-gcc: maybe-all-stage4-isl configure-stageprofile-gcc: maybe-all-stageprofile-isl configure-stagefeedback-gcc: maybe-all-stagefeedback-isl configure-gcc: maybe-all-lto-plugin - configure-stage1-gcc: maybe-all-stage1-lto-plugin configure-stage2-gcc: maybe-all-stage2-lto-plugin configure-stage3-gcc: maybe-all-stage3-lto-plugin @@ -49322,7 +49316,6 @@ configure-stage4-gcc: maybe-all-stage4-lto-plugin configure-stageprofile-gcc: maybe-all-stageprofile-lto-plugin configure-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin configure-gcc: maybe-all-binutils - configure-stage1-gcc: maybe-all-stage1-binutils configure-stage2-gcc: maybe-all-stage2-binutils configure-stage3-gcc: maybe-all-stage3-binutils @@ -49330,7 +49323,6 @@ configure-stage4-gcc: maybe-all-stage4-binutils configure-stageprofile-gcc: maybe-all-stageprofile-binutils configure-stagefeedback-gcc: maybe-all-stagefeedback-binutils configure-gcc: maybe-all-gas - configure-stage1-gcc: maybe-all-stage1-gas configure-stage2-gcc: maybe-all-stage2-gas configure-stage3-gcc: maybe-all-stage3-gas @@ -49338,7 +49330,6 @@ configure-stage4-gcc: maybe-all-stage4-gas configure-stageprofile-gcc: maybe-all-stageprofile-gas configure-stagefeedback-gcc: maybe-all-stagefeedback-gas configure-gcc: maybe-all-ld - configure-stage1-gcc: maybe-all-stage1-ld configure-stage2-gcc: maybe-all-stage2-ld configure-stage3-gcc: maybe-all-stage3-ld @@ -49346,7 +49337,6 @@ configure-stage4-gcc: maybe-all-stage4-ld configure-stageprofile-gcc: maybe-all-stageprofile-ld configure-stagefeedback-gcc: maybe-all-stagefeedback-ld configure-gcc: maybe-all-gold - configure-stage1-gcc: maybe-all-stage1-gold configure-stage2-gcc: maybe-all-stage2-gold configure-stage3-gcc: maybe-all-stage3-gold @@ -49354,7 +49344,6 @@ configure-stage4-gcc: maybe-all-stage4-gold configure-stageprofile-gcc: maybe-all-stageprofile-gold configure-stagefeedback-gcc: maybe-all-stagefeedback-gold configure-gcc: maybe-all-libelf - configure-stage1-gcc: maybe-all-stage1-libelf configure-stage2-gcc: maybe-all-stage2-libelf configure-stage3-gcc: maybe-all-stage3-libelf @@ -49362,7 +49351,6 @@ configure-stage4-gcc: maybe-all-stage4-libelf configure-stageprofile-gcc: maybe-all-stageprofile-libelf configure-stagefeedback-gcc: maybe-all-stagefeedback-libelf configure-gcc: maybe-all-libiconv - configure-stage1-gcc: maybe-all-stage1-libiconv configure-stage2-gcc: maybe-all-stage2-libiconv configure-stage3-gcc: maybe-all-stage3-libiconv @@ -49370,7 +49358,6 @@ configure-stage4-gcc: maybe-all-stage4-libiconv configure-stageprofile-gcc: maybe-all-stageprofile-libiconv configure-stagefeedback-gcc: maybe-all-stagefeedback-libiconv all-gcc: all-libiberty - all-stage1-gcc: all-stage1-libiberty all-stage2-gcc: all-stage2-libiberty all-stage3-gcc: all-stage3-libiberty @@ -49378,7 +49365,6 @@ all-stage4-gcc: all-stage4-libiberty all-stageprofile-gcc: all-stageprofile-libiberty all-stagefeedback-gcc: all-stagefeedback-libiberty all-gcc: maybe-all-intl - all-stage1-gcc: maybe-all-stage1-intl all-stage2-gcc: maybe-all-stage2-intl all-stage3-gcc: maybe-all-stage3-intl @@ -49386,7 +49372,6 @@ all-stage4-gcc: maybe-all-stage4-intl all-stageprofile-gcc: maybe-all-stageprofile-intl all-stagefeedback-gcc: maybe-all-stagefeedback-intl all-gcc: maybe-all-mpfr - all-stage1-gcc: maybe-all-stage1-mpfr all-stage2-gcc: maybe-all-stage2-mpfr all-stage3-gcc: maybe-all-stage3-mpfr @@ -49394,7 +49379,6 @@ all-stage4-gcc: maybe-all-stage4-mpfr all-stageprofile-gcc: maybe-all-stageprofile-mpfr all-stagefeedback-gcc: maybe-all-stagefeedback-mpfr all-gcc: maybe-all-mpc - all-stage1-gcc: maybe-all-stage1-mpc all-stage2-gcc: maybe-all-stage2-mpc all-stage3-gcc: maybe-all-stage3-mpc @@ -49402,7 +49386,6 @@ all-stage4-gcc: maybe-all-stage4-mpc all-stageprofile-gcc: maybe-all-stageprofile-mpc all-stagefeedback-gcc: maybe-all-stagefeedback-mpc all-gcc: maybe-all-isl - all-stage1-gcc: maybe-all-stage1-isl all-stage2-gcc: maybe-all-stage2-isl all-stage3-gcc: maybe-all-stage3-isl @@ -49410,7 +49393,6 @@ all-stage4-gcc: maybe-all-stage4-isl all-stageprofile-gcc: maybe-all-stageprofile-isl all-stagefeedback-gcc: maybe-all-stagefeedback-isl all-gcc: maybe-all-build-texinfo - all-stage1-gcc: maybe-all-build-texinfo all-stage2-gcc: maybe-all-build-texinfo all-stage3-gcc: maybe-all-build-texinfo @@ -49418,7 +49400,6 @@ all-stage4-gcc: maybe-all-build-texinfo all-stageprofile-gcc: maybe-all-build-texinfo all-stagefeedback-gcc: maybe-all-build-texinfo all-gcc: maybe-all-build-bison - all-stage1-gcc: maybe-all-build-bison all-stage2-gcc: maybe-all-build-bison all-stage3-gcc: maybe-all-build-bison @@ -49426,7 +49407,6 @@ all-stage4-gcc: maybe-all-build-bison all-stageprofile-gcc: maybe-all-build-bison all-stagefeedback-gcc: maybe-all-build-bison all-gcc: maybe-all-build-flex - all-stage1-gcc: maybe-all-build-flex all-stage2-gcc: maybe-all-build-flex all-stage3-gcc: maybe-all-build-flex @@ -49434,7 +49414,6 @@ all-stage4-gcc: maybe-all-build-flex all-stageprofile-gcc: maybe-all-build-flex all-stagefeedback-gcc: maybe-all-build-flex all-gcc: maybe-all-build-libiberty - all-stage1-gcc: maybe-all-build-libiberty all-stage2-gcc: maybe-all-build-libiberty all-stage3-gcc: maybe-all-build-libiberty @@ -49442,7 +49421,6 @@ all-stage4-gcc: maybe-all-build-libiberty all-stageprofile-gcc: maybe-all-build-libiberty all-stagefeedback-gcc: maybe-all-build-libiberty all-gcc: maybe-all-build-fixincludes - all-stage1-gcc: maybe-all-build-fixincludes all-stage2-gcc: maybe-all-build-fixincludes all-stage3-gcc: maybe-all-build-fixincludes @@ -49450,7 +49428,6 @@ all-stage4-gcc: maybe-all-build-fixincludes all-stageprofile-gcc: maybe-all-build-fixincludes all-stagefeedback-gcc: maybe-all-build-fixincludes all-gcc: maybe-all-build-libcpp - all-stage1-gcc: maybe-all-build-libcpp all-stage2-gcc: maybe-all-build-libcpp all-stage3-gcc: maybe-all-build-libcpp @@ -49458,7 +49435,6 @@ all-stage4-gcc: maybe-all-build-libcpp all-stageprofile-gcc: maybe-all-build-libcpp all-stagefeedback-gcc: maybe-all-build-libcpp all-gcc: maybe-all-zlib - all-stage1-gcc: maybe-all-stage1-zlib all-stage2-gcc: maybe-all-stage2-zlib all-stage3-gcc: maybe-all-stage3-zlib @@ -49466,7 +49442,6 @@ all-stage4-gcc: maybe-all-stage4-zlib all-stageprofile-gcc: maybe-all-stageprofile-zlib all-stagefeedback-gcc: maybe-all-stagefeedback-zlib all-gcc: all-libbacktrace - all-stage1-gcc: all-stage1-libbacktrace all-stage2-gcc: all-stage2-libbacktrace all-stage3-gcc: all-stage3-libbacktrace @@ -49474,7 +49449,6 @@ all-stage4-gcc: all-stage4-libbacktrace all-stageprofile-gcc: all-stageprofile-libbacktrace all-stagefeedback-gcc: all-stagefeedback-libbacktrace all-gcc: all-libcpp - all-stage1-gcc: all-stage1-libcpp all-stage2-gcc: all-stage2-libcpp all-stage3-gcc: all-stage3-libcpp @@ -49482,7 +49456,6 @@ all-stage4-gcc: all-stage4-libcpp all-stageprofile-gcc: all-stageprofile-libcpp all-stagefeedback-gcc: all-stagefeedback-libcpp all-gcc: all-libdecnumber - all-stage1-gcc: all-stage1-libdecnumber all-stage2-gcc: all-stage2-libdecnumber all-stage3-gcc: all-stage3-libdecnumber @@ -49490,7 +49463,6 @@ all-stage4-gcc: all-stage4-libdecnumber all-stageprofile-gcc: all-stageprofile-libdecnumber all-stagefeedback-gcc: all-stagefeedback-libdecnumber all-gcc: maybe-all-libiberty - all-stage1-gcc: maybe-all-stage1-libiberty all-stage2-gcc: maybe-all-stage2-libiberty all-stage3-gcc: maybe-all-stage3-libiberty @@ -49498,7 +49470,6 @@ all-stage4-gcc: maybe-all-stage4-libiberty all-stageprofile-gcc: maybe-all-stageprofile-libiberty all-stagefeedback-gcc: maybe-all-stagefeedback-libiberty all-gcc: maybe-all-fixincludes - all-stage1-gcc: maybe-all-stage1-fixincludes all-stage2-gcc: maybe-all-stage2-fixincludes all-stage3-gcc: maybe-all-stage3-fixincludes @@ -49506,7 +49477,6 @@ all-stage4-gcc: maybe-all-stage4-fixincludes all-stageprofile-gcc: maybe-all-stageprofile-fixincludes all-stagefeedback-gcc: maybe-all-stagefeedback-fixincludes all-gcc: maybe-all-lto-plugin - all-stage1-gcc: maybe-all-stage1-lto-plugin all-stage2-gcc: maybe-all-stage2-lto-plugin all-stage3-gcc: maybe-all-stage3-lto-plugin @@ -49514,7 +49484,6 @@ all-stage4-gcc: maybe-all-stage4-lto-plugin all-stageprofile-gcc: maybe-all-stageprofile-lto-plugin all-stagefeedback-gcc: maybe-all-stagefeedback-lto-plugin all-gcc: maybe-all-libiconv - all-stage1-gcc: maybe-all-stage1-libiconv all-stage2-gcc: maybe-all-stage2-libiconv all-stage3-gcc: maybe-all-stage3-libiconv @@ -49522,7 +49491,6 @@ all-stage4-gcc: maybe-all-stage4-libiconv all-stageprofile-gcc: maybe-all-stageprofile-libiconv all-stagefeedback-gcc: maybe-all-stagefeedback-libiconv info-gcc: maybe-all-build-libiberty - info-stage1-gcc: maybe-all-build-libiberty info-stage2-gcc: maybe-all-build-libiberty info-stage3-gcc: maybe-all-build-libiberty @@ -49530,7 +49498,6 @@ info-stage4-gcc: maybe-all-build-libiberty info-stageprofile-gcc: maybe-all-build-libiberty info-stagefeedback-gcc: maybe-all-build-libiberty dvi-gcc: maybe-all-build-libiberty - dvi-stage1-gcc: maybe-all-build-libiberty dvi-stage2-gcc: maybe-all-build-libiberty dvi-stage3-gcc: maybe-all-build-libiberty @@ -49538,7 +49505,6 @@ dvi-stage4-gcc: maybe-all-build-libiberty dvi-stageprofile-gcc: maybe-all-build-libiberty dvi-stagefeedback-gcc: maybe-all-build-libiberty pdf-gcc: maybe-all-build-libiberty - pdf-stage1-gcc: maybe-all-build-libiberty pdf-stage2-gcc: maybe-all-build-libiberty pdf-stage3-gcc: maybe-all-build-libiberty @@ -49546,7 +49512,6 @@ pdf-stage4-gcc: maybe-all-build-libiberty pdf-stageprofile-gcc: maybe-all-build-libiberty pdf-stagefeedback-gcc: maybe-all-build-libiberty html-gcc: maybe-all-build-libiberty - html-stage1-gcc: maybe-all-build-libiberty html-stage2-gcc: maybe-all-build-libiberty html-stage3-gcc: maybe-all-build-libiberty @@ -49558,7 +49523,6 @@ install-gcc: maybe-install-lto-plugin install-strip-gcc: maybe-install-strip-fixincludes install-strip-gcc: maybe-install-strip-lto-plugin configure-libcpp: configure-libiberty - configure-stage1-libcpp: configure-stage1-libiberty configure-stage2-libcpp: configure-stage2-libiberty configure-stage3-libcpp: configure-stage3-libiberty @@ -49566,7 +49530,6 @@ configure-stage4-libcpp: configure-stage4-libiberty configure-stageprofile-libcpp: configure-stageprofile-libiberty configure-stagefeedback-libcpp: configure-stagefeedback-libiberty configure-libcpp: maybe-configure-intl - configure-stage1-libcpp: maybe-configure-stage1-intl configure-stage2-libcpp: maybe-configure-stage2-intl configure-stage3-libcpp: maybe-configure-stage3-intl @@ -49574,7 +49537,6 @@ configure-stage4-libcpp: maybe-configure-stage4-intl configure-stageprofile-libcpp: maybe-configure-stageprofile-intl configure-stagefeedback-libcpp: maybe-configure-stagefeedback-intl configure-libcpp: maybe-all-libiconv - configure-stage1-libcpp: maybe-all-stage1-libiconv configure-stage2-libcpp: maybe-all-stage2-libiconv configure-stage3-libcpp: maybe-all-stage3-libiconv @@ -49582,7 +49544,6 @@ configure-stage4-libcpp: maybe-all-stage4-libiconv configure-stageprofile-libcpp: maybe-all-stageprofile-libiconv configure-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv all-libcpp: all-libiberty - all-stage1-libcpp: all-stage1-libiberty all-stage2-libcpp: all-stage2-libiberty all-stage3-libcpp: all-stage3-libiberty @@ -49590,7 +49551,6 @@ all-stage4-libcpp: all-stage4-libiberty all-stageprofile-libcpp: all-stageprofile-libiberty all-stagefeedback-libcpp: all-stagefeedback-libiberty all-libcpp: maybe-all-intl - all-stage1-libcpp: maybe-all-stage1-intl all-stage2-libcpp: maybe-all-stage2-intl all-stage3-libcpp: maybe-all-stage3-intl @@ -49598,7 +49558,6 @@ all-stage4-libcpp: maybe-all-stage4-intl all-stageprofile-libcpp: maybe-all-stageprofile-intl all-stagefeedback-libcpp: maybe-all-stagefeedback-intl all-libcpp: maybe-all-libiconv - all-stage1-libcpp: maybe-all-stage1-libiconv all-stage2-libcpp: maybe-all-stage2-libiconv all-stage3-libcpp: maybe-all-stage3-libiconv @@ -49606,7 +49565,6 @@ all-stage4-libcpp: maybe-all-stage4-libiconv all-stageprofile-libcpp: maybe-all-stageprofile-libiconv all-stagefeedback-libcpp: maybe-all-stagefeedback-libiconv all-fixincludes: maybe-all-libiberty - all-stage1-fixincludes: maybe-all-stage1-libiberty all-stage2-fixincludes: maybe-all-stage2-libiberty all-stage3-fixincludes: maybe-all-stage3-libiberty @@ -49614,9 +49572,7 @@ all-stage4-fixincludes: maybe-all-stage4-libiberty all-stageprofile-fixincludes: maybe-all-stageprofile-libiberty all-stagefeedback-fixincludes: maybe-all-stagefeedback-libiberty all-gnattools: maybe-all-target-libada -all-gnattools: maybe-all-target-libstdc++-v3 all-lto-plugin: maybe-all-libiberty - all-stage1-lto-plugin: maybe-all-stage1-libiberty all-stage2-lto-plugin: maybe-all-stage2-libiberty all-stage3-lto-plugin: maybe-all-stage3-libiberty @@ -49624,19 +49580,14 @@ all-stage4-lto-plugin: maybe-all-stage4-libiberty all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty all-lto-plugin: maybe-all-libiberty-linker-plugin - all-stage1-lto-plugin: maybe-all-stage1-libiberty-linker-plugin all-stage2-lto-plugin: maybe-all-stage2-libiberty-linker-plugin all-stage3-lto-plugin: maybe-all-stage3-libiberty-linker-plugin all-stage4-lto-plugin: maybe-all-stage4-libiberty-linker-plugin all-stageprofile-lto-plugin: maybe-all-stageprofile-libiberty-linker-plugin all-stagefeedback-lto-plugin: maybe-all-stagefeedback-libiberty-linker-plugin -configure-libcc1: maybe-configure-gcc -all-libcc1: maybe-all-gcc all-gotools: maybe-all-target-libgo -all-utils: maybe-all-libiberty configure-intl: maybe-all-libiconv - configure-stage1-intl: maybe-all-stage1-libiconv configure-stage2-intl: maybe-all-stage2-libiconv configure-stage3-intl: maybe-all-stage3-libiconv @@ -49644,7 +49595,6 @@ configure-stage4-intl: maybe-all-stage4-libiconv configure-stageprofile-intl: maybe-all-stageprofile-libiconv configure-stagefeedback-intl: maybe-all-stagefeedback-libiconv configure-mpfr: maybe-all-gmp - configure-stage1-mpfr: maybe-all-stage1-gmp configure-stage2-mpfr: maybe-all-stage2-gmp configure-stage3-mpfr: maybe-all-stage3-gmp @@ -49652,7 +49602,6 @@ configure-stage4-mpfr: maybe-all-stage4-gmp configure-stageprofile-mpfr: maybe-all-stageprofile-gmp configure-stagefeedback-mpfr: maybe-all-stagefeedback-gmp configure-mpc: maybe-all-mpfr - configure-stage1-mpc: maybe-all-stage1-mpfr configure-stage2-mpc: maybe-all-stage2-mpfr configure-stage3-mpc: maybe-all-stage3-mpfr @@ -49660,7 +49609,6 @@ configure-stage4-mpc: maybe-all-stage4-mpfr configure-stageprofile-mpc: maybe-all-stageprofile-mpfr configure-stagefeedback-mpc: maybe-all-stagefeedback-mpfr configure-isl: maybe-all-gmp - configure-stage1-isl: maybe-all-stage1-gmp configure-stage2-isl: maybe-all-stage2-gmp configure-stage3-isl: maybe-all-stage3-gmp @@ -49668,24 +49616,16 @@ configure-stage4-isl: maybe-all-stage4-gmp configure-stageprofile-isl: maybe-all-stageprofile-gmp configure-stagefeedback-isl: maybe-all-stagefeedback-gmp all-intl: maybe-all-libiconv - all-stage1-intl: maybe-all-stage1-libiconv all-stage2-intl: maybe-all-stage2-libiconv all-stage3-intl: maybe-all-stage3-libiconv all-stage4-intl: maybe-all-stage4-libiconv all-stageprofile-intl: maybe-all-stageprofile-libiconv all-stagefeedback-intl: maybe-all-stagefeedback-libiconv -configure-gdb: maybe-all-intl configure-gdb: maybe-configure-sim -configure-gdb: maybe-all-bfd -configure-gdb: maybe-all-libiconv -all-gdb: maybe-all-libiberty -all-gdb: maybe-all-libiconv -all-gdb: maybe-all-opcodes all-gdb: maybe-all-readline all-gdb: maybe-all-build-bison all-gdb: maybe-all-sim -all-gdb: maybe-all-libdecnumber all-gdb: maybe-all-libtermcap configure-libgui: maybe-configure-tcl configure-libgui: maybe-configure-tk @@ -49693,7 +49633,6 @@ all-libgui: maybe-all-tcl all-libgui: maybe-all-tk all-libgui: maybe-all-itcl configure-bfd: configure-libiberty - configure-stage1-bfd: configure-stage1-libiberty configure-stage2-bfd: configure-stage2-libiberty configure-stage3-bfd: configure-stage3-libiberty @@ -49701,7 +49640,6 @@ configure-stage4-bfd: configure-stage4-libiberty configure-stageprofile-bfd: configure-stageprofile-libiberty configure-stagefeedback-bfd: configure-stagefeedback-libiberty configure-bfd: maybe-configure-intl - configure-stage1-bfd: maybe-configure-stage1-intl configure-stage2-bfd: maybe-configure-stage2-intl configure-stage3-bfd: maybe-configure-stage3-intl @@ -49709,7 +49647,6 @@ configure-stage4-bfd: maybe-configure-stage4-intl configure-stageprofile-bfd: maybe-configure-stageprofile-intl configure-stagefeedback-bfd: maybe-configure-stagefeedback-intl all-bfd: maybe-all-libiberty - all-stage1-bfd: maybe-all-stage1-libiberty all-stage2-bfd: maybe-all-stage2-libiberty all-stage3-bfd: maybe-all-stage3-libiberty @@ -49717,7 +49654,6 @@ all-stage4-bfd: maybe-all-stage4-libiberty all-stageprofile-bfd: maybe-all-stageprofile-libiberty all-stagefeedback-bfd: maybe-all-stagefeedback-libiberty all-bfd: maybe-all-intl - all-stage1-bfd: maybe-all-stage1-intl all-stage2-bfd: maybe-all-stage2-intl all-stage3-bfd: maybe-all-stage3-intl @@ -49725,7 +49661,6 @@ all-stage4-bfd: maybe-all-stage4-intl all-stageprofile-bfd: maybe-all-stageprofile-intl all-stagefeedback-bfd: maybe-all-stagefeedback-intl all-bfd: maybe-all-zlib - all-stage1-bfd: maybe-all-stage1-zlib all-stage2-bfd: maybe-all-stage2-zlib all-stage3-bfd: maybe-all-stage3-zlib @@ -49733,7 +49668,6 @@ all-stage4-bfd: maybe-all-stage4-zlib all-stageprofile-bfd: maybe-all-stageprofile-zlib all-stagefeedback-bfd: maybe-all-stagefeedback-zlib configure-opcodes: configure-libiberty - configure-stage1-opcodes: configure-stage1-libiberty configure-stage2-opcodes: configure-stage2-libiberty configure-stage3-opcodes: configure-stage3-libiberty @@ -49741,7 +49675,6 @@ configure-stage4-opcodes: configure-stage4-libiberty configure-stageprofile-opcodes: configure-stageprofile-libiberty configure-stagefeedback-opcodes: configure-stagefeedback-libiberty all-opcodes: maybe-all-libiberty - all-stage1-opcodes: maybe-all-stage1-libiberty all-stage2-opcodes: maybe-all-stage2-libiberty all-stage3-opcodes: maybe-all-stage3-libiberty @@ -49749,7 +49682,6 @@ all-stage4-opcodes: maybe-all-stage4-libiberty all-stageprofile-opcodes: maybe-all-stageprofile-libiberty all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty configure-binutils: maybe-configure-intl - configure-stage1-binutils: maybe-configure-stage1-intl configure-stage2-binutils: maybe-configure-stage2-intl configure-stage3-binutils: maybe-configure-stage3-intl @@ -49757,7 +49689,6 @@ configure-stage4-binutils: maybe-configure-stage4-intl configure-stageprofile-binutils: maybe-configure-stageprofile-intl configure-stagefeedback-binutils: maybe-configure-stagefeedback-intl all-binutils: maybe-all-libiberty - all-stage1-binutils: maybe-all-stage1-libiberty all-stage2-binutils: maybe-all-stage2-libiberty all-stage3-binutils: maybe-all-stage3-libiberty @@ -49765,7 +49696,6 @@ all-stage4-binutils: maybe-all-stage4-libiberty all-stageprofile-binutils: maybe-all-stageprofile-libiberty all-stagefeedback-binutils: maybe-all-stagefeedback-libiberty all-binutils: maybe-all-opcodes - all-stage1-binutils: maybe-all-stage1-opcodes all-stage2-binutils: maybe-all-stage2-opcodes all-stage3-binutils: maybe-all-stage3-opcodes @@ -49773,7 +49703,6 @@ all-stage4-binutils: maybe-all-stage4-opcodes all-stageprofile-binutils: maybe-all-stageprofile-opcodes all-stagefeedback-binutils: maybe-all-stagefeedback-opcodes all-binutils: maybe-all-bfd - all-stage1-binutils: maybe-all-stage1-bfd all-stage2-binutils: maybe-all-stage2-bfd all-stage3-binutils: maybe-all-stage3-bfd @@ -49781,7 +49710,6 @@ all-stage4-binutils: maybe-all-stage4-bfd all-stageprofile-binutils: maybe-all-stageprofile-bfd all-stagefeedback-binutils: maybe-all-stagefeedback-bfd all-binutils: maybe-all-build-flex - all-stage1-binutils: maybe-all-build-flex all-stage2-binutils: maybe-all-build-flex all-stage3-binutils: maybe-all-build-flex @@ -49789,7 +49717,6 @@ all-stage4-binutils: maybe-all-build-flex all-stageprofile-binutils: maybe-all-build-flex all-stagefeedback-binutils: maybe-all-build-flex all-binutils: maybe-all-build-bison - all-stage1-binutils: maybe-all-build-bison all-stage2-binutils: maybe-all-build-bison all-stage3-binutils: maybe-all-build-bison @@ -49797,7 +49724,6 @@ all-stage4-binutils: maybe-all-build-bison all-stageprofile-binutils: maybe-all-build-bison all-stagefeedback-binutils: maybe-all-build-bison all-binutils: maybe-all-intl - all-stage1-binutils: maybe-all-stage1-intl all-stage2-binutils: maybe-all-stage2-intl all-stage3-binutils: maybe-all-stage3-intl @@ -49805,7 +49731,6 @@ all-stage4-binutils: maybe-all-stage4-intl all-stageprofile-binutils: maybe-all-stageprofile-intl all-stagefeedback-binutils: maybe-all-stagefeedback-intl all-binutils: maybe-all-gas - all-stage1-binutils: maybe-all-stage1-gas all-stage2-binutils: maybe-all-stage2-gas all-stage3-binutils: maybe-all-stage3-gas @@ -49817,7 +49742,6 @@ install-strip-binutils: maybe-install-strip-opcodes install-opcodes: maybe-install-bfd install-strip-opcodes: maybe-install-strip-bfd configure-gas: maybe-configure-intl - configure-stage1-gas: maybe-configure-stage1-intl configure-stage2-gas: maybe-configure-stage2-intl configure-stage3-gas: maybe-configure-stage3-intl @@ -49825,7 +49749,6 @@ configure-stage4-gas: maybe-configure-stage4-intl configure-stageprofile-gas: maybe-configure-stageprofile-intl configure-stagefeedback-gas: maybe-configure-stagefeedback-intl all-gas: maybe-all-libiberty - all-stage1-gas: maybe-all-stage1-libiberty all-stage2-gas: maybe-all-stage2-libiberty all-stage3-gas: maybe-all-stage3-libiberty @@ -49833,7 +49756,6 @@ all-stage4-gas: maybe-all-stage4-libiberty all-stageprofile-gas: maybe-all-stageprofile-libiberty all-stagefeedback-gas: maybe-all-stagefeedback-libiberty all-gas: maybe-all-opcodes - all-stage1-gas: maybe-all-stage1-opcodes all-stage2-gas: maybe-all-stage2-opcodes all-stage3-gas: maybe-all-stage3-opcodes @@ -49841,7 +49763,6 @@ all-stage4-gas: maybe-all-stage4-opcodes all-stageprofile-gas: maybe-all-stageprofile-opcodes all-stagefeedback-gas: maybe-all-stagefeedback-opcodes all-gas: maybe-all-bfd - all-stage1-gas: maybe-all-stage1-bfd all-stage2-gas: maybe-all-stage2-bfd all-stage3-gas: maybe-all-stage3-bfd @@ -49849,21 +49770,13 @@ all-stage4-gas: maybe-all-stage4-bfd all-stageprofile-gas: maybe-all-stageprofile-bfd all-stagefeedback-gas: maybe-all-stagefeedback-bfd all-gas: maybe-all-intl - all-stage1-gas: maybe-all-stage1-intl all-stage2-gas: maybe-all-stage2-intl all-stage3-gas: maybe-all-stage3-intl all-stage4-gas: maybe-all-stage4-intl all-stageprofile-gas: maybe-all-stageprofile-intl all-stagefeedback-gas: maybe-all-stagefeedback-intl -configure-gprof: maybe-configure-intl -all-gprof: maybe-all-libiberty -all-gprof: maybe-all-bfd -all-gprof: maybe-all-opcodes -all-gprof: maybe-all-intl -all-gprof: maybe-all-gas configure-ld: maybe-configure-intl - configure-stage1-ld: maybe-configure-stage1-intl configure-stage2-ld: maybe-configure-stage2-intl configure-stage3-ld: maybe-configure-stage3-intl @@ -49871,7 +49784,6 @@ configure-stage4-ld: maybe-configure-stage4-intl configure-stageprofile-ld: maybe-configure-stageprofile-intl configure-stagefeedback-ld: maybe-configure-stagefeedback-intl all-ld: maybe-all-libiberty - all-stage1-ld: maybe-all-stage1-libiberty all-stage2-ld: maybe-all-stage2-libiberty all-stage3-ld: maybe-all-stage3-libiberty @@ -49879,7 +49791,6 @@ all-stage4-ld: maybe-all-stage4-libiberty all-stageprofile-ld: maybe-all-stageprofile-libiberty all-stagefeedback-ld: maybe-all-stagefeedback-libiberty all-ld: maybe-all-bfd - all-stage1-ld: maybe-all-stage1-bfd all-stage2-ld: maybe-all-stage2-bfd all-stage3-ld: maybe-all-stage3-bfd @@ -49887,7 +49798,6 @@ all-stage4-ld: maybe-all-stage4-bfd all-stageprofile-ld: maybe-all-stageprofile-bfd all-stagefeedback-ld: maybe-all-stagefeedback-bfd all-ld: maybe-all-opcodes - all-stage1-ld: maybe-all-stage1-opcodes all-stage2-ld: maybe-all-stage2-opcodes all-stage3-ld: maybe-all-stage3-opcodes @@ -49895,7 +49805,6 @@ all-stage4-ld: maybe-all-stage4-opcodes all-stageprofile-ld: maybe-all-stageprofile-opcodes all-stagefeedback-ld: maybe-all-stagefeedback-opcodes all-ld: maybe-all-build-bison - all-stage1-ld: maybe-all-build-bison all-stage2-ld: maybe-all-build-bison all-stage3-ld: maybe-all-build-bison @@ -49903,7 +49812,6 @@ all-stage4-ld: maybe-all-build-bison all-stageprofile-ld: maybe-all-build-bison all-stagefeedback-ld: maybe-all-build-bison all-ld: maybe-all-build-flex - all-stage1-ld: maybe-all-build-flex all-stage2-ld: maybe-all-build-flex all-stage3-ld: maybe-all-build-flex @@ -49911,7 +49819,6 @@ all-stage4-ld: maybe-all-build-flex all-stageprofile-ld: maybe-all-build-flex all-stagefeedback-ld: maybe-all-build-flex all-ld: maybe-all-intl - all-stage1-ld: maybe-all-stage1-intl all-stage2-ld: maybe-all-stage2-intl all-stage3-ld: maybe-all-stage3-intl @@ -49919,7 +49826,6 @@ all-stage4-ld: maybe-all-stage4-intl all-stageprofile-ld: maybe-all-stageprofile-intl all-stagefeedback-ld: maybe-all-stagefeedback-intl all-ld: maybe-all-gas - all-stage1-ld: maybe-all-stage1-gas all-stage2-ld: maybe-all-stage2-gas all-stage3-ld: maybe-all-stage3-gas @@ -49927,7 +49833,6 @@ all-stage4-ld: maybe-all-stage4-gas all-stageprofile-ld: maybe-all-stageprofile-gas all-stagefeedback-ld: maybe-all-stagefeedback-gas all-ld: maybe-all-binutils - all-stage1-ld: maybe-all-stage1-binutils all-stage2-ld: maybe-all-stage2-binutils all-stage3-ld: maybe-all-stage3-binutils @@ -49937,7 +49842,6 @@ all-stagefeedback-ld: maybe-all-stagefeedback-binutils install-ld: maybe-install-gold install-strip-ld: maybe-install-strip-gold configure-gold: maybe-configure-intl - configure-stage1-gold: maybe-configure-stage1-intl configure-stage2-gold: maybe-configure-stage2-intl configure-stage3-gold: maybe-configure-stage3-intl @@ -49945,7 +49849,6 @@ configure-stage4-gold: maybe-configure-stage4-intl configure-stageprofile-gold: maybe-configure-stageprofile-intl configure-stagefeedback-gold: maybe-configure-stagefeedback-intl all-gold: maybe-all-libiberty - all-stage1-gold: maybe-all-stage1-libiberty all-stage2-gold: maybe-all-stage2-libiberty all-stage3-gold: maybe-all-stage3-libiberty @@ -49953,7 +49856,6 @@ all-stage4-gold: maybe-all-stage4-libiberty all-stageprofile-gold: maybe-all-stageprofile-libiberty all-stagefeedback-gold: maybe-all-stagefeedback-libiberty all-gold: maybe-all-intl - all-stage1-gold: maybe-all-stage1-intl all-stage2-gold: maybe-all-stage2-intl all-stage3-gold: maybe-all-stage3-intl @@ -49961,7 +49863,6 @@ all-stage4-gold: maybe-all-stage4-intl all-stageprofile-gold: maybe-all-stageprofile-intl all-stagefeedback-gold: maybe-all-stagefeedback-intl all-gold: maybe-all-bfd - all-stage1-gold: maybe-all-stage1-bfd all-stage2-gold: maybe-all-stage2-bfd all-stage3-gold: maybe-all-stage3-bfd @@ -49969,7 +49870,6 @@ all-stage4-gold: maybe-all-stage4-bfd all-stageprofile-gold: maybe-all-stageprofile-bfd all-stagefeedback-gold: maybe-all-stagefeedback-bfd all-gold: maybe-all-build-bison - all-stage1-gold: maybe-all-build-bison all-stage2-gold: maybe-all-build-bison all-stage3-gold: maybe-all-build-bison @@ -49977,7 +49877,6 @@ all-stage4-gold: maybe-all-build-bison all-stageprofile-gold: maybe-all-build-bison all-stagefeedback-gold: maybe-all-build-bison all-gold: maybe-all-gas - all-stage1-gold: maybe-all-stage1-gas all-stage2-gold: maybe-all-stage2-gas all-stage3-gold: maybe-all-stage3-gas @@ -49985,7 +49884,6 @@ all-stage4-gold: maybe-all-stage4-gas all-stageprofile-gold: maybe-all-stageprofile-gas all-stagefeedback-gold: maybe-all-stagefeedback-gas check-gold: maybe-all-binutils - check-stage1-gold: maybe-all-stage1-binutils check-stage2-gold: maybe-all-stage2-binutils check-stage3-gold: maybe-all-stage3-binutils @@ -49993,7 +49891,6 @@ check-stage4-gold: maybe-all-stage4-binutils check-stageprofile-gold: maybe-all-stageprofile-binutils check-stagefeedback-gold: maybe-all-stagefeedback-binutils check-gold: maybe-all-gas - check-stage1-gold: maybe-all-stage1-gas check-stage2-gold: maybe-all-stage2-gas check-stage3-gold: maybe-all-stage3-gas @@ -50001,7 +49898,6 @@ check-stage4-gold: maybe-all-stage4-gas check-stageprofile-gold: maybe-all-stageprofile-gas check-stagefeedback-gold: maybe-all-stagefeedback-gas configure-opcodes: maybe-configure-intl - configure-stage1-opcodes: maybe-configure-stage1-intl configure-stage2-opcodes: maybe-configure-stage2-intl configure-stage3-opcodes: maybe-configure-stage3-intl @@ -50009,7 +49905,6 @@ configure-stage4-opcodes: maybe-configure-stage4-intl configure-stageprofile-opcodes: maybe-configure-stageprofile-intl configure-stagefeedback-opcodes: maybe-configure-stagefeedback-intl all-opcodes: maybe-all-bfd - all-stage1-opcodes: maybe-all-stage1-bfd all-stage2-opcodes: maybe-all-stage2-bfd all-stage3-opcodes: maybe-all-stage3-bfd @@ -50017,7 +49912,6 @@ all-stage4-opcodes: maybe-all-stage4-bfd all-stageprofile-opcodes: maybe-all-stageprofile-bfd all-stagefeedback-opcodes: maybe-all-stagefeedback-bfd all-opcodes: maybe-all-libiberty - all-stage1-opcodes: maybe-all-stage1-libiberty all-stage2-opcodes: maybe-all-stage2-libiberty all-stage3-opcodes: maybe-all-stage3-libiberty @@ -50025,7 +49919,6 @@ all-stage4-opcodes: maybe-all-stage4-libiberty all-stageprofile-opcodes: maybe-all-stageprofile-libiberty all-stagefeedback-opcodes: maybe-all-stagefeedback-libiberty all-opcodes: maybe-all-intl - all-stage1-opcodes: maybe-all-stage1-intl all-stage2-opcodes: maybe-all-stage2-intl all-stage3-opcodes: maybe-all-stage3-intl @@ -50047,51 +49940,34 @@ install-itcl: maybe-install-tcl install-strip-itcl: maybe-install-strip-tcl configure-tk: maybe-configure-tcl all-tk: maybe-all-tcl -all-sid: maybe-all-libiberty -all-sid: maybe-all-bfd -all-sid: maybe-all-opcodes all-sid: maybe-all-tcl all-sid: maybe-all-tk install-sid: maybe-install-tcl install-strip-sid: maybe-install-strip-tcl install-sid: maybe-install-tk install-strip-sid: maybe-install-strip-tk -configure-sim: maybe-configure-intl -all-sim: maybe-all-intl -all-sim: maybe-all-libiberty -all-sim: maybe-all-bfd -all-sim: maybe-all-opcodes all-sim: maybe-all-readline all-sim: maybe-configure-gdb -all-fastjar: maybe-all-zlib all-fastjar: maybe-all-build-texinfo -all-fastjar: maybe-all-libiberty -all-bison: maybe-all-intl all-bison: maybe-all-build-texinfo all-flex: maybe-all-build-bison -all-flex: maybe-all-intl all-flex: maybe-all-m4 all-flex: maybe-all-build-texinfo -all-m4: maybe-all-intl all-m4: maybe-all-build-texinfo configure-target-fastjar: maybe-configure-target-zlib all-target-fastjar: maybe-all-target-zlib configure-target-libgo: maybe-configure-target-libffi -configure-target-libgo: maybe-all-target-libstdc++-v3 all-target-libgo: maybe-all-target-libbacktrace all-target-libgo: maybe-all-target-libffi all-target-libgo: maybe-all-target-libatomic configure-target-libstdc++-v3: maybe-configure-target-libgomp - configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp configure-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp configure-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp configure-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp configure-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp configure-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp -configure-target-liboffloadmic: maybe-configure-target-libgomp configure-target-libsanitizer: maybe-all-target-libstdc++-v3 - configure-stage1-target-libsanitizer: maybe-all-stage1-target-libstdc++-v3 configure-stage2-target-libsanitizer: maybe-all-stage2-target-libstdc++-v3 configure-stage3-target-libsanitizer: maybe-all-stage3-target-libstdc++-v3 @@ -50099,7 +49975,6 @@ configure-stage4-target-libsanitizer: maybe-all-stage4-target-libstdc++-v3 configure-stageprofile-target-libsanitizer: maybe-all-stageprofile-target-libstdc++-v3 configure-stagefeedback-target-libsanitizer: maybe-all-stagefeedback-target-libstdc++-v3 configure-target-libvtv: maybe-all-target-libstdc++-v3 - configure-stage1-target-libvtv: maybe-all-stage1-target-libstdc++-v3 configure-stage2-target-libvtv: maybe-all-stage2-target-libstdc++-v3 configure-stage3-target-libvtv: maybe-all-stage3-target-libstdc++-v3 @@ -50107,14 +49982,12 @@ configure-stage4-target-libvtv: maybe-all-stage4-target-libstdc++-v3 configure-stageprofile-target-libvtv: maybe-all-stageprofile-target-libstdc++-v3 configure-stagefeedback-target-libvtv: maybe-all-stagefeedback-target-libstdc++-v3 all-target-libstdc++-v3: maybe-configure-target-libgomp - all-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp all-stage2-target-libstdc++-v3: maybe-configure-stage2-target-libgomp all-stage3-target-libstdc++-v3: maybe-configure-stage3-target-libgomp all-stage4-target-libstdc++-v3: maybe-configure-stage4-target-libgomp all-stageprofile-target-libstdc++-v3: maybe-configure-stageprofile-target-libgomp all-stagefeedback-target-libstdc++-v3: maybe-configure-stagefeedback-target-libgomp -all-target-liboffloadmic: maybe-all-target-libgomp install-target-libgo: maybe-install-target-libatomic install-target-libgfortran: maybe-install-target-libquadmath install-target-libgfortran: maybe-install-target-libgcc @@ -50131,12 +50004,62 @@ install-target-libobjc: maybe-install-target-libgcc install-target-libstdc++-v3: maybe-install-target-libgcc all-target-libgloss: maybe-all-target-newlib all-target-winsup: maybe-all-target-libtermcap -configure-target-newlib: maybe-all-binutils -configure-target-newlib: maybe-all-ld configure-target-libgfortran: maybe-all-target-libquadmath configure-target-libgfortran: maybe-all-target-libbacktrace +@if gcc-bootstrap +configure-gnattools: stage_last +configure-libcc1: stage_last +configure-utils: stage_last +configure-gdb: stage_last +configure-gprof: stage_last +configure-sid: stage_last +configure-sim: stage_last +configure-fastjar: stage_last +configure-bison: stage_last +configure-flex: stage_last +configure-m4: stage_last +@endif gcc-bootstrap + +@unless gcc-bootstrap +all-gnattools: maybe-all-target-libstdc++-v3 +configure-libcc1: maybe-configure-gcc +all-libcc1: maybe-all-gcc +all-utils: maybe-all-libiberty +configure-gdb: maybe-all-intl +configure-gdb: maybe-all-bfd +configure-gdb: maybe-all-libiconv +all-gdb: maybe-all-libiberty +all-gdb: maybe-all-libiconv +all-gdb: maybe-all-opcodes +all-gdb: maybe-all-libdecnumber +configure-gprof: maybe-configure-intl +all-gprof: maybe-all-libiberty +all-gprof: maybe-all-bfd +all-gprof: maybe-all-opcodes +all-gprof: maybe-all-intl +all-gprof: maybe-all-gas +all-sid: maybe-all-libiberty +all-sid: maybe-all-bfd +all-sid: maybe-all-opcodes +configure-sim: maybe-configure-intl +all-sim: maybe-all-intl +all-sim: maybe-all-libiberty +all-sim: maybe-all-bfd +all-sim: maybe-all-opcodes +all-fastjar: maybe-all-zlib +all-fastjar: maybe-all-libiberty +all-bison: maybe-all-intl +all-flex: maybe-all-intl +all-m4: maybe-all-intl +configure-target-libgo: maybe-all-target-libstdc++-v3 +configure-target-liboffloadmic: maybe-configure-target-libgomp +all-target-liboffloadmic: maybe-all-target-libgomp +configure-target-newlib: maybe-all-binutils +configure-target-newlib: maybe-all-ld +@endunless gcc-bootstrap + # Dependencies for target modules on other target modules are # described by lang_env_dependencies; the defaults apply to anything # not mentioned there. diff --git a/Makefile.tpl b/Makefile.tpl index 9d2797b..5b118a8 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -1818,25 +1818,46 @@ configure-target-[+module+]: maybe-all-gcc[+ (define dep-maybe (lambda () (if (exist? "hard") "" "maybe-"))) - ;; dep-kind returns "normal" if the dependency is on an "install" target, - ;; or if either module is not bootstrapped. It returns "bootstrap" for - ;; configure or build dependencies between bootstrapped modules; it returns - ;; "prebootstrap" for configure or build dependencies of bootstrapped - ;; modules on a build module (e.g. all-gcc on all-build-bison). All this - ;; is only necessary for host modules. + ;; dep-kind returns returns "prebootstrap" for configure or build + ;; dependencies of bootstrapped modules on a build module + ;; (e.g. all-gcc on all-build-bison); "normal" if the dependency is + ;; on an "install" target, or if the dependence module is not + ;; bootstrapped; otherwise, it returns "bootstrap" or + ;; "postbootstrap" depending on whether the dependent module is + ;; bootstrapped. All this is only necessary for host and target + ;; modules. It might seem like, in order to avoid build races, we + ;; might need more elaborate detection between prebootstrap and + ;; postbootstrap modules, but there are no host prebootstrap + ;; modules. If there were any non-bootstrap host modules that + ;; bootstrap modules depended on, we'd get unsatisfied per-stage + ;; dependencies on them, which would be immediately noticed. (define dep-kind (lambda () - (if (and (hash-ref boot-modules (dep-module "module")) - (=* (dep-module "on") "build-")) - "prebootstrap" + (cond + ((and (hash-ref boot-modules (dep-module "module")) + (=* (dep-module "on") "build-")) + "prebootstrap") - (if (or (= (dep-subtarget "on") "install-") - (not (hash-ref boot-modules (dep-module "module"))) - (not (hash-ref boot-modules (dep-module "on")))) - "normal" - "bootstrap")))) + ((or (= (dep-subtarget "on") "install-") + (not (hash-ref boot-modules (dep-module "on")))) + "normal") + + ((hash-ref boot-modules (dep-module "module")) + "bootstrap") + + (1 "postbootstrap")))) + + (define make-postboot-dep (lambda () + (let ((target (dep-module "module")) (dep "stage_last")) + (unless (= (hash-ref postboot-targets target) dep) + (hash-create-handle! postboot-targets target dep) + ;; All non-bootstrap modules' configure target already + ;; depend on dep. + (unless (=* target "target-") + (string-append "configure-" target ": " dep "\n")))))) ;; We now build the hash table that is used by dep-kind. (define boot-modules (make-hash-table 113)) + (define postboot-targets (make-hash-table 113)) +] [+ FOR host_modules +][+ @@ -1853,18 +1874,23 @@ configure-target-[+module+]: maybe-all-gcc[+ # to check for bootstrap/prebootstrap dependencies. To resolve # prebootstrap dependencies, prebootstrap modules are gathered in # a hash table. -[+ FOR dependencies +][+ (make-dep "" "") +] -[+ CASE (dep-kind) +] -[+ == "prebootstrap" - +][+ FOR bootstrap_stage +] -[+ (make-dep (dep-stage) "") +][+ - ENDFOR bootstrap_stage +] -[+ == "bootstrap" - +][+ FOR bootstrap_stage +] -[+ (make-dep (dep-stage) (dep-stage)) +][+ - ENDFOR bootstrap_stage +] -[+ ESAC +][+ -ENDFOR dependencies +] +[+ FOR dependencies +][+ CASE (dep-kind) +] +[+ == "prebootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +] +[+ (make-dep (dep-stage) "") +][+ ENDFOR bootstrap_stage +] +[+ == "bootstrap" +][+ (make-dep "" "") +][+ FOR bootstrap_stage +] +[+ (make-dep (dep-stage) (dep-stage)) +][+ ENDFOR bootstrap_stage +] +[+ == "normal" +][+ (make-dep "" "") +] +[+ ESAC +][+ ENDFOR dependencies +] + +@if gcc-bootstrap +[+ FOR dependencies +][+ CASE (dep-kind) +] +[+ == "postbootstrap" +][+ (make-postboot-dep) +][+ ESAC +][+ +ENDFOR dependencies +]@endif gcc-bootstrap + +@unless gcc-bootstrap +[+ FOR dependencies +][+ CASE (dep-kind) +] +[+ == "postbootstrap" +][+ (make-dep "" "") +] +[+ ESAC +][+ ENDFOR dependencies +]@endunless gcc-bootstrap # Dependencies for target modules on other target modules are # described by lang_env_dependencies; the defaults apply to anything diff --git a/configure b/configure index 462ad05..08dd35c 100755 --- a/configure +++ b/configure @@ -7190,7 +7190,9 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # extrasub-{build,host,target} not because there is any reason to split # the substitutions up that way, but only to remain below the limit of # 99 commands in a script, for HP-UX sed. -# Do not nest @if/@endif pairs, because configure will not warn you at all. + +# Do not nest @if/@endif or @unless/@endunless pairs, because +# configure will not warn you at all. case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in yes:yes:*\ gold\ *:*,c++,*) ;; @@ -7209,8 +7211,10 @@ for module in ${build_configdirs} ; do extrasub_build="$extrasub_build /^@if build-$module\$/d /^@endif build-$module\$/d +/^@unless build-$module\$/,/^@endunless build-$module\$/d /^@if build-$module-$bootstrap_suffix\$/d -/^@endif build-$module-$bootstrap_suffix\$/d" +/^@endif build-$module-$bootstrap_suffix\$/d +/^@unless build-$module-$bootstrap_suffix\$/,/^@endunless build-$module-$bootstrap_suffix\$/d" done extrasub_host= for module in ${configdirs} ; do @@ -7229,8 +7233,10 @@ for module in ${configdirs} ; do extrasub_host="$extrasub_host /^@if $module\$/d /^@endif $module\$/d +/^@unless $module\$/,/^@endunless $module\$/d /^@if $module-$host_bootstrap_suffix\$/d -/^@endif $module-$host_bootstrap_suffix\$/d" +/^@endif $module-$host_bootstrap_suffix\$/d +/^@unless $module-$host_bootstrap_suffix\$/,/^@endunless $module-$host_bootstrap_suffix\$/d" done extrasub_target= for module in ${target_configdirs} ; do @@ -7249,13 +7255,17 @@ for module in ${target_configdirs} ; do extrasub_target="$extrasub_target /^@if target-$module\$/d /^@endif target-$module\$/d +/^@unless target-$module\$/,/^@endunless target-$module\$/d /^@if target-$module-$target_bootstrap_suffix\$/d -/^@endif target-$module-$target_bootstrap_suffix\$/d" +/^@endif target-$module-$target_bootstrap_suffix\$/d +/^@unless target-$module-$target_bootstrap_suffix\$/,/^@endunless target-$module-$target_bootstrap_suffix\$/d" done # Do the final fixup along with target modules. extrasub_target="$extrasub_target -/^@if /,/^@endif /d" +/^@if /,/^@endif /d +/^@unless /d +/^@endunless /d" # Create the serialization dependencies. This uses a temporary file. diff --git a/configure.ac b/configure.ac index a638f69..99229d9 100644 --- a/configure.ac +++ b/configure.ac @@ -2718,7 +2718,9 @@ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g` # extrasub-{build,host,target} not because there is any reason to split # the substitutions up that way, but only to remain below the limit of # 99 commands in a script, for HP-UX sed. -# Do not nest @if/@endif pairs, because configure will not warn you at all. + +# Do not nest @if/@endif or @unless/@endunless pairs, because +# configure will not warn you at all. case "$enable_bootstrap:$ENABLE_GOLD: $configdirs :,$stage1_languages," in yes:yes:*\ gold\ *:*,c++,*) ;; @@ -2737,8 +2739,10 @@ for module in ${build_configdirs} ; do extrasub_build="$extrasub_build /^@if build-$module\$/d /^@endif build-$module\$/d +/^@unless build-$module\$/,/^@endunless build-$module\$/d /^@if build-$module-$bootstrap_suffix\$/d -/^@endif build-$module-$bootstrap_suffix\$/d" +/^@endif build-$module-$bootstrap_suffix\$/d +/^@unless build-$module-$bootstrap_suffix\$/,/^@endunless build-$module-$bootstrap_suffix\$/d" done extrasub_host= for module in ${configdirs} ; do @@ -2757,8 +2761,10 @@ for module in ${configdirs} ; do extrasub_host="$extrasub_host /^@if $module\$/d /^@endif $module\$/d +/^@unless $module\$/,/^@endunless $module\$/d /^@if $module-$host_bootstrap_suffix\$/d -/^@endif $module-$host_bootstrap_suffix\$/d" +/^@endif $module-$host_bootstrap_suffix\$/d +/^@unless $module-$host_bootstrap_suffix\$/,/^@endunless $module-$host_bootstrap_suffix\$/d" done extrasub_target= for module in ${target_configdirs} ; do @@ -2777,13 +2783,17 @@ for module in ${target_configdirs} ; do extrasub_target="$extrasub_target /^@if target-$module\$/d /^@endif target-$module\$/d +/^@unless target-$module\$/,/^@endunless target-$module\$/d /^@if target-$module-$target_bootstrap_suffix\$/d -/^@endif target-$module-$target_bootstrap_suffix\$/d" +/^@endif target-$module-$target_bootstrap_suffix\$/d +/^@unless target-$module-$target_bootstrap_suffix\$/,/^@endunless target-$module-$target_bootstrap_suffix\$/d" done # Do the final fixup along with target modules. extrasub_target="$extrasub_target -/^@if /,/^@endif /d" +/^@if /,/^@endif /d +/^@unless /d +/^@endunless /d" # Create the serialization dependencies. This uses a temporary file. -- cgit v1.1