This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

PATCH (top-level build machinery, mainline, ping1): Fix in-src 'strap


OK to install?  Or, perhaps, some considered rejection commentary
(i.e. we know this is a somewhat radical approach, if very
straightforward patch)?  Full bootstrap (w/ ./configure and
$srcdir/configure), check and install cycles on i386-*-freebsd5.2.

Background [shortened]: The upgrade to modern auto-tools broke
libstdc++-v3.  This proposal is to treat our library subdir as an
"objdir", no matter how gcc itself was configured and built.  (This is
hereby claimed safe since we now require GNU make.)  As a side effect,
this patch allows us to rip out many accumulated hacks in libstdc++-v3!

Regards,
Loren

PS, by implication, I hereby note that zero people have fully
bootstrapped gcc mainline in the last four months with an in-src
configuration; thus this patch helps or hurts about zero normal
developers.  However, from historical data, it removes a class of PRs
that I expect to receive once 3.4 is released, if nothing is done...

	* Makefile.def (target_modules) [libstdc++-v3]: Do not stage.
	* Makefile.tpl (configure-target-[+module+]): Support no_stage.
	* Makefile: Rebuilt.

Index: Makefile.def
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.def,v
retrieving revision 1.10
diff -c -r1.10 Makefile.def
*** Makefile.def	23 Jun 2003 20:34:26 -0000	1.10
--- Makefile.def	10 Dec 2003 21:46:04 -0000
***************
*** 96,102 ****
                  missing=maintainer-clean; };
  host_modules= { module= utils; no_check=true; };
  
! target_modules = { module= libstdc++-v3; raw_cxx=true; };
  target_modules = { module= newlib; };
  target_modules = { module= libf2c; };
  target_modules = { module= libobjc; };
--- 96,102 ----
                  missing=maintainer-clean; };
  host_modules= { module= utils; no_check=true; };
  
! target_modules = { module= libstdc++-v3; raw_cxx=true; no_stage=true; };
  target_modules = { module= newlib; };
  target_modules = { module= libf2c; };
  target_modules = { module= libobjc; };
Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.76
diff -c -r1.76 Makefile.tpl
*** Makefile.tpl	21 Nov 2003 00:39:03 -0000	1.76
--- Makefile.tpl	10 Dec 2003 21:46:04 -0000
***************
*** 983,989 ****
  	      .) topdir="../$(srcdir)" ;; \
  	      *) topdir="../../$(srcdir)" ;; \
  	    esac ;; \
! 	esac; \
  	if [ "$(srcdir)" = "." ] ; then \
  	  if [ "$(TARGET_SUBDIR)" != "." ] ; then \
  	    if $(SHELL) $$s/symlink-tree $${topdir}/[+module+] "no-such-file" ; then \
--- 983,990 ----
  	      .) topdir="../$(srcdir)" ;; \
  	      *) topdir="../../$(srcdir)" ;; \
  	    esac ;; \
! 	esac; \[+
! IF no_stage +][+ ELSE stage +]
  	if [ "$(srcdir)" = "." ] ; then \
  	  if [ "$(TARGET_SUBDIR)" != "." ] ; then \
  	    if $(SHELL) $$s/symlink-tree $${topdir}/[+module+] "no-such-file" ; then \
***************
*** 1004,1013 ****
  	  fi; \
  	  srcdiroption="--srcdir=."; \
  	  libsrcdir="."; \
! 	else \
  	  srcdiroption="--srcdir=$${topdir}/[+module+]"; \
! 	  libsrcdir="$$s/[+module+]"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
  	  $(TARGET_CONFIGARGS) $${srcdiroption} \
--- 1005,1017 ----
  	  fi; \
  	  srcdiroption="--srcdir=."; \
  	  libsrcdir="."; \
! 	else \[+
! ENDIF no_stage +]
  	  srcdiroption="--srcdir=$${topdir}/[+module+]"; \
! 	  libsrcdir="$$s/[+module+]"; \[+
! IF no_stage +][+ ELSE stage +]
! 	fi; \[+
! ENDIF no_stage +]
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
  	  $(TARGET_CONFIGARGS) $${srcdiroption} \


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