1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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 | 6 +++---
- setup.py | 3 +++
- 2 files changed, 6 insertions(+), 3 deletions(-)
- Index: Python-2.7.2/Makefile.pre.in
- ===================================================================
- --- Python-2.7.2.orig/Makefile.pre.in
- +++ Python-2.7.2/Makefile.pre.in
- @@ -411,8 +411,8 @@
- # Build the shared modules
- sharedmods: $(BUILDPYTHON)
- @case $$MAKEFLAGS in \
- - *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
- - *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
- + *s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py -q build;; \
- + *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py build;; \
- esac
-
- # Build static library
- @@ -1044,7 +1044,7 @@
- # Install the dynamically loadable modules
- # This goes into $(exec_prefix)
- sharedinstall: sharedmods
- - $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
- + $(RUNSHARED) CROSS_COMPILING=@CROSS_COMPILING@ DISABLED_EXTENSIONS="$(DISABLED_EXTENSIONS)" CONFIG_ARGS="$(CONFIG_ARGS)" $(PYTHON_FOR_BUILD) -E $(srcdir)/setup.py install \
- --prefix=$(prefix) \
- --install-scripts=$(BINDIR) \
- --install-platlib=$(DESTSHARED) \
- Index: Python-2.7.2/setup.py
- ===================================================================
- --- Python-2.7.2.orig/setup.py
- +++ Python-2.7.2/setup.py
- @@ -20,6 +20,9 @@
- # Were we compiled --with-pydebug or with #define Py_DEBUG?
- COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
-
- +sysconfig.get_config_vars()
- +sysconfig._CONFIG_VARS.update(os.environ)
- +
- # This global variable is used to hold the list of modules to be disabled.
- try:
- disabled_module_list = sysconfig.get_config_var("DISABLED_EXTENSIONS").split(" ")
|