]> granicus.if.org Git - python/commitdiff
Issue #27229: Fix in-tree cross-build rule, by Xavier de Gaye
authorMartin Panter <vadmium+py@gmail.com>
Tue, 7 Jun 2016 00:27:17 +0000 (00:27 +0000)
committerMartin Panter <vadmium+py@gmail.com>
Tue, 7 Jun 2016 00:27:17 +0000 (00:27 +0000)
Makefile.pre.in
Misc/NEWS

index dee126395b8b404bc4bd269b67435a23eee87494..eb88f5f0d81b24dc955589ea104cbb0a4ee1817f 100644 (file)
@@ -793,13 +793,16 @@ $(GRAMMAR_H): $(GRAMMAR_INPUT) $(PGEN)
        if test "$(cross_compiling)" != "yes"; then \
                $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \
        else \
-               cp $(srcdir)/Include/graminit.h $(GRAMMAR_H); \
+               # Avoid copying the file onto itself for an in-tree build \
+               cp $(srcdir)/Include/graminit.h $(GRAMMAR_H).tmp; \
+               mv $(GRAMMAR_H).tmp $(GRAMMAR_H); \
        fi
 $(GRAMMAR_C): $(GRAMMAR_H)
        if test "$(cross_compiling)" != "yes"; then \
                touch $(GRAMMAR_C); \
        else \
-               cp $(srcdir)/Python/graminit.c $(GRAMMAR_C); \
+               cp $(srcdir)/Python/graminit.c $(GRAMMAR_C).tmp; \
+               mv $(GRAMMAR_C).tmp $(GRAMMAR_C); \
        fi
 
 $(PGEN): $(PGENOBJS)
index feb0c624b8a5325ca8fecb247a64dd0c6d59f08d..da2dc3ec8e3968d5ecd94a1fe724a1c0fed94f88 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -581,6 +581,9 @@ Build
   source code anyway, and is still regenerated when doing a native build.
   Patch by Xavier de Gaye.
 
+- Issue #27229: Fix the cross-compiling pgen rule for in-tree builds.  Patch
+  by Xavier de Gaye.
+
 - Issue #21668: Link audioop, _datetime, _ctypes_test modules to libm,
   except on Mac OS X. Patch written by Xavier de Gaye.