3fed424566
Previously, we used support/scripts/pycompile.py to generate the pyc files for the python libraries. While the script worked, it did not follow the PEP 3147 layout requirements for py+pyc deployments. Now, use the package's own compileall.py script. This will follow PEP 3147 guidelines. It also supports "legacy" pyc only deployments as described here: https://peps.python.org/pep-3147/#case-4-legacy-pyc-files-and-source-less-imports With this change, we no longer need to hack support for side-by-side pyc files because files will be deployed as appropriate. This also has the added benefit of not requiring python3 on the host to build host-python3. Fixes: #14911 Signed-off-by: Vincent Fazio <vfazio@xes-inc.com> [yann.morin.1998@free.fr: - build-tested in a python-less environment - build+run-tested with the runtime-test infra ] Tested-by: Yann E. MORIN <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
94 lines
3.0 KiB
Diff
94 lines
3.0 KiB
Diff
From 7e0e7dc25f50acd6922493ae620ee5cbf107a79a Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Date: Wed, 22 Feb 2017 17:40:45 -0800
|
|
Subject: [PATCH] Add an option to disable expat
|
|
|
|
This patch replaces the existing --with-system-expat option with a
|
|
--with-expat={system,builtin,none} option, which allows to tell Python
|
|
whether we want to use the system expat (already installed), the expat
|
|
builtin the Python sources, or no expat at all (which disables the
|
|
installation of XML modules).
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
|
[ Andrey Smirnov: ported to Python 3.6 ]
|
|
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
|
|
[ Adam Duskett: ported to Python 3.10.0 ]
|
|
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
---
|
|
Makefile.pre.in | 5 ++++-
|
|
configure.ac | 18 +++++++++++++-----
|
|
setup.py | 2 +-
|
|
3 files changed, 18 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
|
index f89f155..08c5e8a 100644
|
|
--- a/Makefile.pre.in
|
|
+++ b/Makefile.pre.in
|
|
@@ -1450,7 +1450,6 @@ LIBSUBDIRS= asyncio \
|
|
urllib \
|
|
venv venv/scripts venv/scripts/common venv/scripts/posix \
|
|
wsgiref \
|
|
- $(XMLLIBSUBDIRS) \
|
|
xmlrpc \
|
|
zoneinfo
|
|
TESTSUBDIRS= ctypes/test \
|
|
@@ -1549,6 +1548,10 @@ ifeq (@CURSES@,yes)
|
|
LIBSUBDIRS += curses
|
|
endif
|
|
|
|
+ifeq (@EXPAT@,yes)
|
|
+LIBSUBDIRS += $(XMLLIBSUBDIRS)
|
|
+endif
|
|
+
|
|
TEST_MODULES=@TEST_MODULES@
|
|
libinstall: build_all $(srcdir)/Modules/xxmodule.c
|
|
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 4f1cda5..e99a174 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -3094,13 +3094,21 @@ PKG_PROG_PKG_CONFIG
|
|
AC_SUBST(DISABLED_EXTENSIONS)
|
|
|
|
# Check for use of the system expat library
|
|
-AC_MSG_CHECKING(for --with-system-expat)
|
|
-AC_ARG_WITH(system_expat,
|
|
- AS_HELP_STRING([--with-system-expat], [build pyexpat module using an installed expat library, see Doc/library/pyexpat.rst (default is no)]),
|
|
+AC_MSG_CHECKING(for --with-expat)
|
|
+AC_ARG_WITH(expat,
|
|
+ AS_HELP_STRING([--with-expat], [select which expat version to use: system, builtin, none]),
|
|
[],
|
|
- [with_system_expat="no"])
|
|
+ [with_expat="builtin"])
|
|
|
|
-AC_MSG_RESULT($with_system_expat)
|
|
+AC_MSG_RESULT($with_expat)
|
|
+
|
|
+if test "$with_expat" != "none"; then
|
|
+ EXPAT=yes
|
|
+else
|
|
+ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} pyexpat"
|
|
+ EXPAT=no
|
|
+fi
|
|
+AC_SUBST(EXPAT)
|
|
|
|
# Check for use of the system libffi library
|
|
AC_MSG_CHECKING(for --with-system-ffi)
|
|
diff --git a/setup.py b/setup.py
|
|
index 663fd44..e30ed52 100644
|
|
--- a/setup.py
|
|
+++ b/setup.py
|
|
@@ -1764,7 +1764,7 @@ class PyBuildExt(build_ext):
|
|
#
|
|
# More information on Expat can be found at www.libexpat.org.
|
|
#
|
|
- if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|
+ if '--with-expat=system' in sysconfig.get_config_var("CONFIG_ARGS"):
|
|
expat_inc = []
|
|
define_macros = []
|
|
extra_compile_args = []
|
|
--
|
|
2.30.2
|
|
|