Sync from gcc.
2005-02-28 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/17383
* Makefile.def (target_modules): Remove "stage", now unnecessary.
* Makefile.tpl (HOST_SUBDIR): New substitution.
(STAGE_HOST_EXPORTS, EXPECT, HOST_LIB_PATH, USUAL_AR_FOR_TARGET,
USUAL_AS_FOR_TARGET, USUAL_DLLTOOL_FOR_TARGET, USUAL_GCC_FOR_TARGET,
USUAL_LD_FOR_TARGET, USUAL_NM_FOR_TARGET, USUAL_OBJDUMP_FOR_TARGET,
USUAL_RANLIB_FOR_TARGET, USUAL_WINDRES_FOR_TARGET): Use it.
(Host modules, Bootstrapped modules): Use it.
(Build modules, Target modules): Do not create symlink trees,
always configure out-of-srcdir.
(distclean): Try removing $(host_subdir) with rm before using rm -rf.
* configure.in (FLAGS_FOR_TARGET, CC_FOR_TARGET, GCJ_FOR_TARGET,
GFORTRAN_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET): Use
$(HOST_SUBDIR). Create a symlink for host_subdir.
* Makefile.in: Regenerate.
* configure: Regenerate.
Merged from libada-gnattools-branch:
2004-11-28 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.def: Add gnattools as a module, depending on target-libada.
* Makefile.in: Regenerate.
* configure.in: Include gnattools in host_tools; disable it if ada
is disabled.
* configure: Regenerate.
config:
2005-02-28 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/17383
* acx.m4 (GCC_TOPLEV_SUBDIRS): Set HOST_SUBDIR if an in-src
gcc build is going.
PR bootstrap/17383
* Makefile.def (target_modules): Remove stage parameter,
it is always true now.
* Makefile.tpl (configure-build-[+module+],
configure-target-[+module+]): Always build symlink tree
for the directory and for include. BUILD_SUBDIR and
TARGET_SUBDIR cannot be . anymore.
* Makefile.in: Regenerate.
* configure.in: Remove all instances of build-fixincludes from
noconfigdirs.
(build_configargs): Supply --target to subdirectories.
* configure: Regenerate.
* Makefile.def: Make gcc install depend on fixincludes install.
* Makefile.in: Regenerate.
* 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.
* configure.in: Add noconfigdirs for crx-*-*.
* configure: Regenerate.
2004-07-09 Loren J. Rittle <ljrittle@acm.org>
* configure.in: Build libmudflap by default on FreeBSD.
* configure: Regenerated.
2004-07-09 Mark Mitchell <mark@codesourcery.com>
* configure.in: Do not build libmudflap by default on non-GNU/Linux
systems.
* configure: Regenerated.
2004-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/16344
* Makefile.tpl (profiledbootstrap): Build runtime libraries with
feedback based compiler.
* Makefile.in: Rebuilt.
2004-07-05 Phil Edwards <phil@codesourcery.com>
* configure.in: Do not prepend $srcdir to /dev/null in
makefile fragments.
* configure: Regenerate.
* 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.
(STAGE_HOST_EXPORTS, BASE_TARGET_EXPORTS, RAW_CXX_TARGET_EXPORTS)
(NORMAL_TARGET_EXPORTS): New macros. Use them in all the recursive
targets.
* Makefile.in: Regenerate.
* Makefile.tpl: Whenever a recursive target is defined, wrap
it in a special @if/@endif block, and prepare its maybe
dependency in the @if/@endif block
* configure.in: Instead of writing maybe dependencies, remove
the @if/@endif statements, and remove the @if/@endif blocks
that remain.
* configure: Regenerate.
* Makefile.in: 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.
PR bootstrap/14871
* Makefile.tpl: If we don't have built-in-tree target tools,
use the ones found by configure rather than hacking around with
program_transform_name.
* configure.in: Give Makefile.tpl the information necessary
to do that.
* Makefile.in: Regenerate.
* configure: Regenerate.
2004-04-06 Nathanael Nerode <neroden@gcc.gnu.org>
PR bootstrap/14760
* configure.in: When computing baseargs, strip *all* copies of
offending options. Also, don't match/substitute the trailing space,
so that this actually works when two similar options are separated by
only one space.
* configure: Regenerate.
2004-04-06 David Edelsohn <edelsohn@gnu.org>
* configure.in (powerpc-*-aix*): Remove target-libada from noconfigdirs.
(rs6000-*-aix*): Same.
* configure: Regenerate.
to set @stage2_werror_flag@.
* configure: Regenerate.
* Makefile.tpl (top level bootstrap support): Pass
@stage2_werror_flag@ down to configure in stages 2 and 3.
* Makefile.in: Regenerate.
* Makefile.tpl (new-bootstrap): Set CC and CC_FOR_BUILD in configure
for stages 2 and 3 as well as in make. As a consequence, remove
OUTPUT_OPTION (now detected by configure) from the flags passed down
to make.
* Makefile.in: Regenerate.
* Makefile.tpl (new-bootstrap): Fix typo.
* Makefile.in: Regenerate.
into their proper sections.
* Makefile.tpl (top level bootstrap support): Move disabling
of coverage flags from 'make' to 'configure'; improve comments.
* Makefile.in: Regenerate.
* Makefile.tpl (experimental top level bootstrap) Move stage1
language setting from all- target to configure- target; disable
intermodule optimization in stage 1; prevent gratuitous rebuilds
of stage 1.
* Makefile.in: Regenerate.
* configure.in: Comma-separate stage 1 language list for top
level bootstrap.
* configure: Regenerate.
* Makefile.tpl: Clean up experimental top level bootstrap support:
note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
prev-gcc in configure- targets as well as all- targets.
* Makefile.in: Regenerate.
* configure.in: Switch more things to use maybe dependencies.
* Makefile.tpl: Switch more things to use maybe dependencies.
Factor out common code from autogen IF statements.
* configure: Regenerate.
* Makefile.in: Regenerate.
* configure.in: Switch more things to use maybe dependencies.
Rearrange a little. Use GCC_TOPLEV_SUBDIRS.
* configure: Regenerate.
* Makefile.tpl: Switch more things to use maybe dependencies.
* Makefile.in: Regenerate.
<config>
* config/acx.m4: Introduce _GCC_TOPLEV_NONCANONICAL_BUILD,
_GCC_TOPLEV_NONCANOICAL_HOST, _GCC_TOPLEV_NONCANONICAL_TARGET,
GCC_TOPLEV_SUBDIRS.
(multilib.ts): ... this. Moved into...
(multilib.out): ... this. Don't use sub-make.
($(BUILD_SUBDIR)/[+module+]/Makefile, [+module+]/Makefile,
$(TARGET_SUBDIR)/[+module+]/Makefile, gcc/Makefile): Moved into...
(configure-build-[+module+], configure-[+module+],
configure-target-[+module+], configure-gcc): ... these. Test
for Makefile existence. Drop config.status from dependencies.
* Makefile.in: Rebuilt.
* configure.in: Move gcc-version-trigger to the end of
ac_configure_args. Add comments to maybedep.tmp and
serdep.tmp. Introduce --disable-serial-configure. Remove
nonopt from baseargs, matching and removing corresponding
whitespace while at it.
* configure: Rebuilt.
program_transform_name to standard idiom.
(AUTOGEN, AUTOCONF): Define.
(Makefile.in): Use $(AUTOGEN).
(Makefile): Depend on config.status, and use autoconf-style rule to
build it. Move original commands to...
(config.status): ... this new target.
(configure): Add $(srcdir). Depend on config/acx.m4. Use
$(AUTOCONF).
* Makefile.in: Rebuilt.
* Makefile.tpl: Change dependency for */multilib.out so that
it works when gcc isn't in the tree.
* configure.in: Substitute more.
* configure: Run subconfigures from the Makefile.
* Makefile.tpl: Run subconfigures from the Makefile; add a few
convenience targets. Make sure gcc isn't rebuilt after bootstrap.
* configure.in: ...to here.
* configure.in: Separate subconfigure options added by this file from
options given by the user. Add machinery to put args for host
subconfigures into the Makefile.
* Makefile.tpl: Remove 'vault' targets.
* Makefile.tpl: Reorder and comment dependencies.
* Makefile.in: Regenerate.
(Continuing slow-motion replay)
* configure: More autoconf-style substitutions.
* Makefile.tpl: More autoconf-style substitutions.
* Makefile.in: Regenerate.
2002-11-30 Nathanael Nerode <neroden@gcc.gnu.org>
(Continuing slow-motion replay)
* configure: Substitute more variables in a more autoconf-friendly
way. Simplify slightly.
* Makefile.tpl: Make more variables substitutable in an
autoconf-friendly way.
* Makefile.in: Regenerate.
(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.tpl: Make SET_LIB_PATH substitution more autoconfy.
* Makefile.tpl: Make RPATH_ENVVAR substitution more autoconfy.
* configure.in: Make SET_LIB_PATH substitution more autoconfy.
* configure.in: Make RPATH_ENVVAR substitution more autoconfy.
* Makefile.in: Regenerate.
* Makefile.tpl: Make more autoconf-friendly.
* Makefile.in: Regenerate.
* configure: Make substitution more autoconf-like.
2002-09-28 Richard Earnshaw <rearnsha@arm.com>
* configure.in (arm-*-coff, strongarm-*-coff, xscale-*-coff): Use a
single entry to handle all these.
(arm-*-elf, strongarm-*-elf, xscale-*-elf): Likewise. Also enable
libjava on arm-*-elf.
* Makefile.def: New file.
* Makefile.tpl: New file.
* Makefile.in: Generate from Makefile.tpl with 'autogen Makefile.def'.
* configure.in: Minor rearrangement. Simplify tests.
(do-tar, do-bz2): New rules.
(taz): Update. Replace do-tar-bz2 with do-tar and do-bz2.
(gdb-tar): New rule.
(gdb-taz): Rewrite. Use gdb-tar and do-bz2.
(insight_dejagnu.tar): New rule.
(insight.tar): New rule.
(gdb+dejagnu.tar): New rule.
(gdb.tar): New rule.
* Makefile.in (TARGET_CONFIGARGS, BUILD_CONFIGARGS): Replace
CONFIG_ARGUMENTS.
(ALL_BUILD_MODULES_LIST, BUILD_CONFIGDIRS, BUILD_SUBDIR):
New variables.
(ALL_BUILD_MODULES, CONFIGURE_BUILD_MODULES): New variables
and rules.
(all.normal): Depend on ALL_BUILD_MODULES.
(CONFIGURE_TARGET_MODULES rule): Use TARGET_CONFIGARGS.
(all-build-libiberty): Depend on configure-build-libiberty.
* configure: Calculate and substitute proper value for
ALL_BUILD_MODULES.
* configure.in: Create the build subdirectory.
Calculate and substitute TARGET_CONFIGARGS (formerly
CONFIG_ARGUMENTS); also BUILD_SUBDIR and BUILD_CONFIGARGS (new).
DLLTOOL_FOR_TARGET, WINDRES_FOR_TARGET, AR_FOR_TARGET,
RANLIB_FOR_TARGET, NM_FOR_TARGET): Don't use double quotes to
avoid quotes nesting problems.
(NATIVE_CHECK_MODULES): Ditto, just for consistency.
(DO_X): Export only variables that are set.
(ALL_GCC_C, ALL_GCC_CXX): New macros. Use them as dependencies of
configure-target-<library> when their configure scripts need the C
or C++ library to have already been built to work properly.
(do_proto_toplev): Set them to an empty string.
(CROSS_CHECK_MODULES,INSTALL_MODULES,CLEAN_MODULES): Similarily.
(all-cgen): New target.
(all-opcodes,all-sim): Depend on all-cgen.
* configure.in (host_tools): Add cgen.
Only configure cgen if --enable-cgen-maint.
(GCC_FOR_TARGET): Use it.
(CC_FOR_TARGET, CXX_FOR_TARGET, CHILL_FOR_TARGET): Now defined...
* configure.in: ... here.
(FLAGS_FOR_TARGET): Define. Add ld build dir to -L path.
(libstdcxx_flags): Define and append to CXX_FOR_TARGET.
* configure: Revert changes made on May 18 and May 19.
* Makefile.in (CC_FOR_TARGET): Make sure as/ld in the gcc
directory are used if they exist. Make sure
$(build_tooldir)/include is searched for header files,
$(build_tooldir)/lib/ for library files.
(GCC_FOR_TARGET): Likewise.
(CXX_FOR_TARGET): Likewise.
(do-md5sum): New target.
(MD5PROG): Define.
(PACKAGE): Default to TOOL.
(VER): Default to a shell script.
(taz): Rewrite target. Move real work to do-proto-toplev. Include
md5 checksum generation.
(do-proto-toplev): New target. Create $(PACKAGE)-$(VER) link.
(do-tar-bz2): Delete creation of $(PACKAGE)-$(VER) link.
(gdb.tar.bz2, dejagnu.tar.bz2, gdb+dejagnu.tar.bz2,
insight.tar.bz2): Use gdb-taz to create archive.