# directories built for the build system.
BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)"
+# Linker flags to use on the host, for stage1 or when not
+# bootstrapping.
+STAGE1_LDFLAGS = @stage1_ldflags@
+
+# Libraries to use on the host, for stage1 or when not bootstrapping.
+STAGE1_LIBS = @stage1_libs@
+
+# Linker flags to use for stage2 and later.
+POSTSTAGE1_LDFLAGS = @poststage1_ldflags@
+
+# Libraries to use for stage2 and later.
+POSTSTAGE1_LIBS = @poststage1_libs@
+
# This is the list of variables to export in the environment when
# configuring any subdirectory. It must also be exported whenever
# recursing into a build directory in case that directory's Makefile
CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \
DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \
LD="$(LD)"; export LD; \
- LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \
+ LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \
NM="$(NM)"; export NM; \
RANLIB="$(RANLIB)"; export RANLIB; \
WINDRES="$(WINDRES)"; export WINDRES; \
OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
+ HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \
GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
GMPINC="$(HOST_GMPINC)"; export GMPINC; \
PPLLIBS="$(HOST_PPLLIBS)"; export PPLLIBS; \
-B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \
$(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \
CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \
- GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND \
- LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS;
+ CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \
+ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \
+ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \
+ -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \
+ -I$$r/$(srcdir)/libstdc++-v3/libsupc++ \
+ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \
+ CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \
+ GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
+ LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \
+ HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS;
# Target libraries are put under this directory:
TARGET_SUBDIR = @target_subdir@
# Flags to pass to stage2 and later makes.
POSTSTAGE1_FLAGS_TO_PASS = \
- CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" GNATBIND="$${GNATBIND}" \
- LDFLAGS="$(BOOT_LDFLAGS)" \
+ CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
+ CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \
+ GNATBIND="$${GNATBIND}" \
+ LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)" \
+ HOST_LIBS="$(POSTSTAGE1_LIBS)" \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
# Flags to pass down to makes which are built with the target environment.
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@if gcc-bootstrap
if [ -f stage_last ]; then \
- TFLAGS="$(STAGE$(shell sed s,^stage,, stage_last)_TFLAGS)"; \
+ TFLAGS="$(STAGE$(shell test ! -f stage_last || sed s,^stage,, stage_last)_TFLAGS)"; \
$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
else \
@endif gcc-bootstrap
-@if gcc-no-bootstrap
- if :; then :; \
-@endif gcc-no-bootstrap
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
- fi
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
+@if gcc-bootstrap
+ ; \
+ fi \
+@endif gcc-bootstrap
+ && :
.PHONY: all-build
[+ FOR build_modules +]
: $(MAKE); $(stage); \
rm -f .bad_compare ; \
echo Comparing stages [+prev+] and [+id+] ; \
- cd stage[+id+]-gcc; \
- files=`find . -name "*$(objext)" -print` ; \
- cd .. ; \
+ sed=`echo stage[+id+] | sed 's,^stage,,;s,.,.,g'`; \
+ files=`find stage[+id+]-* -name "*$(objext)" -print | \
+ sed -n s,^stage$$sed-,,p` ; \
for file in $${files} ; do \
- f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \
+ f1=$$r/stage[+prev+]-$$file; f2=$$r/stage[+id+]-$$file; \
+ if test ! -f $$f1; then continue; fi; \
$(do-[+compare-target+]) > /dev/null 2>&1; \
if test $$? -eq 1; then \
case $$file in \
- ./cc*-checksum$(objext) | ./libgcc/* ) \
+ @compare_exclusions@) \
echo warning: $$file differs ;; \
*) \
echo $$file differs >> .bad_compare ;; \