> *** /tmp/dL6Ouq_Makefile.tpl 2012-04-05 14:37:34.144103910 +0200 > --- Makefile.tpl 2012-04-04 22:03:53.822060326 +0200 > *************** install.all: install-no-fixedincludes > *** 906,916 **** > true ; \ > fi > > ! # install-no-fixedincludes is used because Cygnus can not distribute > ! # the fixed header files. > .PHONY: install-no-fixedincludes > install-no-fixedincludes: installdirs install-host-nogcc \ > ! install-target gcc-no-fixedincludes > > .PHONY: install-strip > install-strip: > --- 906,917 ---- > true ; \ > fi > > ! # install-no-fixedincludes is used to allow the elaboration of binary > packages > ! # suitable for distribution, where we cannot include the fixed system header > ! # files. > .PHONY: install-no-fixedincludes > install-no-fixedincludes: installdirs install-host-nogcc \ > ! install-target gcc-install-no-fixedincludes > > .PHONY: install-strip > install-strip:
This is missing in the ChangeLog. > *************** check-gcc-[+language+]: > *** 1443,1467 **** > check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ > lib-check-target +][+ ENDFOR lib-check-target +] > [+ ENDFOR languages +] > > ! # Install the gcc headers files, but not the fixed include files, > ! # which Cygnus is not allowed to distribute. This rule is very > ! # dependent on the workings of the gcc Makefile.in. > ! .PHONY: gcc-no-fixedincludes > ! gcc-no-fixedincludes: > @if [ -f ./gcc/Makefile ]; then \ > - rm -rf gcc/tmp-include; \ > - mv gcc/include gcc/tmp-include 2>/dev/null; \ > - mkdir gcc/include; \ > - cp $(srcdir)/gcc/gsyslimits.h gcc/include/syslimits.h; \ > - touch gcc/stmp-fixinc gcc/include/fixed; \ > - rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \ > r=`${PWD_COMMAND}`; export r; \ > ! s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \ > $(HOST_EXPORTS) \ > ! (cd ./gcc && \ > ! $(MAKE) $(GCC_FLAGS_TO_PASS) install); \ > ! rm -rf gcc/include; \ > ! mv gcc/tmp-include gcc/include 2>/dev/null; \ > else true; fi > @endif gcc > > --- 1444,1459 ---- > check-[+language+]: check-gcc-[+language+][+ FOR lib-check-target +] [+ > lib-check-target +][+ ENDFOR lib-check-target +] > [+ ENDFOR languages +] > > ! # The gcc part of install-no-fixedincludes, which relies on an intimate > ! # knowledge of how a number of gcc internal targets (inter)operate. > Delegate. > ! .PHONY: gcc-install-no-fixedincludes > ! gcc-install-no-fixedincludes: > @if [ -f ./gcc/Makefile ]; then \ > r=`${PWD_COMMAND}`; export r; \ > ! s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ > $(HOST_EXPORTS) \ > ! (cd ./gcc \ > ! && $(MAKE) $(GCC_FLAGS_TO_PASS) install-no-fixedincludes); \ > else true; fi > @endif gcc > > *** /tmp/jqbGTw_Makefile.in 2012-04-05 14:37:34.157109608 +0200 > --- gcc/Makefile.in 2012-04-04 22:03:53.823228924 +0200 > *************** gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $( > *** 4013,4022 **** > --- 4013,4028 ---- > # Build the include directories. > stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) fixinc_list > # Copy in the headers provided with gcc. > + # > # The sed command gets just the last file name component; > # this is necessary because VPATH could add a dirname. > # Using basename would be simpler, but some systems don't have it. > + # > # The touch command is here to workaround an AIX/Linux NFS bug. > + # > + # The move-if-change + cp -p twists for limits.h are intended to preserve > + # the time stamp when we regenerate, to prevent pointless rebuilds during > + # e.g. install-no-fixedincludes. > -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; > fi > -if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod > a+rx include-fixed; fi > for file in .. $(USER_H); do \ > *************** stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) > *** 4065,4072 **** > fi; \ > $(mkinstalldirs) $${fix_dir}; \ > chmod a+rx $${fix_dir} || true; \ > rm -f $${fix_dir}/limits.h; \ > ! mv tmp-xlimits.h $${fix_dir}/limits.h; \ > chmod a+r $${fix_dir}/limits.h; \ > done > # Install the README > --- 4071,4080 ---- > fi; \ > $(mkinstalldirs) $${fix_dir}; \ > chmod a+rx $${fix_dir} || true; \ > + $(SHELL) $(srcdir)/../move-if-change \ > + tmp-xlimits.h tmp-limits.h; \ > rm -f $${fix_dir}/limits.h; \ > ! cp -p tmp-limits.h $${fix_dir}/limits.h; \ > chmod a+r $${fix_dir}/limits.h; \ > done > # Install the README > *************** stmp-fixinc: gsyslimits.h macro_list fix > *** 4168,4173 **** > --- 4176,4225 ---- > fi > $(STAMP) stmp-fixinc > # > + > + # Install with the gcc headers files, not the fixed include files, which we > + # are typically not allowed to distribute. The general idea is to: > + # - Get to "install" with a bare set of internal headers, not the > + # fixed system ones, > + # - Prevent rebuilds of what normally depends on the headers, which is > + # useless for installation purposes and would rely on improper headers. > + # - Restore as much of the original state as possible. > + > + .PHONY: install-no-fixedincludes stash-maybefixed-headers \ > + restore-header-stamps restore-maybefixed-headers > + > + install-no-fixedincludes: \ > + stash-maybefixed-headers \ > + stmp-int-hdrs \ > + restore-header-stamps \ > + install \ > + restore-maybefixed-headers This is not safe for parallel build. What about install-no-fixedincludes: ... contents of stash-maybefixed-headers ... $(MAKE) $(FLAGS_TO_PASS) stmp-int-hdrs ... contents of restore-header-stamps ... $(MAKE) $(FLAGS_TO_PASS) install ... contents of restore-maybefixed-headers ... ?