This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed] Improve experimental top level bootstrap


Survived a new-bootstrap on i686-pc-linux-gnu, doing everything correctly
(and it doesn't mess with anything else).  Whee.

	* Makefile.tpl (experimental top level bootstrap) Move stage1
	language setting from all- target to configure- target; disable
	intermodule optimization in stage 1; prevent gratuitous rebuilds
	of stage 1.
	* Makefile.in: Regenerate.
	* configure.in: Comma-separate stage 1 language list for top
	level bootstrap.
	* configure: Regenerate.

Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.83
diff -u -r1.83 Makefile.tpl
--- Makefile.tpl	22 Mar 2004 06:19:43 -0000	1.83
+++ Makefile.tpl	22 Mar 2004 06:31:38 -0000
@@ -1294,7 +1294,11 @@
 STAGE1_CFLAGS=@stage1_cflags@
 STAGE1_LANGUAGES=@stage1_languages@
 
-# TODO: deal with OBJS-onestep
+# For stage 1:
+# * we force-disable intermodule optimizations, even if
+#   --enable-intermodule was passed.  Luckily, autoconf always accepts
+#   the last* argument when conflicting --enable arguments are passed.
+# * we build only C (and possibly Ada).
 configure-stage1-gcc:
 	echo configure-stage1-gcc > stage_last ; \
 	if [ -f stage1-gcc/Makefile ] ; then \
@@ -1337,19 +1341,26 @@
 	    libsrcdir="$$s/gcc";; \
 	esac; \
 	$(SHELL) $${libsrcdir}/configure \
-	  $(HOST_CONFIGARGS) $${srcdiroption} ; \
+	  $(HOST_CONFIGARGS) $${srcdiroption} \
+	  --disable-intermodule \
+	  --enable-languages="$(STAGE1_LANGUAGES)"; \
 	cd .. ; \
 	mv gcc stage1-gcc ; \
 	$(STAMP) configure-stage1-gcc
 
-all-stage1-gcc: configure-stage1-gcc all-bootstrap
+# Real targets act phony if they depend on phony targets; this hack
+# prevents gratuitous rebuilding of stage 1.
+prebootstrap:
+	$(MAKE) all-bootstrap
+	$(STAMP) prebootstrap
+
+all-stage1-gcc: configure-stage1-gcc prebootstrap
 	echo all-stage1-gcc > stage_last ; \
 	r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 	mv stage1-gcc gcc ; \
 	cd gcc && \
 	$(MAKE) $(GCC_FLAGS_TO_PASS) \
-                LANGUAGES="$(STAGE1_LANGUAGES)" \
 		CFLAGS="$(STAGE1_CFLAGS)" \
 		COVERAGE_FLAGS= || exit 1 ; \
 	cd .. ; \
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.278
diff -u -r1.278 configure.in
--- configure.in	17 Mar 2004 19:27:53 -0000	1.278
+++ configure.in	22 Mar 2004 06:42:21 -0000
@@ -1180,8 +1180,8 @@
 	    missing_languages=`echo "$missing_languages" | sed "s/,$language,/,/"`
 	    case ${boot_language} in
 	      yes)
-		# Add to (space-separated) list of stage 1 languages.
-		stage1_languages="${stage1_languages} ${language}"
+		# Add to (comma-separated) list of stage 1 languages.
+		stage1_languages="${stage1_languages},${language}"
 		;;
 	    esac
 	    ;;

-- 
Make sure your vote will count.
http://www.verifiedvoting.org/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]