64 lines
2.3 KiB
Diff
64 lines
2.3 KiB
Diff
|
Make sure setup.py reads the correct CONFIG_ARGS
|
||
|
|
||
|
The setup.py script that builds and installs all the Python modules
|
||
|
shipped with the interpreter looks at the CONFIG_ARGS variable stored
|
||
|
in the "sysconfig" module to look at the ./configure options and
|
||
|
adjust its behaviour accordingly.
|
||
|
|
||
|
Unfortunately, when cross-compiling, the value of CONFIG_ARGS returned
|
||
|
by the sysconfig are the one passed to the ./configure script of the
|
||
|
*host* Python and not the one we're currently building for the target.
|
||
|
|
||
|
In order to avoid that, we re-initialize the values in the sysconfig
|
||
|
module by re-reading the environment at the beginning of the setup.py
|
||
|
script, and we make sure that the CONFIG_ARGS variable is actually
|
||
|
part of the environment of setup.py.
|
||
|
|
||
|
See the beginning of
|
||
|
http://article.gmane.org/gmane.comp.python.devel/99772 for the
|
||
|
inspiration.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
|
||
|
---
|
||
|
Makefile.pre.in | 4 +++-
|
||
|
setup.py | 3 +++
|
||
|
2 files changed, 6 insertions(+), 1 deletion(-)
|
||
|
|
||
|
Index: Python-3.3.0/setup.py
|
||
|
===================================================================
|
||
|
--- Python-3.3.0.orig/setup.py
|
||
|
+++ Python-3.3.0/setup.py
|
||
|
@@ -30,6 +30,9 @@
|
||
|
# Were we compiled --with-pydebug or with #define Py_DEBUG?
|
||
|
COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
|
||
|
|
||
|
+sysconfig.get_config_vars()
|
||
|
+sysconfig._CONFIG_VARS.update(os.environ)
|
||
|
+
|
||
|
# This global variable is used to hold the list of modules to be disabled.
|
||
|
disabled_module_list = []
|
||
|
|
||
|
Index: Python-3.3.0/Makefile.pre.in
|
||
|
===================================================================
|
||
|
--- Python-3.3.0.orig/Makefile.pre.in
|
||
|
+++ Python-3.3.0/Makefile.pre.in
|
||
|
@@ -478,6 +478,7 @@
|
||
|
sharedmods: $(BUILDPYTHON) pybuilddir.txt
|
||
|
case $$MAKEFLAGS in *s*) quiet=-q; esac; \
|
||
|
$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
|
||
|
+ CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||
|
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||
|
|
||
|
# Build static library
|
||
|
@@ -1183,7 +1184,8 @@
|
||
|
# Install the dynamically loadable modules
|
||
|
# This goes into $(exec_prefix)
|
||
|
sharedinstall: sharedmods
|
||
|
- $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||
|
+ $(RUNSHARED) CONFIG_ARGS="$(CONFIG_ARGS)" \
|
||
|
+ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \
|
||
|
--prefix=$(prefix) \
|
||
|
--install-scripts=$(BINDIR) \
|
||
|
--install-platlib=$(DESTSHARED) \
|