live-bootstrap/sysc/python-2.5.6/patches/pgen-timestamp.patch

37 lines
1.2 KiB
Diff

SPDX-FileCopyrightText: 2011 Antoine Pitrou <solipsis@pitrou.net>
SPDX-License-Identifier: PSF-2.0
Don't run pgen twice when using make -j
Don't ignore pgen error (on "make Parser/pgen.stamp")
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 25a82aff01..03f85fd04b 100644
--- Makefile.pre.in
+++ Makefile.pre.in
@@ -471,10 +471,12 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
Modules/python.o: $(srcdir)/Modules/python.c
$(MAINCC) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/python.c
-
-$(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
+# Use a stamp file to prevent make -j invoking pgen twice
+$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp
+Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT)
-@ mkdir Include
- -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
+ -touch Parser/pgen.stamp
$(PGEN): $(PGENOBJS)
$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
@@ -1030,7 +1032,7 @@ clean: pycremoval
clobber: clean
-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
- tags TAGS \
+ tags TAGS Parser/pgen.stamp \
config.cache config.log pyconfig.h Modules/config.c
-rm -rf build platform
-rm -rf $(PYTHONFRAMEWORKDIR)