summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel')
-rw-r--r--Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel50
1 files changed, 50 insertions, 0 deletions
diff --git a/Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel b/Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel
new file mode 100644
index 00000000000..2874720b9f7
--- /dev/null
+++ b/Build/source/utils/xindy-new/xindy-2.4-pre2-PATCHES/patch-12-parallel
@@ -0,0 +1,50 @@
+ More problems with aggressive parallel builds (make -j).
+
+ The three rules:
+ %-test.xdy : %.pl
+ $(PERL) -I$(srcdir) $< $*
+ %-doc.tex : %.pl
+ $(PERL) -I$(srcdir) $< $*
+ %.xdy : %.pl
+ $(PERL) -I$(srcdir) $< $*
+ must not run simultaneously or %-test.xdy could be destroyed.
+
+diff -ur -x Makefile.in xindy.orig/make-rules/alphabets/Makefile.am xindy/make-rules/alphabets/Makefile.am
+--- xindy.orig/make-rules/alphabets/Makefile.am 2009-12-03 01:45:51.000000000 +0100
++++ xindy/make-rules/alphabets/Makefile.am 2009-12-02 20:34:28.000000000 +0100
+@@ -892,14 +892,24 @@
+ %-lang.xdy : %-test.xdy
+ sed -n '1,10 p' <$< >$@
+
++# Running "$(PERL) -I$(srcdir) $< $*" creates %-test.xdy, %-doc.tex, %.raw,
++# and %.xdy; %-test.xdy is finished first. We must not run this command
++# several times simultaneously (for details see Automake manual 27.9).
+ %-test.xdy : %.pl
+ $(PERL) -I$(srcdir) $< $*
+
+-%-doc.tex : %.pl
+- $(PERL) -I$(srcdir) $< $*
+-
+-%.xdy : %.pl
+- $(PERL) -I$(srcdir) $< $*
++%-doc.tex %.xdy : %-test.xdy
++ @if test -f $@; then :; else \
++ trap 'rm -rf $*.lock $<' 1 2 13 15; \
++ if mkdir $*.lock 2>/dev/null; then \
++ rm -f $<; \
++ $(MAKE) $(AM_MAKEFLAGS) $<; \
++ result=$$?; rm -rf $*.lock; exit $$result; \
++ else \
++ while test -d $*.lock; do sleep 1; done; \
++ test -f $<; \
++ fi; \
++ fi
+
+ SUBDIRS = \
+ albanian \
+@@ -1264,5 +1274,3 @@
+
+ CLEANFILES = $(ALPHABETS) $(DOC_CLEAN)
+
+-.NOTPARALLEL:
+-