Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Installing zsh-4.3.1



On Mar 1,  8:42am, FX Coudert wrote:
}
} 1. the make process doesn't support parallel building.

This has been noted a number of times dating back at least to three
years ago.  One problem (as Wayne observed then) is with the "prep"
target, which the structure of the generated Makefile/Makemod files
falsely indicates can be built in parallel with some other targets
that, in reality, depend upon "prep" having completed first.

The following minimal patch fixes this to the first order.  I'm a
little concerned that it will break something in the case where
"make -f Makemod prep" would fail, because Makemod is then created
by "make Makemod" but removed by "make prep".

Index: Src/Makefile.in
===================================================================
retrieving revision 1.6
diff -c -r1.6 Src/Makefile.in
--- Src/Makefile.in	24 Sep 2005 17:48:35 -0000	1.6
+++ Src/Makefile.in	3 Mar 2006 05:27:19 -0000
@@ -109,7 +109,7 @@
 
 @CONFIG_MK@
 
-Makemod prep: $(CONFIG_INCS) $(dir_top)/config.modules
+Makemod: $(CONFIG_INCS) $(dir_top)/config.modules
 	@case $(sdir_top) in \
 	    /*) top_srcdir=$(sdir_top) ;; \
 	    *) top_srcdir=$(subdir)/$(sdir_top) ;; \
@@ -119,6 +119,7 @@
 	    '$$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod'; \
 	cd $(dir_top) && \
 	    $(SHELL) $$top_srcdir/$(subdir)/mkmakemod.sh $(subdir) Makemod
+prep: Makemod
 	@$(MAKE) -f Makemod $(MAKEDEFS) prep || rm -f Makemod
 .PHONY: prep
 


However, there is yet another problem, which is that several targets in
Makefile are built by invoking "make -f Makemod", and Makemod itself is
not re-entrant.  This seems mainly to be because of zsh.mdd, which
contains instructions for making signames.c and sigcount.h.  I think
those rules should be moved out of zsh.mdd and into Makefile.in, but
perhaps there's another way to get them pre-built.

-- 



Messages sorted by: Reverse Date, Date, Thread, Author