Commit 8b1f719a by Paolo Bonzini Committed by Paolo Bonzini

configure.ac (strict1_warn): Rename to strict_warn.

2007-01-11  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac (strict1_warn): Rename to strict_warn.
	(WERROR, --enable-werror, symlink hacks, stage1_cflags,
	cc_set_by_configure, quoted_cc_set_by_configure,
	stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
	all_boot_languages, all_stagestuff): Remove.
	(target_list): Remove bootstrap targets.
	* Makefile.in (quickstrap): Unconditionally make a synonym of all.
	(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
	REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
	SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
	VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
	STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
	stage1_copy, stage2_build, stage2_copy, stageprofile_build,
	stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
	stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
	bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
	bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
	unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
	restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
	cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
	*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
	stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
	stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
	risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
	(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
	(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
	(mostlyclean): Adjust.
	(clean, distclean): Don't mention bootstrap stuff.
	* configure: Regenerate.
	* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
	java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
	treelang/config-lang.in (stagestuff): Remove.
	* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
	stageprofile, stagefeedback, stagestuff): Remove mention.

From-SVN: r120670
parent 6e3a343d
2007-01-11 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (strict1_warn): Rename to strict_warn.
(WERROR, --enable-werror, symlink hacks, stage1_cflags,
cc_set_by_configure, quoted_cc_set_by_configure,
stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
all_boot_languages, all_stagestuff): Remove.
(target_list): Remove bootstrap targets.
* Makefile.in (quickstrap): Unconditionally make a synonym of all.
(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
stage1_copy, stage2_build, stage2_copy, stageprofile_build,
stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
(mostlyclean): Adjust.
(clean, distclean): Don't mention bootstrap stuff.
* configure: Regenerate.
* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
treelang/config-lang.in (stagestuff): Remove.
* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
stageprofile, stagefeedback, stagestuff): Remove mention.
2007-01-11 Nick Clifton <nickc@redhat.com> 2007-01-11 Nick Clifton <nickc@redhat.com>
* config/mcore/predicates.md (mcore_general_movesrc_operand): * config/mcore/predicates.md (mcore_general_movesrc_operand):
......
...@@ -24,14 +24,17 @@ ...@@ -24,14 +24,17 @@
# The targets for external use include: # The targets for external use include:
# all, doc, proto, install, install-cross, install-cross-rest, # all, doc, proto, install, install-cross, install-cross-rest,
# uninstall, TAGS, mostlyclean, clean, distclean, maintainer-clean, # uninstall, TAGS, mostlyclean, clean, distclean, maintainer-clean.
# stage1, stage2, stage3, stage4.
# This is the default target. # This is the default target.
# Set by autoconf to "all.internal" for a native build, or # Set by autoconf to "all.internal" for a native build, or
# "all.cross" to build a cross compiler. # "all.cross" to build a cross compiler.
all: @ALL@ all: @ALL@
# Provide quickstrap as a target that people can type into the gcc directory,
# and that fails if you're not into it.
quickstrap: all
# Depend on this to specify a phony target portably. # Depend on this to specify a phony target portably.
force: force:
...@@ -136,27 +139,14 @@ SUBDIRS =@subdirs@ build ...@@ -136,27 +139,14 @@ SUBDIRS =@subdirs@ build
CONFIG_LANGUAGES = @all_selected_languages@ CONFIG_LANGUAGES = @all_selected_languages@
LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES) LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
# Selection of languages to be made during stage1 build.
BOOT_LANGUAGES = c @all_boot_languages@
# Various ways of specifying flags for compilations: # Various ways of specifying flags for compilations:
# CFLAGS is for the user to override to, e.g., do a cross build with -O2. # CFLAGS is for the user to override to, e.g., do a cross build with -O2.
# For recursive bootstrap builds CFLAGS is used to pass in STAGE1_CFLAGS
# or BOOT_CFLAGS
# STAGE1_CFLAGS is set by configure on some targets or passed from toplevel
# and sets the CFLAGS passed to stage1 of a bootstrap compilation.
# STAGE1_CHECKING enables checking for the stage1 compiler
# BOOT_CFLAGS is the value of CFLAGS to pass to the stage2, stage3 and stage4
# bootstrap compilations.
# XCFLAGS is used for most compilations but not when using the GCC just built. # XCFLAGS is used for most compilations but not when using the GCC just built.
# TCFLAGS is used for compilations with the GCC just built. # TCFLAGS is used for compilations with the GCC just built.
XCFLAGS = XCFLAGS =
TCFLAGS = TCFLAGS =
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
STAGE1_CFLAGS = -g @stage1_cflags@
STAGE1_CHECKING_CFLAGS = -DENABLE_CHECKING -DENABLE_ASSERT_CHECKING
BOOT_CFLAGS = -g -O2
# Flags to determine code coverage. When coverage is disabled, this will # Flags to determine code coverage. When coverage is disabled, this will
# contain the optimization flags, as you normally want code coverage # contain the optimization flags, as you normally want code coverage
...@@ -164,7 +154,7 @@ BOOT_CFLAGS = -g -O2 ...@@ -164,7 +154,7 @@ BOOT_CFLAGS = -g -O2
COVERAGE_FLAGS = @coverage_flags@ COVERAGE_FLAGS = @coverage_flags@
coverageexts = .{gcda,gcno} coverageexts = .{gcda,gcno}
# The warning flags are separate from BOOT_CFLAGS because people tend to # The warning flags are separate from CFLAGS because people tend to
# override optimization flags and we'd like them to still have warnings # override optimization flags and we'd like them to still have warnings
# turned on. These flags are also used to pass other stage dependent # turned on. These flags are also used to pass other stage dependent
# flags from configure. The user is free to explicitly turn these flags # flags from configure. The user is free to explicitly turn these flags
...@@ -172,18 +162,12 @@ coverageexts = .{gcda,gcno} ...@@ -172,18 +162,12 @@ coverageexts = .{gcda,gcno}
# LOOSE_WARN are the warning flags to use when compiling something # LOOSE_WARN are the warning flags to use when compiling something
# which is only compiled with gcc, such as libgcc and the frontends # which is only compiled with gcc, such as libgcc and the frontends
# other than C. # other than C.
# STRICT_WARN and STRICT2_WARN are the additional warning flags to # STRICT_WARN are the additional warning flags to
# apply to the back end and the C front end, which may be compiled # apply to the back end and the C front end, which may be compiled
# with other compilers. This is partially controlled by configure in # with other compilers.
# stage1, as not all versions of gcc understand -Wno-long-long or
# -Wno-variadic-macros.
# CXX_COMPAT_WARN are C++ source compatibility warnings. # CXX_COMPAT_WARN are C++ source compatibility warnings.
LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
STRICT_WARN = @strict1_warn@ STRICT_WARN = @strict_warn@
WERROR_FLAGS = @WERROR@
STRICT2_WARN = -pedantic -Wno-long-long -Wno-variadic-macros \
-Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute \
$(WERROR_FLAGS)
CXX_COMPAT_WARN = @cxx_compat_warn@ CXX_COMPAT_WARN = @cxx_compat_warn@
# This is set by --enable-checking. The idea is to catch forgotten # This is set by --enable-checking. The idea is to catch forgotten
...@@ -279,7 +263,6 @@ STAMP = echo timestamp > ...@@ -279,7 +263,6 @@ STAMP = echo timestamp >
# Make sure the $(MAKE) variable is defined. # Make sure the $(MAKE) variable is defined.
@SET_MAKE@ @SET_MAKE@
REMAKEFLAGS=LANGUAGES="$(LANGUAGES)" BOOT_CFLAGS="$(BOOT_CFLAGS)"
# Locate mkinstalldirs. # Locate mkinstalldirs.
mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs mkinstalldirs=$(SHELL) $(srcdir)/../mkinstalldirs
...@@ -874,12 +857,9 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \ ...@@ -874,12 +857,9 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
LANG_MAKEFRAGS = @all_lang_makefrags@ LANG_MAKEFRAGS = @all_lang_makefrags@
LANG_MAKEFILES = @all_lang_makefiles@ LANG_MAKEFILES = @all_lang_makefiles@
LANG_STAGESTUFF = @all_stagestuff@
# Flags to pass to recursive makes. # Flags to pass to recursive makes.
# CC is set by configure. Hosts without symlinks need special handling # CC is set by configure.
# because we need CC="stage1/xgcc -Bstage1/" to work in the language
# subdirectories.
# ??? The choices here will need some experimenting with. # ??? The choices here will need some experimenting with.
export AR_FOR_TARGET export AR_FOR_TARGET
...@@ -901,7 +881,7 @@ export RANLIB_FOR_TARGET ...@@ -901,7 +881,7 @@ export RANLIB_FOR_TARGET
export libsubdir export libsubdir
export slibdir export slibdir
ORDINARY_FLAGS_TO_PASS = \ FLAGS_TO_PASS = \
"BISON=$(BISON)" \ "BISON=$(BISON)" \
"BISONFLAGS=$(BISONFLAGS)" \ "BISONFLAGS=$(BISONFLAGS)" \
"CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
...@@ -927,17 +907,6 @@ ORDINARY_FLAGS_TO_PASS = \ ...@@ -927,17 +907,6 @@ ORDINARY_FLAGS_TO_PASS = \
"libexecsubdir=$(libsubdir)" \ "libexecsubdir=$(libsubdir)" \
"datadir=$(datadir)" \ "datadir=$(datadir)" \
"localedir=$(localedir)" "localedir=$(localedir)"
FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) "CC=@cc_set_by_configure@" \
"STAGE_PREFIX=@stage_prefix_set_by_configure@"
PREPEND_DOTDOT_TO_RELATIVE_PATHS = sed \
-e 's|^ *[^ /][^ /]*/|%&|' \
-e 's| -B| -B%|g' \
-e 's|% *[^- /]|%&|g' \
-e 's|%% *|../|g' \
-e 's|%||g'
SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) \
"CC=`echo @quoted_cc_set_by_configure@ | $(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`" \
"STAGE_PREFIX=`echo @quoted_stage_prefix_set_by_configure@ | $(PREPEND_DOTDOT_TO_RELATIVE_PATHS)`"
# #
# Lists of files for various purposes. # Lists of files for various purposes.
...@@ -1024,23 +993,18 @@ OBJS-onestep = libbackend.o $(OBJS-archive) ...@@ -1024,23 +993,18 @@ OBJS-onestep = libbackend.o $(OBJS-archive)
BACKEND = main.o @TREEBROWSER@ libbackend.a $(CPPLIB) $(LIBDECNUMBER) BACKEND = main.o @TREEBROWSER@ libbackend.a $(CPPLIB) $(LIBDECNUMBER)
# Files to be copied after each stage in building. MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
STAGECOPYSTUFF = insn-flags.h insn-config.h insn-codes.h \
insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \ insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \
insn-attr.h insn-attrtab.c insn-opinit.c insn-preds.c insn-constants.h \ insn-attr.h insn-attrtab.c insn-opinit.c insn-preds.c insn-constants.h \
tm-preds.h tm-constrs.h \ tm-preds.h tm-constrs.h \
tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \ tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \
genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-gen.h genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-gen.h \
# Files to be moved away after each stage in building.
STAGEMOVESTUFF = *$(objext) s-* \
xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \ xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \
$(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
protoize$(exeext) unprotoize$(exeext) \ protoize$(exeext) unprotoize$(exeext) \
$(SPECS) collect2$(exeext) \ $(SPECS) collect2$(exeext) \
gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \ gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
*.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libgcc.mk \ *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libgcc.mk
$(LANG_STAGESTUFF)
# Defined in libgcc2.c, included only in the static library. # Defined in libgcc2.c, included only in the static library.
LIB2FUNCS_ST = _eprintf __gcc_bcmp LIB2FUNCS_ST = _eprintf __gcc_bcmp
...@@ -1102,7 +1066,6 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 ...@@ -1102,7 +1066,6 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
# install-common, install-info, install-man, # install-common, install-info, install-man,
# uninstall, # uninstall,
# mostlyclean, clean, distclean, maintainer-clean, # mostlyclean, clean, distclean, maintainer-clean,
# stage1, stage2, stage3, stage4
# #
# Each language is linked in with a series of hooks. The name of each # Each language is linked in with a series of hooks. The name of each
# hooked is "lang.${target_name}" (eg: lang.info). Configure computes # hooked is "lang.${target_name}" (eg: lang.info). Configure computes
...@@ -3525,7 +3488,7 @@ fsf-funding.pod: funding.texi ...@@ -3525,7 +3488,7 @@ fsf-funding.pod: funding.texi
# (less duplicated code). # (less duplicated code).
mostlyclean: lang.mostlyclean mostlyclean: lang.mostlyclean
-rm -f $(STAGECOPYSTUFF) $(STAGEMOVESTUFF) -rm -f $(MOSTLYCLEANFILES)
-rm -f *$(coverageexts) -rm -f *$(coverageexts)
# Delete build programs # Delete build programs
-rm -f build/* -rm -f build/*
...@@ -3581,11 +3544,6 @@ clean: mostlyclean lang.clean ...@@ -3581,11 +3544,6 @@ clean: mostlyclean lang.clean
else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \ else if [ "x$(MULTILIB_OPTIONS)" != x ] ; then \
rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \ rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
fi ; fi fi ; fi
-rm -fr stage1 stage2 stage3 stage4 stageprofile stagefeedback
# Delete stamps of bootstrap stages
-rm -f stage?_*
-rm -f clean?_*
-rm -f stage_last
# Delete all files that users would normally create # Delete all files that users would normally create
# while building and installing GCC. # while building and installing GCC.
...@@ -3596,7 +3554,6 @@ distclean: clean lang.distclean ...@@ -3596,7 +3554,6 @@ distclean: clean lang.distclean
-rm -f Make-lang Make-hooks Make-host Make-target -rm -f Make-lang Make-hooks Make-host Make-target
-rm -f Makefile *.oaux -rm -f Makefile *.oaux
-rm -f gthr-default.h -rm -f gthr-default.h
-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
-rm -f TAGS */TAGS -rm -f TAGS */TAGS
-rm -f *.asm -rm -f *.asm
-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak -rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
...@@ -4103,547 +4060,6 @@ TAGS: lang.tags ...@@ -4103,547 +4060,6 @@ TAGS: lang.tags
etags -o TAGS.sub *.y *.h *.c; \ etags -o TAGS.sub *.y *.h *.c; \
etags --include TAGS.sub $$incs) etags --include TAGS.sub $$incs)
# ------------------------------------------------------
# Bootstrap-related targets (not used during 'make all')
# ------------------------------------------------------
# A list of files to be destroyed during "lean" builds.
VOL_FILES=`echo $(BACKEND) $(OBJS) $(C_OBJS) *.c *.h gen*`
# Flags to pass to stage2 and later recursive makes. Note that the
# WARN_CFLAGS setting can't be to the expansion of GCC_WARN_CFLAGS in
# the context of the stage_x rule.
POSTSTAGE1_FLAGS_TO_PASS = \
ADAFLAGS="$(BOOT_ADAFLAGS)" \
CFLAGS="$(BOOT_CFLAGS)" \
LDFLAGS="$(BOOT_LDFLAGS)" \
WARN_CFLAGS="\$$(GCC_WARN_CFLAGS)" \
STRICT_WARN="$(STRICT2_WARN)" \
libdir=$(libdir) \
LANGUAGES="$(LANGUAGES)" \
MAKEINFO="$(MAKEINFO)" \
MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
MAKEOVERRIDES= \
OUTPUT_OPTION="-o \$$@"
STAGE2_FLAGS_TO_PASS = \
CFLAGS="$(BOOT_CFLAGS)" \
WERROR="$(WERROR_FLAGS)" \
STAGEPROFILE_FLAGS_TO_PASS = \
CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"
# Files never linked into the final executable produces warnings about missing
# profile.
STAGEFEEDBACK_FLAGS_TO_PASS = \
CFLAGS="$(BOOT_CFLAGS) -fprofile-use -freorder-blocks-and-partition"
# Only build the C compiler for stage1, because that is the only one that
# we can guarantee will build with the native compiler, and also it is the
# only thing useful for building stage2. STAGE1_CFLAGS (via CFLAGS),
# MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
# overrideable (for a bootstrap build stage1 also builds gcc.info).
# The stage1 compiler is always built with checking enabled.
stage1_build:
$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)" \
CFLAGS="$(STAGE1_CFLAGS) $(STAGE1_CHECKING_CFLAGS)" \
MAKEINFO="$(MAKEINFO)" MAKEINFOFLAGS="$(MAKEINFOFLAGS)" \
COVERAGE_FLAGS= OBJS-onestep="$(OBJS)"
$(STAMP) stage1_build
echo stage1_build > stage_last
stage1_copy: stage1_build
$(MAKE) stage1
$(STAMP) stage1_copy
echo stage2_build > stage_last
stage2_build: stage1_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage1/ \
$(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage2_build
echo stage2_build > stage_last
stage2_copy: stage2_build
$(MAKE) stage2
$(STAMP) stage2_copy
echo stage3_build > stage_last
stageprofile_build: stage1_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage1/ \
$(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGEPROFILE_FLAGS_TO_PASS)
$(STAMP) stageprofile_build
echo stageprofile_build > stage_last
stageprofile_copy: stageprofile_build
$(MAKE) stageprofile
$(STAMP) stageprofile_copy
echo stagefeedback_build > stage_last
stage3_build: stage2_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage2/ \
$(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage3_build
echo stage3_build > stage_last
stagefeedback_build: stageprofile_copy stage1_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage1/ \
$(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGEFEEDBACK_FLAGS_TO_PASS)
$(STAMP) stagefeedback_build
echo stagefeedback_build > stage_last
stagefeedback_copy: stagefeedback_build
$(MAKE) stagefeedback
$(STAMP) stagefeedback_copy
echo stagefeedback2_build > stage_last
# For bootstrap4:
stage3_copy: stage3_build
$(MAKE) stage3
$(STAMP) stage3_copy
echo stage4_build > stage_last
stage4_build: stage3_copy
$(MAKE) CC="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" CC_FOR_BUILD="$(STAGE_CC_WRAPPER) stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=stage3/ \
$(POSTSTAGE1_FLAGS_TO_PASS) \
$(STAGE2_FLAGS_TO_PASS)
$(STAMP) stage4_build
echo stage4_build > stage_last
# Additional steps for *-lean targets:
clean_s1: stage1_copy
-(cd stage1 && rm -f $(VOL_FILES))
$(STAMP) clean_s1
clean_s2: stage2_copy
-rm -rf stage1
$(STAMP) clean_s2
# The various entry points for bootstrapping.
bootstrap: stage3_build
@echo
@echo Bootstrap complete - make \"quickstrap\" to redo last build,
@echo \"restage1\" through \"restage3\" to rebuild specific stages,
@echo \"restrap\" to redo the bootstrap from stage1, or
@echo \"cleanstrap\" to redo the bootstrap from scratch.
bootstrap-lean : clean_s1 clean_s2 stage3_build
@echo
@echo Bootstrap complete - make \"quickstrap\" to redo last build,
@echo or \"cleanstrap\" to redo the bootstrap from scratch.
bootstrap2: bootstrap
bootstrap2-lean : bootstrap-lean
bootstrap3 bootstrap3-lean: bootstrap
bootstrap4 bootstrap4-lean: stage4_build
unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
rm -f $$stage/as$(exeext); \
rm -f $$stage/nm$(exeext); \
rm -f $$stage/collect-ld$(exeext); \
if test -d $$stage; then \
mv $$stage/specs $(SPECS) 2>/dev/null || :; \
mv $$stage/* . 2>/dev/null; \
for i in `cd $$stage; echo *` ; do \
if test -d $$stage/$$i; then \
mv $$stage/$$i/* $$i/. 2>/dev/null; \
else \
mv $$stage/$$i .; \
fi; \
done \
fi ; \
rm -f $${stage}_build $${stage}_copy ;\
echo $${stage}_build > stage_last
restage1: unstage1
$(MAKE) $(REMAKEFLAGS) stage1_build
restage2: unstage2
$(MAKE) $(REMAKEFLAGS) stage2_build
restage3: unstage3
$(MAKE) $(REMAKEFLAGS) stage3_build
restage4: unstage4
$(MAKE) $(REMAKEFLAGS) stage4_build
restageprofile: unstageprofile
$(MAKE) $(REMAKEFLAGS) stageprofile_build
restagefeedback: unstagefeedback
$(MAKE) $(REMAKEFLAGS) stagefeedback_build
# Bubble up a bugfix through all the stages. Primarily useful for fixing
# bugs that cause the compiler to crash while building stage 2.
bubblestrap:
if test -f stage_last; then \
LAST=`sed -e 's/_build//' < stage_last`; \
if test "$$LAST" != "stage1"; then \
$(MAKE) $(REMAKEFLAGS) $$LAST; \
$(STAMP) $${LAST}_copy; \
fi; \
fi
if test -f stage1_copy; then $(MAKE) unstage1; fi
$(MAKE) $(REMAKEFLAGS) stage1_copy
if test -f stage2_copy; then $(MAKE) unstage2; fi
$(MAKE) $(REMAKEFLAGS) stage2_copy
if test -f stage3_copy; then $(MAKE) unstage3; fi
$(MAKE) $(REMAKEFLAGS) stage3_build
if test -f stage4_copy; then \
$(MAKE) $(REMAKEFLAGS) stage3_copy; $(MAKE) unstage4; \
$(MAKE) $(REMAKEFLAGS) stage4_build || exit 1; \
fi
BOOTSTRAPPING := $(shell if test -f ../stage_last; then echo yes; else echo no; fi)
ifeq ($(BOOTSTRAPPING),yes)
# Provide quickstrap as a target that people can type into the gcc directory,
# and that fails if you're not into it.
quickstrap: all
else
quickstrap:
if test -f stage_last ; then \
LAST=`cat stage_last`; rm $$LAST; $(MAKE) $(REMAKEFLAGS) $$LAST; \
else \
$(MAKE) $(REMAKEFLAGS) stage1_build; \
fi
endif
cleanstrap:
-$(MAKE) clean
$(MAKE) $(REMAKEFLAGS) bootstrap
unstrap:
-rm -rf stage[234]*
$(MAKE) unstage1
-rm -f stage_last
# Differs from cleanstrap in that it starts from the earlier stage1 build,
# not from scratch.
restrap:
$(MAKE) unstrap
$(MAKE) $(REMAKEFLAGS) bootstrap
# These targets compare the object files in the current directory with
# those in a stage directory. We need to skip the first N bytes of
# each object file. The "slow" mechanism assumes nothing special
# about cmp and uses the tail command to skip. ./ avoids a bug in
# some versions of tail. The "gnu" targets use gnu cmp (diffutils
# v2.4 or later), to avoid running tail and the overhead of twice
# copying each object file. Likewise, the "fast" targets use the skip
# parameter of cmp available on some systems to accomplish the same
# thing. An exit status of 1 is precisely the result we're looking
# for (other values mean other problems).
slowcompare slowcompare3 slowcompare4 slowcompare-lean slowcompare3-lean slowcompare4-lean \
fastcompare fastcompare3 fastcompare4 fastcompare-lean fastcompare3-lean fastcompare4-lean \
gnucompare gnucompare3 gnucompare4 gnucompare-lean gnucompare3-lean gnucompare4-lean: force
-rm -f .bad_compare
case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
for dir in . $(SUBDIRS) libgcc; do \
if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
for file in $$dir/*$(objext); do \
case "$@" in \
slowcompare* ) \
if tail -c +1 </dev/null >/dev/null 2>&1; then \
skip16='-c +17'; \
else \
skip16='+17c'; \
fi; \
tail $$skip16 ./$$file > tmp-foo1; \
tail $$skip16 stage$$stage/$$file > tmp-foo2; \
cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1; \
cmpret=$$?; \
;; \
fastcompare* ) \
cmp $$file stage$$stage/$$file 16 16 > /dev/null 2>&1; \
cmpret=$$?; \
;; \
gnucompare* ) \
cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
cmpret=$$?; \
;; \
esac ; \
if test $$cmpret -eq 1; then \
case $$file in \
./cc*-checksum$(objext) | libgcc/* ) \
echo warning: $$file differs;; \
*) \
echo $$file differs >> .bad_compare;; \
esac ; \
fi; \
done; \
else true; fi; \
done
-rm -f tmp-foo*
case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
if [ -f .bad_compare ]; then \
echo "Bootstrap comparison failure!"; \
cat .bad_compare; \
exit 1; \
else \
case "$@" in \
*-lean ) rm -rf stage$$stage ;; \
*) ;; \
esac; true; \
fi
# Forwarding wrappers to the most appropriate version.
compare: @make_compare_target@
compare3: @make_compare_target@3
compare4: @make_compare_target@4
compare-lean: @make_compare_target@-lean
compare3-lean: @make_compare_target@3-lean
compare4-lean: @make_compare_target@4-lean
# Copy the object files from a particular stage into a subdirectory.
stage1-start:
-if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage1
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
done
-rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a
-rm -f stage1/libgcc_s*$(SHLIB_EXT)
-rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT)
# If SPECS is overridden, make sure it is `installed' as specs.
-mv $(SPECS) stage1/specs
-mv $(STAGEMOVESTUFF) stage1
-mv build/* stage1/build
-cp -p $(STAGECOPYSTUFF) stage1
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stage1 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-cp libgcc.a stage1
-$(RANLIB_FOR_TARGET) stage1/libgcc.a
-cp libgcov.a stage1
-$(RANLIB_FOR_TARGET) stage1/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage1; \
$(RANLIB_FOR_TARGET) stage1/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stage1
-cp libunwind.a libunwind*$(SHLIB_EXT) stage1
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stage1/$${f} . ; \
else true; \
fi; done
stage1: force stage1-start lang.stage1
-for dir in . $(SUBDIRS) ; \
do \
rm -f $$dir/*$(coverageexts) ; \
done
stage2-start:
-if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage2
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
done
-rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a
-rm -f stage2/libgcc_s*$(SHLIB_EXT)
-rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT)
# If SPECS is overridden, make sure it is `installed' as specs.
-mv $(SPECS) stage2/specs
-mv $(STAGEMOVESTUFF) stage2
-mv build/* stage2/build
-cp -p $(STAGECOPYSTUFF) stage2
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stage2 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-cp libgcc.a stage2
-$(RANLIB_FOR_TARGET) stage2/libgcc.a
-cp libgcov.a stage2
-$(RANLIB_FOR_TARGET) stage2/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage2; \
$(RANLIB_FOR_TARGET) stage2/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stage2
-cp libunwind.a libunwind*$(SHLIB_EXT) stage2
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stage2/$${f} . ; \
else true; \
fi; done
stage2: force stage2-start lang.stage2
stage3-start:
-if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage3
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
done
-rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a
-rm -f stage3/libgcc_s*$(SHLIB_EXT)
-rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT)
# If SPECS is overridden, make sure it is `installed' as specs.
-mv $(SPECS) stage3/specs
-mv $(STAGEMOVESTUFF) stage3
-mv build/* stage3/build
-cp -p $(STAGECOPYSTUFF) stage3
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stage3 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-cp libgcc.a stage3
-$(RANLIB_FOR_TARGET) stage3/libgcc.a
-cp libgcov.a stage3
-$(RANLIB_FOR_TARGET) stage3/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage3; \
$(RANLIB_FOR_TARGET) stage3/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stage3
-cp libunwind.a libunwind*$(SHLIB_EXT) stage3
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stage3/$${f} . ; \
else true; \
fi; done
stage3: force stage3-start lang.stage3
stage4-start:
-if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage4
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
done
-rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a
-rm -f stage4/libgcc_s*$(SHLIB_EXT)
-rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT)
# If SPECS is overridden, make sure it is `installed' as specs.
-mv $(SPECS) stage4/specs
-mv $(STAGEMOVESTUFF) stage4
-mv build/* stage4/build
-cp -p $(STAGECOPYSTUFF) stage4
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stage4 && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-cp libgcc.a stage4
-$(RANLIB_FOR_TARGET) stage4/libgcc.a
-cp libgcov.a stage4
-$(RANLIB_FOR_TARGET) stage4/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stage4; \
$(RANLIB_FOR_TARGET) stage4/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stage4
-cp libunwind.a libunwind*$(SHLIB_EXT) stage4
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stage4/$${f} . ; \
else true; \
fi; done
stage4: force stage4-start lang.stage4
stageprofile-start:
-if [ -d stageprofile ] ; then true ; else mkdir stageprofile ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stageprofile
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \
done
-rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
-rm -f stageprofile/libgcc_s*$(SHLIB_EXT)
-rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT)
-mv $(STAGEMOVESTUFF) stageprofile
-mv build/* stageprofile/build
-cp -p $(STAGECOPYSTUFF) stageprofile
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-cp libgcc.a stageprofile
-$(RANLIB_FOR_TARGET) stageprofile/libgcc.a
-cp libgcov.a stageprofile
-$(RANLIB_FOR_TARGET) stageprofile/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stageprofile; \
$(RANLIB_FOR_TARGET) stageprofile/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stageprofile
-cp libunwind.a libunwind*$(SHLIB_EXT) stageprofile
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stageprofile/$${f} . ; \
else true; \
fi; done
stageprofile: force stageprofile-start lang.stageprofile
stagefeedback-start:
-if [ -d stagefeedback ] ; then true ; else mkdir stagefeedback ; fi
$(MAKE) -f libgcc.mk libgcc-stage-start stage=stagefeedback
-subdirs="$(SUBDIRS)"; for dir in $$subdirs; \
do \
if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \
done
-rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
-rm -f stagefeedback/libgcc_s*$(SHLIB_EXT)
-rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT)
-rm -f *.da
-mv $(STAGEMOVESTUFF) stagefeedback
-mv build/* stagefeedback/build
-cp -p $(STAGECOPYSTUFF) stagefeedback
# Copy as/ld if they exist to stage dir, so that running xgcc from the stage
# dir will work properly.
-if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi
-if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi
-if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
-for dir in fixinc po testsuite $(SUBDIRS); \
do \
rm -f $$dir/*.da ; \
done
-cp libgcc.a stagefeedback
-$(RANLIB_FOR_TARGET) stagefeedback/libgcc.a
-cp libgcov.a stagefeedback
-$(RANLIB_FOR_TARGET) stagefeedback/libgcov.a
-if [ -f libgcc_eh.a ] ; then cp libgcc_eh.a stagefeedback; \
$(RANLIB_FOR_TARGET) stagefeedback/libgcc_eh.a; \
fi
-cp libgcc_s*$(SHLIB_EXT) stagefeedback
-cp libunwind.a libunwind*$(SHLIB_EXT) stagefeedback
-for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \
cp stagefeedback/$${f} . ; \
else true; \
fi; done
stagefeedback: force stagefeedback-start lang.stagefeedback
# Copy just the executable files from a particular stage into a subdirectory,
# and delete the object files. Use this if you're just verifying a version
# that is pretty sure to work, and you are short of disk space.
risky-stage1: stage1
-$(MAKE) clean
risky-stage2: stage2
-$(MAKE) clean
risky-stage3: stage3
-$(MAKE) clean
risky-stage4: stage4
-$(MAKE) clean
#In GNU Make, ignore whether `stage*' exists.
.PHONY: stage1 stage2 stage3 stage4 clean maintainer-clean TAGS bootstrap
.PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
.PHONY: stagefeedback stageprofile
# ----------------------------------------------------- # -----------------------------------------------------
# Rules for generating translated message descriptions. # Rules for generating translated message descriptions.
# Disabled by autoconf if the tools are not available. # Disabled by autoconf if the tools are not available.
......
...@@ -24,7 +24,6 @@ ...@@ -24,7 +24,6 @@
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# boot_language - "yes" if we need to build this language in stage1 # boot_language - "yes" if we need to build this language in stage1
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
language="ada" language="ada"
boot_language=yes boot_language=yes
...@@ -32,8 +31,6 @@ boot_language_boot_flags='ADAFLAGS="$(BOOT_ADAFLAGS)"' ...@@ -32,8 +31,6 @@ boot_language_boot_flags='ADAFLAGS="$(BOOT_ADAFLAGS)"'
compilers="gnat1\$(exeext)" compilers="gnat1\$(exeext)"
stagestuff="gnatbind\$(exeext) gnat1\$(exeext)"
gtfiles="\$(srcdir)/ada/ada-tree.h \$(srcdir)/ada/gigi.h \$(srcdir)/ada/decl.c \$(srcdir)/ada/trans.c \$(srcdir)/ada/utils.c" gtfiles="\$(srcdir)/ada/ada-tree.h \$(srcdir)/ada/gigi.h \$(srcdir)/ada/decl.c \$(srcdir)/ada/trans.c \$(srcdir)/ada/utils.c"
outputs=ada/Makefile outputs=ada/Makefile
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -349,11 +349,11 @@ AC_CACHE_CHECK( ...@@ -349,11 +349,11 @@ AC_CACHE_CHECK(
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
]) ])
strict1_warn= strict_warn=
if test $ac_cv_prog_cc_w_no_long_long = yes \ if test $ac_cv_prog_cc_w_no_long_long = yes \
&& test $ac_cv_prog_cc_w_no_variadic_macros = yes \ && test $ac_cv_prog_cc_w_no_variadic_macros = yes \
&& test $ac_cv_prog_cc_w_no_overlength_strings = yes ; then && test $ac_cv_prog_cc_w_no_overlength_strings = yes ; then
strict1_warn="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings" strict_warn="-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings"
fi fi
# Add -Wold-style-definition if it's accepted # Add -Wold-style-definition if it's accepted
...@@ -368,7 +368,7 @@ AC_CACHE_CHECK( ...@@ -368,7 +368,7 @@ AC_CACHE_CHECK(
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
]) ])
if test $ac_cv_prog_cc_w_old_style_definition = yes ; then if test $ac_cv_prog_cc_w_old_style_definition = yes ; then
strict1_warn="${strict1_warn} -Wold-style-definition" strict_warn="${strict_warn} -Wold-style-definition"
fi fi
# Add -Wmissing-format-attribute if it's accepted # Add -Wmissing-format-attribute if it's accepted
...@@ -383,7 +383,7 @@ AC_CACHE_CHECK( ...@@ -383,7 +383,7 @@ AC_CACHE_CHECK(
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
]) ])
if test $ac_cv_prog_cc_w_missing_format_attribute = yes ; then if test $ac_cv_prog_cc_w_missing_format_attribute = yes ; then
strict1_warn="${strict1_warn} -Wmissing-format-attribute" strict_warn="${strict_warn} -Wmissing-format-attribute"
fi fi
# Enable -Werror, period. # Enable -Werror, period.
...@@ -391,11 +391,9 @@ AC_ARG_ENABLE(werror_always, ...@@ -391,11 +391,9 @@ AC_ARG_ENABLE(werror_always,
[ --enable-werror-always enable -Werror always], [], [ --enable-werror-always enable -Werror always], [],
[enable_werror_always=no]) [enable_werror_always=no])
if test x${enable_werror_always} = xyes ; then if test x${enable_werror_always} = xyes ; then
strict1_warn="${strict1_warn} -Werror" strict_warn="${strict_warn} -Werror"
WERROR=-Werror
fi fi
AC_SUBST(strict_warn)
AC_SUBST(strict1_warn)
# Get C++ compatibility warning flag, if supported. # Get C++ compatibility warning flag, if supported.
AC_CACHE_CHECK( AC_CACHE_CHECK(
...@@ -423,26 +421,12 @@ if test "x$GCC" = "xyes"; then ...@@ -423,26 +421,12 @@ if test "x$GCC" = "xyes"; then
fi fi
AC_SUBST(warn_cflags) AC_SUBST(warn_cflags)
# Enable -Werror in bootstrap stage2 and later. # Enable expensive internal checks
is_release= is_release=
if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then
is_release=yes is_release=yes
fi fi
AC_ARG_ENABLE(werror,
[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
[if test x$is_release = x ; then
# Default to "yes" on development branches.
enable_werror=yes
else
# Default to "no" on release branches.
enable_werror=no
fi])
if test x$enable_werror = xyes ; then
WERROR=-Werror
fi
AC_SUBST(WERROR)
# Enable expensive internal checks
AC_ARG_ENABLE(checking, AC_ARG_ENABLE(checking,
[ --enable-checking[=LIST] [ --enable-checking[=LIST]
enable expensive run-time checks. With LIST, enable expensive run-time checks. With LIST,
...@@ -972,19 +956,6 @@ AC_C_BIGENDIAN ...@@ -972,19 +956,6 @@ AC_C_BIGENDIAN
# UNSORTED # UNSORTED
# -------- # --------
# Stage specific cflags for build.
stage1_cflags=
case $build in
vax-*-*)
if test x$GCC = xyes
then
stage1_cflags="-Wa,-J"
else
stage1_cflags="-J"
fi
;;
esac
AC_SUBST(stage1_cflags)
# These libraries may be used by collect2. # These libraries may be used by collect2.
# We may need a special search path to get them linked. # We may need a special search path to get them linked.
...@@ -1628,25 +1599,6 @@ do ...@@ -1628,25 +1599,6 @@ do
done done
tmake_file="${tmake_file_}" tmake_file="${tmake_file_}"
# If the host doesn't support symlinks, modify CC in
# FLAGS_TO_PASS so CC="stage1/xgcc -Bstage1/" works.
# Otherwise, we can use "CC=$(CC)".
rm -f symtest.tem
case "$LN_S" in
*-s*)
cc_set_by_configure="\$(CC)"
quoted_cc_set_by_configure="\$(CC)"
stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
quoted_stage_prefix_set_by_configure="\$(STAGE_PREFIX)"
;;
*)
cc_set_by_configure="\`case '\$(CC)' in stage*) echo '\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\$(CC)';; esac\`"
quoted_cc_set_by_configure="\\\`case '\\\$(CC)' in stage*) echo '\\\$(CC)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(CC)';; esac\\\`"
stage_prefix_set_by_configure="\`case '\$(STAGE_PREFIX)' in stage*) echo '\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\$(STAGE_PREFIX)';; esac\`"
quoted_stage_prefix_set_by_configure="\\\`case '\\\$(STAGE_PREFIX)' in stage*) echo '\\\$(STAGE_PREFIX)' | sed -e 's|stage|../stage|g';; *) echo '\\\$(STAGE_PREFIX)';; esac\\\`"
;;
esac
# This is a terrible hack which will go away some day. # This is a terrible hack which will go away some day.
host_cc_for_libada=${CC} host_cc_for_libada=${CC}
AC_SUBST(host_cc_for_libada) AC_SUBST(host_cc_for_libada)
...@@ -3473,9 +3425,7 @@ lang_tree_files= ...@@ -3473,9 +3425,7 @@ lang_tree_files=
# These (without "all_") are set in each config-lang.in. # These (without "all_") are set in each config-lang.in.
# `language' must be a single word so is spelled singularly. # `language' must be a single word so is spelled singularly.
all_languages= all_languages=
all_boot_languages=
all_compilers= all_compilers=
all_stagestuff=
all_outputs='Makefile gccbug libada-mk' all_outputs='Makefile gccbug libada-mk'
# List of language makefile fragments. # List of language makefile fragments.
all_lang_makefrags= all_lang_makefrags=
...@@ -3526,7 +3476,6 @@ changequote([,])dnl ...@@ -3526,7 +3476,6 @@ changequote([,])dnl
language= language=
boot_language= boot_language=
compilers= compilers=
stagestuff=
outputs= outputs=
gtfiles= gtfiles=
subdir_requires= subdir_requires=
...@@ -3561,12 +3510,7 @@ changequote([,])dnl ...@@ -3561,12 +3510,7 @@ changequote([,])dnl
then all_lang_makefiles="$subdir/Makefile" then all_lang_makefiles="$subdir/Makefile"
fi fi
all_languages="$all_languages $language" all_languages="$all_languages $language"
if test "x$boot_language" = xyes
then
all_boot_languages="$all_boot_languages $language"
fi
all_compilers="$all_compilers $compilers" all_compilers="$all_compilers $compilers"
all_stagestuff="$all_stagestuff $stagestuff"
all_outputs="$all_outputs $outputs" all_outputs="$all_outputs $outputs"
all_gtfiles="$all_gtfiles $gtfiles" all_gtfiles="$all_gtfiles $gtfiles"
for f in $gtfiles for f in $gtfiles
...@@ -3601,8 +3545,7 @@ touch Make-hooks ...@@ -3601,8 +3545,7 @@ touch Make-hooks
target_list="all.cross start.encap rest.encap tags \ target_list="all.cross start.encap rest.encap tags \
install-common install-man install-info dvi pdf html \ install-common install-man install-info dvi pdf html \
uninstall info man srcextra srcman srcinfo \ uninstall info man srcextra srcman srcinfo \
mostlyclean clean distclean maintainer-clean \ mostlyclean clean distclean maintainer-clean"
stage1 stage2 stage3 stage4 stageprofile stagefeedback"
for t in $target_list for t in $target_list
do do
...@@ -3716,7 +3659,6 @@ AC_SUBST(htmldir) ...@@ -3716,7 +3659,6 @@ AC_SUBST(htmldir)
# Substitute configuration variables # Substitute configuration variables
AC_SUBST(subdirs) AC_SUBST(subdirs)
AC_SUBST(srcdir) AC_SUBST(srcdir)
AC_SUBST(all_boot_languages)
AC_SUBST(all_compilers) AC_SUBST(all_compilers)
AC_SUBST(all_gtfiles) AC_SUBST(all_gtfiles)
AC_SUBST(all_gtfiles_files_langs) AC_SUBST(all_gtfiles_files_langs)
...@@ -3725,15 +3667,12 @@ AC_SUBST(all_lang_makefrags) ...@@ -3725,15 +3667,12 @@ AC_SUBST(all_lang_makefrags)
AC_SUBST(all_lang_makefiles) AC_SUBST(all_lang_makefiles)
AC_SUBST(all_languages) AC_SUBST(all_languages)
AC_SUBST(all_selected_languages) AC_SUBST(all_selected_languages)
AC_SUBST(all_stagestuff)
AC_SUBST(build_exeext) AC_SUBST(build_exeext)
AC_SUBST(build_install_headers_dir) AC_SUBST(build_install_headers_dir)
AC_SUBST(build_xm_file_list) AC_SUBST(build_xm_file_list)
AC_SUBST(build_xm_include_list) AC_SUBST(build_xm_include_list)
AC_SUBST(build_xm_defines) AC_SUBST(build_xm_defines)
AC_SUBST(check_languages) AC_SUBST(check_languages)
AC_SUBST(cc_set_by_configure)
AC_SUBST(quoted_cc_set_by_configure)
AC_SUBST(cpp_install_dir) AC_SUBST(cpp_install_dir)
AC_SUBST(xmake_file) AC_SUBST(xmake_file)
AC_SUBST(tmake_file) AC_SUBST(tmake_file)
...@@ -3760,8 +3699,6 @@ AC_SUBST(md_file) ...@@ -3760,8 +3699,6 @@ AC_SUBST(md_file)
AC_SUBST(objc_boehm_gc) AC_SUBST(objc_boehm_gc)
AC_SUBST(out_file) AC_SUBST(out_file)
AC_SUBST(out_object_file) AC_SUBST(out_object_file)
AC_SUBST(stage_prefix_set_by_configure)
AC_SUBST(quoted_stage_prefix_set_by_configure)
AC_SUBST(thread_file) AC_SUBST(thread_file)
AC_SUBST(tm_file_list) AC_SUBST(tm_file_list)
AC_SUBST(tm_include_list) AC_SUBST(tm_include_list)
...@@ -3816,26 +3753,6 @@ for d in $subdirs doc build ...@@ -3816,26 +3753,6 @@ for d in $subdirs doc build
do do
test -d $d || mkdir $d test -d $d || mkdir $d
done done
# If the host supports symlinks, point stage[1234] at ../stage[1234] so
# bootstrapping and the installation procedure can still use
# CC="stage1/xgcc -Bstage1/". If the host doesn't support symlinks,
# FLAGS_TO_PASS has been modified to solve the problem there.
# This is virtually a duplicate of what happens in configure.lang; we do
# an extra check to make sure this only happens if ln -s can be used.
case "$LN_S" in
*-s*)
for d in ${subdirs} ; do
STARTDIR=`${PWDCMD-pwd}`
cd $d
for t in stage1 stage2 stage3 stage4 stageprofile stagefeedback include
do
rm -f $t
$LN_S ../$t $t 2>/dev/null
done
cd $STARTDIR
done
;;
esac
], ],
[subdirs='$subdirs']) [subdirs='$subdirs'])
AC_OUTPUT AC_OUTPUT
...@@ -24,14 +24,11 @@ ...@@ -24,14 +24,11 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
language="c++" language="c++"
compilers="cc1plus\$(exeext)" compilers="cc1plus\$(exeext)"
stagestuff="g++\$(exeext) g++-cross\$(exeext) cc1plus\$(exeext)"
target_libs="target-libstdc++-v3" target_libs="target-libstdc++-v3"
gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c" gtfiles="\$(srcdir)/cp/rtti.c \$(srcdir)/cp/mangle.c \$(srcdir)/cp/name-lookup.h \$(srcdir)/cp/name-lookup.c \$(srcdir)/cp/cp-tree.h \$(srcdir)/cp/decl.h \$(srcdir)/cp/call.c \$(srcdir)/cp/decl.c \$(srcdir)/cp/decl2.c \$(srcdir)/cp/pt.c \$(srcdir)/cp/repo.c \$(srcdir)/cp/semantics.c \$(srcdir)/cp/tree.c \$(srcdir)/cp/parser.c \$(srcdir)/cp/method.c \$(srcdir)/cp/typeck2.c \$(srcdir)/c-common.c \$(srcdir)/c-common.h \$(srcdir)/c-lex.c \$(srcdir)/c-pragma.c \$(srcdir)/cp/class.c \$(srcdir)/cp/cp-objcp-common.c"
...@@ -640,14 +640,6 @@ Users, standards, GNU Coding Standards}, for details of the standard ...@@ -640,14 +640,6 @@ Users, standards, GNU Coding Standards}, for details of the standard
targets. For GCC, @code{maintainer-clean} should delete targets. For GCC, @code{maintainer-clean} should delete
all generated files in the source directory that are not checked into all generated files in the source directory that are not checked into
CVS, but should not delete anything checked into CVS@. CVS, but should not delete anything checked into CVS@.
@item stage1
@itemx stage2
@itemx stage3
@itemx stage4
@itemx stageprofile
@itemx stagefeedback
Move to the stage directory files not included in @code{stagestuff} in
@file{config-lang.in} or otherwise moved by the main @file{Makefile}.
@end table @end table
@item lang.opt @item lang.opt
...@@ -707,9 +699,6 @@ languages. ...@@ -707,9 +699,6 @@ languages.
If defined, a space-separated list of compiler executables that will If defined, a space-separated list of compiler executables that will
be run by the driver. The names here will each end be run by the driver. The names here will each end
with @samp{\$(exeext)}. with @samp{\$(exeext)}.
@item stagestuff
If defined, a space-separated list of files that should be moved to
the @file{stage@var{n}} directories in each stage of bootstrap.
@item outputs @item outputs
If defined, a space-separated list of files that should be generated If defined, a space-separated list of files that should be generated
by @file{configure} substituting values in them. This mechanism can by @file{configure} substituting values in them. This mechanism can
......
...@@ -3,15 +3,12 @@ ...@@ -3,15 +3,12 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
# diff_excludes - files to ignore when building diffs between two versions. # diff_excludes - files to ignore when building diffs between two versions.
language="fortran" language="fortran"
compilers="f951\$(exeext)" compilers="f951\$(exeext)"
stagestuff="gfortran\$(exeext) f951\$(exeext)"
target_libs=target-libgfortran target_libs=target-libgfortran
gtfiles="\$(srcdir)/fortran/f95-lang.c \$(srcdir)/fortran/trans-decl.c \$(srcdir)/fortran/trans-intrinsic.c \$(srcdir)/fortran/trans-io.c \$(srcdir)/fortran/trans-types.c \$(srcdir)/fortran/trans-types.h \$(srcdir)/fortran/trans.h \$(srcdir)/fortran/trans-const.h" gtfiles="\$(srcdir)/fortran/f95-lang.c \$(srcdir)/fortran/trans-decl.c \$(srcdir)/fortran/trans-intrinsic.c \$(srcdir)/fortran/trans-io.c \$(srcdir)/fortran/trans-types.c \$(srcdir)/fortran/trans-types.h \$(srcdir)/fortran/trans.h \$(srcdir)/fortran/trans-const.h"
......
...@@ -28,14 +28,11 @@ ...@@ -28,14 +28,11 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
language="java" language="java"
compilers="jc1\$(exeext) jvgenmain\$(exeext)" compilers="jc1\$(exeext) jvgenmain\$(exeext)"
stagestuff="jc1\$(exeext) gcj\$(exeext) jvgenmain\$(exeext) jcf-dump\$(exeext)"
gtfiles="\$(srcdir)/java/java-tree.h \$(srcdir)/java/jcf.h \$(srcdir)/java/parse.h \$(srcdir)/java/builtins.c \$(srcdir)/java/class.c \$(srcdir)/java/constants.c \$(srcdir)/java/decl.c \$(srcdir)/java/expr.c \$(srcdir)/java/jcf-parse.c \$(srcdir)/java/lang.c \$(srcdir)/java/mangle.c \$(srcdir)/java/resource.c" gtfiles="\$(srcdir)/java/java-tree.h \$(srcdir)/java/jcf.h \$(srcdir)/java/parse.h \$(srcdir)/java/builtins.c \$(srcdir)/java/class.c \$(srcdir)/java/constants.c \$(srcdir)/java/decl.c \$(srcdir)/java/expr.c \$(srcdir)/java/jcf-parse.c \$(srcdir)/java/lang.c \$(srcdir)/java/mangle.c \$(srcdir)/java/resource.c"
target_libs=${libgcj_saved} target_libs=${libgcj_saved}
......
...@@ -24,14 +24,11 @@ ...@@ -24,14 +24,11 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
language="objc" language="objc"
compilers="cc1obj\$(exeext)" compilers="cc1obj\$(exeext)"
stagestuff="cc1obj\$(exeext)"
target_libs=target-libobjc target_libs=target-libobjc
# Most of the object files for cc1obj actually come from C. # Most of the object files for cc1obj actually come from C.
......
...@@ -24,14 +24,11 @@ ...@@ -24,14 +24,11 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
language="obj-c++" language="obj-c++"
compilers="cc1objplus\$(exeext)" compilers="cc1objplus\$(exeext)"
stagestuff=""
# Per GCC Steering Committee. # Per GCC Steering Committee.
build_by_default="no" build_by_default="no"
......
...@@ -23,15 +23,12 @@ ...@@ -23,15 +23,12 @@
# #
# language - name of language as it would appear in $(LANGUAGES) # language - name of language as it would appear in $(LANGUAGES)
# compilers - value to add to $(COMPILERS) # compilers - value to add to $(COMPILERS)
# stagestuff - files to add to $(STAGESTUFF)
# diff_excludes - files to ignore when building diffs between two versions. # diff_excludes - files to ignore when building diffs between two versions.
language="treelang" language="treelang"
compilers="tree1\$(exeext)" compilers="tree1\$(exeext)"
stagestuff=
diff_excludes="-x lex.c -x parse.c -x parse.h" diff_excludes="-x lex.c -x parse.c -x parse.h"
headers= headers=
build_by_default="no" build_by_default="no"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment