Bootstrap no longer builds libgcc multilib subdirs in stage2/3

Andreas Schwab schwab@suse.de
Wed Sep 6 07:23:00 GMT 2000


Alexandre Oliva <aoliva@redhat.com> writes:

|> On Sep  5, 2000, Andreas Schwab <schwab@suse.de> wrote:
|> 
|> > 	* mklibgcc.in: Emit rules for libgcc-stage[1234]-start.
|> 
|> How about a single `libgcc-stage-start', having the stage directory
|> passed down from:

Ok, here is an updated patch, still only tested in non-multibyte
environment.

2000-09-06  Andreas Schwab  <schwab@suse.de>

	* mklibgcc.in: Emit rule for libgcc-stage-start.
	* Makefile.in (stage1-start, stage2-start, stage3-start,
	stage4-start): Don't handle libgcc here, use libgcc.mk instead.

Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/Makefile.in,v
retrieving revision 1.502
diff -u -a -u -r1.502 gcc/Makefile.in
--- gcc/Makefile.in	2000/09/06 00:45:47	1.502
+++ gcc/Makefile.in	2000/09/06 14:21:41
@@ -2913,13 +2913,13 @@
 # Copy the object files from a particular stage into a subdirectory.
 stage1-start:
 	-if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi
-	-for dir in intl libgcc $(SUBDIRS) ; \
+	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage1
+	-for dir in intl $(SUBDIRS) ; \
 	 do \
 	   if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
 	 done
 	-mv $(STAGESTUFF) stage1
 	-mv intl/*$(objext) stage1/intl
-	-mv libgcc/*$(objext) stage1/libgcc
 # 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 $(LN_S) ../as$(exeext) stage1 ; else true ; fi
@@ -2938,13 +2938,13 @@
 
 stage2-start:
 	-if [ -d stage2 ] ; then true ; else mkdir stage2 ; fi
-	-for dir in intl libgcc $(SUBDIRS) ; \
+	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage2
+	-for dir in intl $(SUBDIRS) ; \
 	 do \
 	   if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
 	 done
 	-mv $(STAGESTUFF) stage2
 	-mv intl/*$(objext) stage2/intl
-	-mv libgcc/*$(objext) stage2/libgcc
 # 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 $(LN_S) ../as$(exeext) stage2 ; else true ; fi
@@ -2963,13 +2963,13 @@
 
 stage3-start:
 	-if [ -d stage3 ] ; then true ; else mkdir stage3 ; fi
-	-for dir in intl libgcc $(SUBDIRS) ; \
+	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage3
+	-for dir in intl $(SUBDIRS) ; \
 	 do \
 	   if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
 	 done
 	-mv $(STAGESTUFF) stage3
 	-mv intl/*$(objext) stage3/intl
-	-mv libgcc/*$(objext) stage3/libgcc
 # 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 $(LN_S) ../as$(exeext) stage3 ; else true ; fi
@@ -2988,13 +2988,13 @@
 
 stage4-start:
 	-if [ -d stage4 ] ; then true ; else mkdir stage4 ; fi
-	-for dir in intl libgcc $(SUBDIRS) ; \
+	$(MAKE) -f libgcc.mk libgcc-stage-start stage=stage4
+	-for dir in intl $(SUBDIRS) ; \
 	 do \
 	   if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
 	 done
 	-mv $(STAGESTUFF) stage4
 	-mv intl/*$(objext) stage4/intl
-	-mv libgcc/*$(objext) stage4/libgcc
 # 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 $(LN_S) ../as$(exeext) stage4 ; else true ; fi
Index: gcc/mklibgcc.in
===================================================================
RCS file: /cvs/gcc/egcs/gcc/mklibgcc.in,v
retrieving revision 1.15
diff -u -a -u -r1.15 gcc/mklibgcc.in
--- gcc/mklibgcc.in	2000/06/25 22:26:33	1.15
+++ gcc/mklibgcc.in	2000/09/06 14:22:58
@@ -280,6 +280,22 @@
   echo '	else true; fi;'
 done
 
+dirs=libgcc
+for ml in $MULTILIBS; do
+  dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
+  if [ $dir != . ]; then
+    dirs="$dirs libgcc/${dir}"
+  fi
+done
+echo ''
+echo 'libgcc-stage-start:'
+echo '	for dir in '"${dirs}"'; do \'
+echo '	  if [ -d $(stage)/$$dir ]; then true; else mkdir $(stage)/$$dir; fi; \'
+echo '	done'
+echo '	-for dir in '"${dirs}"'; do \'
+echo '	  mv $$dir/*'"${objext}"' $(stage)/$$dir; \'
+echo '	done'
+
 echo ""
 all=stmp-dirs
 dirs=libgcc

-- 
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg


More information about the Gcc-bugs mailing list