c-ppoutput.c, [...]: Update copyright.
gcc/
* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
config/m32r/linux.h, config/rs6000/ppc64-fp.c,
config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
Update copyright.
cp/
* rtti.c: Update copyright.
From-SVN: r77449
2004-02-07 15:14:54 +01:00
|
|
|
@c Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
2001-11-12 16:46:48 +01:00
|
|
|
@c This is part of the GCC manual.
|
|
|
|
@c For copying conditions, see the file gcc.texi.
|
|
|
|
|
|
|
|
@node Makefile
|
2002-01-10 17:04:23 +01:00
|
|
|
@subsection Makefile Targets
|
2001-11-12 16:46:48 +01:00
|
|
|
@cindex makefile targets
|
|
|
|
@cindex targets, makefile
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
These targets are available from the @samp{gcc} directory:
|
|
|
|
|
2001-11-12 16:46:48 +01:00
|
|
|
@table @code
|
|
|
|
@item all
|
|
|
|
This is the default target. Depending on what your build/host/target
|
|
|
|
configuration is, it coordinates all the things that need to be built.
|
|
|
|
|
|
|
|
@item doc
|
2004-02-06 02:14:32 +01:00
|
|
|
Produce info-formatted documentation and man pages. Essentially it
|
|
|
|
calls @samp{make man} and @samp{make info}.
|
|
|
|
|
|
|
|
@item dvi
|
|
|
|
Produce DVI-formatted documentation.
|
|
|
|
|
2004-11-13 08:35:55 +01:00
|
|
|
@item html
|
|
|
|
Produce HTML-formatted documentation.
|
|
|
|
|
2004-02-06 02:14:32 +01:00
|
|
|
@item man
|
|
|
|
Generate man pages.
|
|
|
|
|
|
|
|
@item info
|
|
|
|
Generate info-formatted pages.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
|
|
|
@item mostlyclean
|
|
|
|
Delete the files made while building the compiler.
|
|
|
|
|
|
|
|
@item clean
|
2003-04-08 08:39:15 +02:00
|
|
|
That, and all the other files built by @samp{make all}.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
|
|
|
@item distclean
|
2003-04-08 08:39:15 +02:00
|
|
|
That, and all the files created by @command{configure}.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
|
|
|
@item maintainer-clean
|
|
|
|
Distclean plus any file that can be generated from other files. Note
|
|
|
|
that additional tools may be required beyond what is normally needed to
|
|
|
|
build gcc.
|
|
|
|
|
2004-02-06 02:14:32 +01:00
|
|
|
@item srcextra
|
|
|
|
Generates files in the source directory that do not exist in CVS but
|
2004-11-04 17:11:30 +01:00
|
|
|
should go into a release tarball. One example is @file{gcc/java/parse.c}
|
|
|
|
which is generated from the CVS source file @file{gcc/java/parse.y}.
|
2004-02-06 02:14:32 +01:00
|
|
|
|
|
|
|
@item srcinfo
|
|
|
|
@itemx srcman
|
|
|
|
Copies the info-formatted and manpage documentation into the source
|
|
|
|
directory usually for the purpose of generating a release tarball.
|
|
|
|
|
2001-11-12 16:46:48 +01:00
|
|
|
@item install
|
|
|
|
Installs gcc.
|
|
|
|
|
|
|
|
@item uninstall
|
|
|
|
Deletes installed files.
|
|
|
|
|
|
|
|
@item check
|
|
|
|
Run the testsuite. This creates a @file{testsuite} subdirectory that
|
|
|
|
has various @file{.sum} and @file{.log} files containing the results of
|
2003-04-08 08:39:15 +02:00
|
|
|
the testing. You can run subsets with, for example, @samp{make check-gcc}.
|
2001-11-12 16:46:48 +01:00
|
|
|
You can specify specific tests by setting RUNTESTFLAGS to be the name
|
|
|
|
of the @file{.exp} file, optionally followed by (for some tests) an equals
|
|
|
|
and a file wildcard, like:
|
|
|
|
|
2002-09-04 19:35:59 +02:00
|
|
|
@smallexample
|
2001-11-12 16:46:48 +01:00
|
|
|
make check-gcc RUNTESTFLAGS="execute.exp=19980413-*"
|
2002-09-04 19:35:59 +02:00
|
|
|
@end smallexample
|
2001-11-12 16:46:48 +01:00
|
|
|
|
|
|
|
Note that running the testsuite may require additional tools be
|
|
|
|
installed, such as TCL or dejagnu.
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@end table
|
2001-11-12 16:46:48 +01:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
The toplevel tree from which you start GCC compilation is not
|
|
|
|
the GCC directory, but rather a complex Makefile that coordinates
|
|
|
|
the various steps of the build, including bootstrapping the compiler
|
|
|
|
and using the new compiler to build target libraries.
|
|
|
|
|
|
|
|
When GCC is configured for a native configuration, the default action
|
|
|
|
for @command{make} is to do a full three-stage bootstrap. This means
|
|
|
|
that GCC is built three times---once with the native compiler, once with
|
|
|
|
the native-built compiler it just built, and once with the compiler it
|
|
|
|
built the second time. In theory, the last two should produce the same
|
|
|
|
results, which @samp{make compare} can check. Each stage is configured
|
|
|
|
separately and compiled into a separate directory, to minimize problems
|
|
|
|
due to ABI incompatibilities between the native compiler and GCC.
|
|
|
|
|
|
|
|
If you do a change, rebuilding will also start from the first stage
|
|
|
|
and ``bubble'' up the change through the three stages. Each stage
|
|
|
|
is taken from its build directory (if it had been built previously),
|
|
|
|
rebuilt, and copied to its subdirectory. This will allow you to, for
|
|
|
|
example, continue a bootstrap after fixing a bug which causes the
|
|
|
|
stage2 build to crash. It does not provide as good coverage of the
|
|
|
|
compiler as bootstrapping from scratch, but it ensures that the new
|
|
|
|
code is syntactically correct (e.g. that you did not use GCC extensions
|
|
|
|
by mistake), and avoids spurious bootstrap comparison
|
|
|
|
failures@footnote{Except if the compiler was buggy and miscompiled
|
|
|
|
some of the files that were not modified. In this case, it's best
|
|
|
|
to use @command{make restrap}.}.
|
|
|
|
|
|
|
|
Other targets available from the top level include:
|
2001-11-12 16:46:48 +01:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@table @code
|
2001-11-12 16:46:48 +01:00
|
|
|
@item bootstrap-lean
|
|
|
|
Like @code{bootstrap}, except that the various stages are removed once
|
|
|
|
they're no longer needed. This saves disk space.
|
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@item bootstrap2
|
|
|
|
@itemx bootstrap2-lean
|
|
|
|
Performs only the first two stages of bootstrap. Unlike a three-stage
|
|
|
|
bootstrap, this does not perform a comparison to test that the compiler
|
|
|
|
is running properly. Note that the disk space required by a ``lean''
|
|
|
|
bootstrap is approximately independent of the number of stages.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@item stage@var{N}-bubble (@var{N} = 1@dots{}4)
|
|
|
|
Rebuild all the stages up to @var{N}, with the appropriate flags,
|
|
|
|
``bubbling'' the changes as described above.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@item all-stage@var{N} (@var{N} = 1@dots{}4)
|
|
|
|
Assuming that stage @var{N} has already been built, rebuild it with the
|
|
|
|
appropriate flags. This is rarely needed.
|
2001-11-12 16:46:48 +01:00
|
|
|
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
@item cleanstrap
|
|
|
|
Remove everything (@samp{make clean}) and rebuilds (@samp{make bootstrap}).
|
2001-11-12 16:46:48 +01:00
|
|
|
|
|
|
|
@item compare
|
|
|
|
Compares the results of stages 2 and 3. This ensures that the compiler
|
|
|
|
is running properly, since it should produce the same object files
|
|
|
|
regardless of how it itself was compiled.
|
|
|
|
|
2003-07-20 00:00:19 +02:00
|
|
|
@item profiledbootstrap
|
|
|
|
Builds a compiler with profiling feedback information. For more
|
|
|
|
information, see
|
|
|
|
@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
|
|
|
|
@item restrap
|
|
|
|
Restart a bootstrap, so that everything that was not built with
|
|
|
|
the system compiler is rebuilt.
|
|
|
|
|
|
|
|
@item stage@var{N}-start (@var{N} = 1@dots{}4)
|
|
|
|
For each package that is bootstrapped, rename directories so that,
|
|
|
|
for example, @file{gcc} points to the stage@var{N} GCC, compiled
|
|
|
|
with the stage@var{N-1} GCC@footnote{Customarily, the system compiler
|
|
|
|
is also termed the @file{stage0} GCC.}.
|
|
|
|
|
|
|
|
You will invoke this target if you need to test or debug the
|
|
|
|
stage@var{N} GCC. If you only need to execute GCC (but you need
|
|
|
|
not run @samp{make} either to rebuild it or to run test suites),
|
|
|
|
you should be able to work directly in the @file{stage@var{N}-gcc}
|
|
|
|
directory. This makes it easier to debug multiple stages in
|
|
|
|
parallel.
|
|
|
|
|
|
|
|
@item stage
|
|
|
|
For each package that is bootstrapped, relocate its build directory
|
|
|
|
to indicate its stage. For example, if the @file{gcc} directory
|
|
|
|
points to the stage2 GCC, after invoking this target it will be
|
|
|
|
renamed to @file{stage2-gcc}.
|
2003-07-20 00:00:19 +02:00
|
|
|
|
2001-11-12 16:46:48 +01:00
|
|
|
@end table
|
re PR bootstrap/25670 (build fail with 'make all-gcc')
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25670
* Makefile.tpl ([+compare-target+]): Print explanation messages.
* Makefile.def (ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES): New flags_to_pass.
* Makefile.tpl (BASE_FLAGS_TO_PASS): Support optional flags_to_pass.
(EXTRA_GCC_FLAGS): Remove ADAFLAGS, BOOT_ADAFLAGS, LANGUAGES,
BUILD_PREFIX, BUILD_PREFIX_1.
* configure.in: (BUILD_PREFIX, BUILD_PREFIX_1): Don't substitute.
* Makefile.def (bootstrap stage 1): Pass LIBCFLAGS too.
* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Override LIBCFLAGS too.
* 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.
* configure: Regenerate.
gcc:
2006-02-20 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/25476
* Makefile.in (LDFLAGS): Define from autoconf substitution.
* Makefile.in (BOOTSTRAPPING): New.
(quickstrap): New definition if BOOTSTRAPPING=yes.
* Makefile.in (CONFIG_LANGUAGES): Substitute all_selected_languages.
* configure.ac: Substitute all_selected_languages with the languages
that were configured. For all the other variables except
lang_specs_files, include all the languages in the tree.
* configure: Regenerate.
* Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory,
if there is one. Run the commands to run fixincludes in the same
subshell.
* doc/makefile.texi: Document new makefile targets from toplevel bootstrap.
* doc/install.texi: Document exact conventions for searching target tools.
Document --with-build-time-tools. Document toplevel bootstrap. Document
something more about building an Ada cross-compiler. Don't list GNU Make
requirements which affect all platforms.
From-SVN: r111295
2006-02-20 09:29:17 +01:00
|
|
|
|
|
|
|
If you wish to use non-default GCC flags when compiling the stage2 and
|
|
|
|
stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing
|
|
|
|
@samp{make}.
|
|
|
|
|
|
|
|
Usually, the first stage only builds the languages that the compiler
|
|
|
|
is written in: typically, C and maybe Ada. If you are debugging a
|
|
|
|
miscompilation of a different stage2 front-end (for example, of the
|
|
|
|
Fortran front-end), you may want to have front-ends for other languages
|
|
|
|
in the first stage as well. To do so, set @code{STAGE1_LANGUAGES}
|
|
|
|
on the command line when doing @samp{make}.
|
|
|
|
|
|
|
|
For example, in the aforementioned scenario of debugging a Fortran
|
|
|
|
front-end miscompilation caused by the stage1 compiler, you may need a
|
|
|
|
command like
|
|
|
|
|
|
|
|
@example
|
|
|
|
make stage2-bubble STAGE1_LANGUAGES=c,fortran
|
|
|
|
@end example
|
|
|
|
|
|
|
|
Alternatively, you can use per-language targets to build and test
|
|
|
|
languages that are not enabled by default in stage1. For example,
|
|
|
|
@command{make f951} will build a Fortran compiler even in the stage1
|
|
|
|
build directory.
|
|
|
|
|