changeset: 102526:e3757f3e1848 branch: 2.7 parent: 102521:af2a7161fa7f user: Martin Panter date: Fri Jul 29 05:52:32 2016 +0000 files: Makefile.pre.in Misc/NEWS configure configure.ac description: Issue #27641: Comment out regeneration rules when cross compiling diff -r af2a7161fa7f -r e3757f3e1848 Makefile.pre.in --- a/Makefile.pre.in Wed Aug 03 18:58:12 2016 -0400 +++ b/Makefile.pre.in Fri Jul 29 05:52:32 2016 +0000 @@ -200,7 +200,6 @@ PYTHON= python$(EXE) BUILDPYTHON= python$(BUILDEXE) -cross_compiling=@cross_compiling@ PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@ _PYTHON_HOST_PLATFORM=@_PYTHON_HOST_PLATFORM@ HOST_GNU_TYPE= @host@ @@ -680,22 +679,11 @@ Modules/pwdmodule.o: $(srcdir)/Modules/pwdmodule.c $(srcdir)/Modules/posixmodule.h -$(GRAMMAR_H): $(GRAMMAR_INPUT) @PGEN_DEPENDENCY@ +$(GRAMMAR_H): @GENERATED_COMMENT@ $(GRAMMAR_INPUT) $(PGEN) @$(MKDIR_P) Include - # Avoid copying the file onto itself for an in-tree build - if test "$(cross_compiling)" != "yes"; then \ - $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C); \ - else \ - 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).tmp; \ - mv $(GRAMMAR_C).tmp $(GRAMMAR_C); \ - fi + $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) +$(GRAMMAR_C): @GENERATED_COMMENT@ $(GRAMMAR_H) + touch $(GRAMMAR_C) $(PGEN): $(PGENOBJS) $(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) diff -r af2a7161fa7f -r e3757f3e1848 Misc/NEWS --- a/Misc/NEWS Wed Aug 03 18:58:12 2016 -0400 +++ b/Misc/NEWS Fri Jul 29 05:52:32 2016 +0000 @@ -94,8 +94,8 @@ Build ----- -- Issue #27490: Do not build pgen when cross-compiling. Patch by Thomas - Perl. +- Issue #27641: The configure script now inserts comments into the makefile + to prevent the pgen executable from being cross-compiled. - Issue #26930: Update Windows builds to use OpenSSL 1.0.2h. diff -r af2a7161fa7f -r e3757f3e1848 configure --- a/configure Wed Aug 03 18:58:12 2016 -0400 +++ b/configure Fri Jul 29 05:52:32 2016 +0000 @@ -735,7 +735,7 @@ CONFIG_ARGS SOVERSION VERSION -PGEN_DEPENDENCY +GENERATED_COMMENT PYTHON_FOR_BUILD host_os host_vendor @@ -745,7 +745,6 @@ build_vendor build_cpu build -cross_compiling target_alias host_alias build_alias @@ -2800,7 +2799,6 @@ ac_config_headers="$ac_config_headers pyconfig.h" - ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then @@ -2925,12 +2923,13 @@ $as_echo "$interp" >&6; } PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp fi - PGEN_DEPENDENCY='' + # Used to comment out stuff for rebuilding generated files + GENERATED_COMMENT='#' elif test "$cross_compiling" = maybe; then as_fn_error $? "Cross compiling required --host=HOST-TUPLE and --build=ARCH" "$LINENO" 5 else PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' - PGEN_DEPENDENCY='$(PGEN)' + GENERATED_COMMENT='' fi diff -r af2a7161fa7f -r e3757f3e1848 configure.ac --- a/configure.ac Wed Aug 03 18:58:12 2016 -0400 +++ b/configure.ac Fri Jul 29 05:52:32 2016 +0000 @@ -12,7 +12,6 @@ AC_CONFIG_SRCDIR([Include/object.h]) AC_CONFIG_HEADER(pyconfig.h) -AC_SUBST(cross_compiling) AC_CANONICAL_HOST AC_SUBST(build) AC_SUBST(host) @@ -36,15 +35,16 @@ AC_MSG_RESULT($interp) PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp fi - PGEN_DEPENDENCY='' + # Used to comment out stuff for rebuilding generated files + GENERATED_COMMENT='#' elif test "$cross_compiling" = maybe; then AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) else PYTHON_FOR_BUILD='./$(BUILDPYTHON) -E' - PGEN_DEPENDENCY='$(PGEN)' + GENERATED_COMMENT='' fi AC_SUBST(PYTHON_FOR_BUILD) -AC_SUBST(PGEN_DEPENDENCY) +AC_SUBST(GENERATED_COMMENT) dnl Ensure that if prefix is specified, it does not end in a slash. If dnl it does, we get path names containing '//' which is both ugly and