From 0fbfab21290eeca5b908745e5fb51d2ab2a50aef Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni 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 [ Andrey Smirnov: ported to Python 3.6 ] Signed-off-by: Andrey Smirnov --- 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