* Makefile.def (bootstrap stages): Add 'lean' parameter.
* Makefile.tpl (configure-stageN-*, all-stageN-*): Turned into
phony targets; do not generate timestamp files.
(distclean-stageN): Remove references to their timestamp files.
(restageN, touch-stageN): Remove.
(stageN-bubble): Rewritten.
(compare): Support lean bootstraps.
* Makefile.in: Regenerate.
* configure.in: Only warn when bootstrapping but
build != host or build != target. Support lean bootstraps.
* configure: Regenerate.
Sync from gcc:
2004-08-26 Phil Edwards <phil@codesourcery.com>
* configure.in: Give a better error message if GMP/MPFR are missing
and a language needing them has been requested.
* configure: Regenerated.
2004-08-25 Phil Edwards <phil@codesourcery.com>
* configure.in: Print a list of available language front-ends if
a requested one is missing. Tidy stray tab characters.
* configure: Regenerated.
* Makefile.in: Regenerate.
* configure: Regenerate.
* Makefile.def (bootstrap-stage): Rename extra_*_flags to
stage_*_flags.
* Makefile.tpl (configure-[+module+], all-[+module+]): Exit
for bootstrapped modules if toplevel bootstrap is going.
(GCC bootstrap): Generate per-stage targets for all bootstrapped
modules. Adjust for changes in Makefile.def. Enable several
rules even in non-bootstrap mode, just to avoid peppering the
template with unnecessary "@if/@endif gcc-bootstrap" pairs.
(stage-[+prev+]-bubble): Remove.
* Makefile.def (Dependencies): Depend on all-build-bison,
all-build-flex, all-build-byacc, all-build-texinfo, rather
than the host variations.
* Makefile.tpl (BUILD_DIR_PREFIX): Remove. Replace throughout
with BUILD_SUBDIR.
(BISON): Update for recent Bisons.
(YACC): Fix typo.
(cross): Depend on all-build.
(all): Do not depend on all-build.
(prebootstrap): Remove.
(dep-kind): Accept separate prefixes for MODULE and ON variables.
(Prebootstrap dependencies): Add them to the per-stage targets
and to all-prebootstrap.
* configure.in (build_configdirs): Always enable build_tools.
(BUILD_DIR_PREFIX): Remove.
* Makefile.def (gcc): Add target variable.
(gdb, expect, guile, tk, tix): Replace with_x with extra_make_flags.
* Makefile.tpl (Autogenerated `all-*' targets): Invoke $(TARGET-*)
in the recursive `make', instead of hardwiring `all'.
(Autogenerated TARGET-* variables): New.
* Makefile.def (bfd, opcodes, gcc, zlib): Mark as bootstrap module.
(bison, byacc, flex, texinfo): Do not mark as bootstrap module.
(Dependencies): New section.
* Makefile.tpl (Dependencies): Generate from Makefile.def.
(configure-target-[+module+]): Depend on maybe-all-gcc
(all-prebootstrap): New name of all-bootstrap. Changed throughout.
(toplevel profiledbootstrap): Fix dependencies.
* Makefile.in: Regenerate.
* Makefile.def (host-modules): Add gcc.
* Makefile.in: Regenerate.
* Makefile.tpl (sorry): New rule.
(configure-host, all-host, [+make_target+]-host, do-check,
install-host): Do not add gcc as a special case.
(host modules): Add a small special-casing for gcc. Export
extra_make_flags through the environment.
(maybe-configure-gcc, configure-gcc, maybe-all-gcc, all-gcc,
maybe-check-gcc, check-gcc, maybe-install-gcc, install-gcc,
other recursive targets for gcc): Remove.
(all, do-[+make_target+], do-check): Wrap between unstage and stage.
(stage, unstage): New rules.
(stage[+id+]-start, stage[+id+]-end, [+compare-target+],
distclean-stage[+id+]): Use stage_current.
([+bootstrap-target+], profiledbootstrap): Do not invoke manually
the stage*-start rules.
* Makefile.def (build_modules): Add bison, byacc, flex,
m4, texinfo.
(flags_to_pass): Add FLEX.
* Makefile.tpl (BUILD_DIR_PREFIX, BASE_EXPORTS): New.
(BUILD_EXPORTS, HOST_EXPORTS, BASE_TARGET_EXPORTS): Include it.
(DEFAULT_YACC, USUAL_YACC, DEFAULT_LEX, USUAL_LEX, DEFAULT_M4,
DEFAULT_MAKEINFO): Remove.
(CONFIGURED_YACC, CONFIGURED_FLEX, CONFIGURED_BISON,
CONFIGURED_LEX, CONFIGURED_M4, CONFIGURED_MAKEINFO): Substitute.
(YACC, FLEX, BISON, LEX, M4, MAKEINFO): Define to look into
objdir or else use configured tool.
(all-build): New.
(all): Depend on it.
(Build module dependencies): Add.
* Makefile.in: Regenerate.
* configure.in: Better support for multiple build modules,
matching what is done for host/target modules. Do not look
for "plausible" locations of build tools if Canadian cross.
Use autoconf's AC_PROG_CC to find a C compiler. Define
BUILD_DIR_PREFIX. Look for flex, makeinfo and m4.
* configure: Regenerate.
* Makefile.tpl (touch-stage[+id+]): New.
(restage[+prev+]): Depend on touch-stage[+id+].
* Makefile.tpl (RECURSE_FLAGS_TO_PASS): New.
Use it throughout.
* Makefile.def: Add profile and feedback bootstrap stages.
Remove next field from bootstrap stages.
* Makefile.tpl (LN, LN_S): Substitute.
(stageN-start, stageN-end): Use double-colon rules, to
provide a hook for additional setup commands.
(distclean-stageN-gcc, restageN): Create dependencies from
[+prev+], not from [+next+].
(stageN-bubble): Add commands for successive stages from
[+prev+], using double-colon rules.
(all-stageN-gcc): Fix typo.
(stagefeedback-start, profiledbootstrap): New.
* Makefile.in: Regenerate.
* configure.in: Call ACX_PROG_LN.
* configure: Regenerate.
config/ChangeLog:
2004-06-09 Paolo Bonzini <bonzini@gnu.org>
* acx.m4 (ACX_PROG_LN): From gcc, modified to
accept a parameter.
* Makefile.tpl (all.normal): Rename to all.
(all): Replace with a rule to pick the default
target from configure.
(all-gcc, configure-gcc): Use conditionals to
do nothing when toplevel bootstrap is going on.
(GCC directory bootstrap) [gcc-bootstrap]: Disable.
(Toplevel bootstrap) [gcc-no-bootstrap]: Disable.
* configure.in: Support --enable-bootstrap.
* Makefile.def: Remove new- prefix from toplevel
bootstrap targets.
* Makefile.tpl: Likewise.
* Makefile.def: Add bootstrap_stage 4. Add bootstrap2
target.
* Makefile.tpl (Toplevel bootstrap): Pass $(BASE_FLAGS_TO_PASS)
$(RECURSE_FLAGS) to recursive invocation of make.
* Makefile.in: Regenerate.
* configure: Regenerate.
2004-04-27 Paolo Bonzini <bonzini@gnu.org>
Revert:
2004-04-26 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (flags_to_pass): Remove *dir variables that
are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS,
as well as prefix and exec_prefix.
* Makefile.in: Regenerate.
2004-04-26 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (host_modules): Mark with the bootstrap
flag packages on which gcc depends.
* Makefile.tpl (all-bootstrap): Use it.
* Makefile.in: Regenerate.
2004-04-26 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (flags_to_pass): Remove *dir variables that
are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS,
as well as prefix and exec_prefix.
* Makefile.in: Regenerate.
2004-04-26 Paolo Bonzini <bonzini@gnu.org>
* configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL.
* configure: Regenerate.
* config/acx.m4: Mutuate ACX_PROG_CMP_IGNORE_INITIAL from gcc.
* gcc/Makefile.tpl (compare): Use the result of the test.
* gcc/Makefile.in: Regenerate.
2004-04-23 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc):
Always relocate gcc and prev-gcc to the original names, even
if the build fails.
(new-cleanstrap, new-restage1, new-restage2, new-restage3):
New targets.
(Starting slow-motion replay merge from gcc 3.4 b-i-b branch)
* configure: Remove 'removing', which doesn't work. Replace $subdir
with . everywhere. Replace $subdirs with ''. Replace $makesrcdir
with $srcdir. Reformat indentation. Substitute some variables
formerly hard-coded in the Makefile for build=host.
* Makefile.tpl: Autogenerate more; make more autoconf-friendly.
* Makefile.def: Autogenerate more.
* Makefile.in: Regenerate.
* Makefile.def: New file.
* Makefile.tpl: New file.
* Makefile.in: Generate from Makefile.tpl with 'autogen Makefile.def'.
* configure.in: Minor rearrangement. Simplify tests.