From 7e0e7dc25f50acd6922493ae620ee5cbf107a79a Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni 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 Signed-off-by: Samuel Martin [ Andrey Smirnov: ported to Python 3.6 ] Signed-off-by: Andrey Smirnov [ Adam Duskett: ported to Python 3.10.0 ] Signed-off-by: Adam Duskett --- 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