diff options
author | Jan Holesovsky <kendy@suse.cz> | 2011-03-09 10:38:32 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-03-09 10:38:32 +0100 |
commit | 5f7158e265771916e3354aaee7dce0f069d6a613 (patch) | |
tree | 4d7a7b8941ab618d875f3406f343e4a8a9f18c1b /python | |
parent | 760b66947374c025d6d543a935e14c2b70f73b07 (diff) | |
parent | 70d1752f42910f44cbf13478d0822e06a653b0d6 (diff) |
Merge commit 'ooo/DEV300_m101' into intm101
Conflicts:
boost/aliasing.patch
boost/makefile.mk
cairo/cairo/makefile.mk
cairo/pixman/makefile.mk
dictionaries/da_DK/README_th_da_DK.txt
dictionaries/da_DK/description.xml
dictionaries/da_DK/dictionaries.xcu
dictionaries/da_DK/makefile.mk
dictionaries/da_DK/th_da_DK.dat
dictionaries/de_AT/th_de_AT_v2.idx
dictionaries/de_CH/th_de_CH_v2.idx
dictionaries/de_DE/COPYING
dictionaries/de_DE/COPYING_GPLv2
dictionaries/de_DE/COPYING_GPLv2.txt
dictionaries/de_DE/README_extension_owner.txt
dictionaries/de_DE/README_th_de_DE_v2.txt
dictionaries/de_DE/makefile.mk
dictionaries/de_DE/th_de_DE_v2.idx
icu/makefile.mk
moz/makefile.mk
python/makefile.mk
Diffstat (limited to 'python')
-rw-r--r-- | python/Python-parallel-make.patch | 36 | ||||
-rw-r--r-- | python/makefile.mk | 5 |
2 files changed, 37 insertions, 4 deletions
diff --git a/python/Python-parallel-make.patch b/python/Python-parallel-make.patch new file mode 100644 index 000000000000..81ce8dabe35b --- /dev/null +++ b/python/Python-parallel-make.patch @@ -0,0 +1,36 @@ +--- misc/Python-2.6.1/Makefile.pre.in.fix-parallel-make 2010-07-22 15:01:39.567996932 -0400 ++++ misc/build/Python-2.6.1/Makefile.pre.in 2010-07-22 15:47:02.437998509 -0400 +@@ -207,6 +207,7 @@ SIGNAL_OBJS= @SIGNAL_OBJS@ + + ########################################################################## + # Grammar ++GRAMMAR_STAMP= $(srcdir)/grammar-stamp + GRAMMAR_H= $(srcdir)/Include/graminit.h + GRAMMAR_C= $(srcdir)/Python/graminit.c + GRAMMAR_INPUT= $(srcdir)/Grammar/Grammar +@@ -530,10 +531,24 @@ Modules/getpath.o: $(srcdir)/Modules/get + Modules/python.o: $(srcdir)/Modules/python.c + $(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c + ++# 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_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) ++$(GRAMMAR_STAMP): $(PGEN) $(GRAMMAR_INPUT) + -@$(INSTALL) -d Include + -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++ touch $(GRAMMAR_STAMP) + + $(PGEN): $(PGENOBJS) + $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) diff --git a/python/makefile.mk b/python/makefile.mk index 00f79cee8741..eb72a267ca88 100644 --- a/python/makefile.mk +++ b/python/makefile.mk @@ -47,6 +47,7 @@ TARFILE_NAME=Python-$(PYVERSION) TARFILE_MD5=e81c2f0953aa60f8062c05a4673f2be0 PATCH_FILES=\ Python-$(PYVERSION).patch \ + Python-parallel-make.patch \ Python-ssl.patch \ Python-aix.patch \ Python-2.6.1-urllib.patch @@ -66,10 +67,6 @@ CC+:=$(C_RESTRICTIONFLAGS) .ENDIF # "$(COMNAME)"=="sunpro5" .ENDIF # "$(SYSBASE)"!="" -.IF "$(OS)$(COM)"=="LINUXGCC" -python_LDFLAGS+=-Wl,-z,noexecstack -.ENDIF - .IF "$(OS)$(CPU)"=="SOLARISU" CC+:=$(ARCH_FLAGS) python_LDFLAGS+=$(ARCH_FLAGS) |