blob: 9de76211e6b055a718ccaa4fd0ac35921251b4ca [file] [log] [blame]
From 0fbfab21290eeca5b908745e5fb51d2ab2a50aef Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 22 Feb 2017 17:53:40 -0800
Subject: [PATCH] Support PGEN_FOR_BUILD and FREEZE_IMPORTLIB_FOR_BUILD
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[ Andrey Smirnov: ported to Python 3.6 ]
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
Makefile.pre.in | 10 ++++++++++
configure.ac | 3 +++
2 files changed, 13 insertions(+)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 82b01c9..7c14a4e 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -719,10 +719,15 @@ Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
############################################################################
# Importlib
+ifeq (@FREEZE_IMPORTLIB_FOR_BUILD@,)
Programs/_freeze_importlib.o: Programs/_freeze_importlib.c Makefile
Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
$(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
+else
+Programs/_freeze_importlib: @FREEZE_IMPORTLIB_FOR_BUILD@
+ cp $^ $@
+endif
Python/importlib_external.h: @GENERATED_COMMENT@ $(srcdir)/Lib/importlib/_bootstrap_external.py Programs/_freeze_importlib Python/marshal.c
./Programs/_freeze_importlib \
@@ -796,8 +801,13 @@ $(GRAMMAR_H): @GENERATED_COMMENT@ $(GRAMMAR_INPUT) $(PGEN)
$(GRAMMAR_C): @GENERATED_COMMENT@ $(GRAMMAR_H)
touch $(GRAMMAR_C)
+ifeq (@PGEN_FOR_BUILD@,)
$(PGEN): $(PGENOBJS)
$(CC) $(OPT) $(PY_LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN)
+else
+$(PGEN): @PGEN_FOR_BUILD@
+ cp $^ $@
+endif
Parser/grammar.o: $(srcdir)/Parser/grammar.c \
$(srcdir)/Include/token.h \
diff --git a/configure.ac b/configure.ac
index 9a61018..3a12788 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,6 +91,9 @@ fi
AC_SUBST(PYTHON_FOR_BUILD)
AC_SUBST(GENERATED_COMMENT)
+AC_SUBST(PGEN_FOR_BUILD)
+AC_SUBST(FREEZE_IMPORTLIB_FOR_BUILD)
+
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
dnl can cause trouble.
--
2.9.3