This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix libcpp dependency generation for toplevel bootstrap
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- Cc: Daniel Jacobowitz <drow at false dot org>, Andrew Pinski <pinskia at physics dot uc dot edu>, GCC Patches <gcc-patches at gcc dot gnu dot org>, DJ Delorie <dj at redhat dot com>
- Date: Sat, 17 Dec 2005 10:14:51 +0100
- Subject: Re: [PATCH] Fix libcpp dependency generation for toplevel bootstrap
- References: <cd5403f4f5a69a5124a12c1eae63fc5f@physics.uc.edu> <43A28342.8000005@lu.unisi.ch> <20051216135419.GA27872@nevyn.them.org> <m364ppoyva.fsf@uniton.integrable-solutions.net> <43A2D3B9.2050200@lu.unisi.ch> <20051216145126.GA29202@nevyn.them.org> <20051216152251.GA29951@nevyn.them.org> <43A2DC95.9090407@lu.unisi.ch> <m34q58h9vn.fsf@uniton.integrable-solutions.net>
I can reproduce the problem. The attached file is the output of
"make -d install" as Dan suggested.
It looks like gcc should be installed last, because
Prerequisite
`/home/gdr/lib/gcc/i686-pc-linux-gnu/4.2.0/include/limits.h' is newer
than target `charset.o'.
Instead, I have a dependency on the uninstalled
/home/bonzinip/gcc-pr19653/build/./prev-gcc/include/limits.h
I think that Gaby and Andrew have a 4.2.0 already installed, unlike me
and Dan.
One possibility could be to install GCC after all the other packages,
which makes sense anyway in case something is being compiled (to avoid
that a rebuild uses a compiler other than the one on whicht the
configure script was run).
Dan, DJ, what do you think?
Paolo
Index: Makefile.tpl
===================================================================
--- Makefile.tpl (revision 108633)
+++ Makefile.tpl (working copy)
@@ -643,12 +646,17 @@ mail-report-with-warnings.log: warning.l
# Installation targets.
+# gcc must be installed after all host packages, otherwise we could
+# trigger a rebuild if we install a newer version of limits.h or another
+# fixincluded file.
+
.PHONY: install uninstall
install:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host-nogcc install-target
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) maybe-install-gcc
.PHONY: install-host-nogcc
install-host-nogcc: [+
Index: Makefile.in
===================================================================
--- Makefile.in (revision 108633)
+++ Makefile.in (working copy)
@@ -1957,12 +1964,17 @@ mail-report-with-warnings.log: warning.l
# Installation targets.
+# gcc must be installed after all host packages, otherwise we could
+# trigger a rebuild if we install a newer version of limits.h or another
+# fixincluded file.
+
.PHONY: install uninstall
install:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host-nogcc install-target
+ $(MAKE) $(RECURSE_FLAGS_TO_PASS) maybe-install-gcc
.PHONY: install-host-nogcc
install-host-nogcc: \