7eb10c8dbe
* Sat Aug 21 2010 David Malcolm <dmalcolm@redhat.com> - 3.2-0.0.a1 - 3.2a1; add alphatag - rework %%files in the light of PEP 3147 (__pycache__) - drop our configuration patch to Setup.dist (patch 0): setup.py should do a better job of things, and the %%files explicitly lists our modules (r82746 appears to break the old way of doing things). This leads to various modules changing from "foomodule.so" to "foo.so". It also leads to the optimized build dropping the _sha1, _sha256 and _sha512 modules, but these are provided by _hashlib; _weakref becomes a builtin module; xxsubtype goes away (it's only for testing/devel purposes) - fixup patches 3, 4, 6, 8, 102, 103, 105, 111 for the rebase - remove upstream patches: 7 (system expat), 106, 107, 108 (audioop reformat plus CVE-2010-1634 and CVE-2010-2089), 109 (CVE-2008-5983) - add machinery for rebuilding "configure" and friends, using the correct version of autoconf (patch 300) - patch the debug build's usage of COUNT_ALLOCS to be less verbose (patch 125) - "modulator" was removed upstream - drop "-b" from patch applications affecting .py files to avoid littering the installation tree
38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
diff -up Python-3.2a1/Makefile.pre.in.parallel-grammar Python-3.2a1/Makefile.pre.in
|
|
--- Python-3.2a1/Makefile.pre.in.parallel-grammar 2010-08-20 15:09:13.613527156 -0400
|
|
+++ Python-3.2a1/Makefile.pre.in 2010-08-20 15:10:31.428135355 -0400
|
|
@@ -222,6 +222,7 @@ IO_OBJS= \
|
|
|
|
##########################################################################
|
|
# Grammar
|
|
+GRAMMAR_STAMP= $(srcdir)/grammar-stamp
|
|
GRAMMAR_H= $(srcdir)/Include/graminit.h
|
|
GRAMMAR_C= $(srcdir)/Python/graminit.c
|
|
GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar
|
|
@@ -557,9 +558,24 @@ Modules/python.o: $(srcdir)/Modules/pyth
|
|
|
|
$(IO_OBJS): $(IO_H)
|
|
|
|
-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
|
|
+# GNU "make" interprets rules with two dependents as two copies of the rule.
|
|
+#
|
|
+# In a parallel build this can lead to pgen being run twice, once for each of
|
|
+# GRAMMAR_H and GRAMMAR_C, leading to race conditions in which the compiler
|
|
+# reads a partially-overwritten copy of one of these files, leading to syntax
|
|
+# errors (or linker errors if the fragment happens to be syntactically valid C)
|
|
+#
|
|
+# See http://www.gnu.org/software/hello/manual/automake/Multiple-Outputs.html
|
|
+# for more information
|
|
+#
|
|
+# Introduce ".grammar-stamp" as a contrived single output from PGEN to avoid
|
|
+# this:
|
|
+$(GRAMMAR_H) $(GRAMMAR_C): $(GRAMMAR_STAMP)
|
|
+
|
|
+$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT)
|
|
-@$(INSTALL) -d Include
|
|
-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
|
+ touch $(GRAMMAR_STAMP)
|
|
|
|
$(PGEN): $(PGENOBJS)
|
|
$(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
|