summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-09-29 06:37:11 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-09-29 06:37:11 +0000
commit732395dea391f49fa043b9dfb7b03466df22e0f3 (patch)
tree84576198ea7ea61999328571beccbf475c738bb8
parent1e38bf49aca685c5d71c18f354e48dbf05d62215 (diff)
downloadppe42-gcc-732395dea391f49fa043b9dfb7b03466df22e0f3.tar.gz
ppe42-gcc-732395dea391f49fa043b9dfb7b03466df22e0f3.zip
* Makefile.in (bootstrap-lean): New target.
* gcc/Makefile.in (bootstrap-lean, compare-lean): New targets. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@15786 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog4
-rw-r--r--Makefile.in15
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/Makefile.in41
4 files changed, 64 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a01bcf927ba..147325d7573 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Sep 29 00:38:08 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
+
+ * Makefile.in (bootstrap-lean): New target.
+
Thu Sep 18 23:58:27 1997 Jeffrey A Law (law@cygnus.com)
* Makefile.in (cross): New target.
diff --git a/Makefile.in b/Makefile.in
index 063293453d2..b7f9c27be79 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1298,6 +1298,21 @@ bootstrap bootstrap2 bootstrap3: all-texinfo all-bison all-byacc all-binutils al
@echo "Building runtime libraries"; \
$(MAKE) all
+.PHONY: bootstrap-lean
+bootstrap-lean: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
+ @r=`pwd`; export r; \
+ s=`cd $(srcdir); pwd`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Bootstrapping the compiler"; \
+ cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $@
+ @r=`pwd`; export r; \
+ s=`cd $(srcdir); pwd`; export s; \
+ $(SET_LIB_PATH) \
+ echo "Comparing stage2 and stage3 of the compiler"; \
+ cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) compare-lean
+ @echo "Building runtime libraries"; \
+ $(MAKE) all
+
.PHONY: cross
cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
@r=`pwd`; export r; \
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 513abf58a5e..76baa0e829a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
+
+ * Makefile.in (bootstrap-lean, compare-lean): New targets.
+
Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
* alias.c (base_alias_check): Two symbols can conflict if they
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 70290639b57..3ca979b79f5 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -2576,6 +2576,22 @@ bootstrap: force
$(MAKE) stage2
$(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
+bootstrap-lean: force
+# 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.
+ $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)"
+ $(MAKE) stage1
+# This used to define ALLOCA as empty, but that would lead to bad results
+# for a subsequent `make install' since that would not have ALLOCA empty.
+# To prevent `make install' from compiling alloca.o and then relinking cc1
+# because alloca.o is newer, we permit these recursive makes to compile
+# alloca.o. Then cc1 is newer, so it won't have to be relinked.
+ $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
+ $(MAKE) stage2
+ rm -rf stage1
+ $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
+
bootstrap2: force
$(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
$(MAKE) stage2
@@ -2612,6 +2628,31 @@ compare: force
else true; \
fi
+# ./ avoids bug in some versions of tail.
+compare-lean: force
+ -rm -f .bad_compare
+ for file in *$(objext); do \
+ tail +16c ./$$file > tmp-foo1; \
+ tail +16c stage2/$$file > tmp-foo2 \
+ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ done
+ for dir in tmp-foo $(SUBDIRS); do \
+ if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
+ for file in $$dir/*$(objext); do \
+ tail +16c ./$$file > tmp-foo1; \
+ tail +16c stage2/$$file > tmp-foo2 \
+ && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+ done; \
+ fi; \
+ done
+ -rm -f tmp-foo*
+ if [ -f .bad_compare ]; then \
+ echo "Bootstrap comparison failure!"; \
+ cat .bad_compare; \
+ exit 1; \
+ else rm -rf stage2; \
+ fi
+
# Similar, but compare with stage3 directory
compare3: force
for file in *$(objext); do \
OpenPOWER on IntegriCloud