diff mbox

[PATCHv1,07/26] pkg-python: no longer use distutilscross for setuptools

Message ID 1392324555-29246-8-git-send-email-thomas.petazzoni@free-electrons.com
State Superseded
Headers show

Commit Message

Thomas Petazzoni Feb. 13, 2014, 8:48 p.m. UTC
Thanks to the bump of Python 2.x, distutilscross is no longer needed
to achieve cross-compilation for setuptools packages. The host Python
2.x interpreter can be tricked into using the target compiler thanks
to pointing it to a different sysconfigdata module, which is achieved
using PYTHON_PATH.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-python.mk | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

Comments

Peter Korsgaard Feb. 14, 2014, 9:03 p.m. UTC | #1
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Thanks to the bump of Python 2.x, distutilscross is no longer needed
 > to achieve cross-compilation for setuptools packages. The host Python
 > 2.x interpreter can be tricked into using the target compiler thanks
 > to pointing it to a different sysconfigdata module, which is achieved
 > using PYTHON_PATH.

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

This no longer applies after Fabio's parallel make series. Could you
please rebase and send a v2?
diff mbox

Patch

diff --git a/package/pkg-python.mk b/package/pkg-python.mk
index 9c8767f..c4bbb37 100644
--- a/package/pkg-python.mk
+++ b/package/pkg-python.mk
@@ -114,7 +114,7 @@  endif
 else ifeq ($$($(2)_SETUP_TYPE),setuptools)
 ifeq ($(4),target)
 $(2)_BASE_ENV         = $$(PKG_PYTHON_SETUPTOOLS_ENV)
-$(2)_BASE_BUILD_TGT   = build -x
+$(2)_BASE_BUILD_TGT   = build
 $(2)_BASE_BUILD_OPT   =
 $(2)_BASE_INSTALL_OPT = $$(PKG_PYTHON_SETUPTOOLS_INSTALL_OPT)
 else
@@ -133,13 +133,12 @@  endif
 # front of the dependencies.
 #
 # However it must be repeated from inner-generic-package, as we need
-# to exclude the python, host-python, host-python-setuptools and
-# host-distutilscross packages, which are added below in the list of
-# dependencies depending on the package characteristics, and shouldn't
-# be derived automatically from the dependencies of the corresponding
-# target package. For example, target packages need
-# host-python-distutilscross, but not host packages.
-$(2)_DEPENDENCIES ?= $(filter-out host-python host-python-setuptools host-python-distutilscross $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
+# to exclude the python, host-python and host-python-setuptools
+# packages, which are added below in the list of dependencies
+# depending on the package characteristics, and shouldn't be derived
+# automatically from the dependencies of the corresponding target
+# package.
+$(2)_DEPENDENCIES ?= $(filter-out host-python host-python-setuptools $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
 
 # Target packages need both the python interpreter on the target (for
 # runtime) and the python interpreter on the host (for
@@ -152,17 +151,13 @@  $(2)_DEPENDENCIES += host-python
 endif
 
 # Setuptools based packages will need host-python-setuptools (both
-# host and target) and host-python-distutilscross (only target
-# packages). We need to have a special exclusion for the
+# host and target). We need to have a special exclusion for the
 # host-setuptools package itself: it is setuptools-based, but
 # shouldn't depend on host-setuptools (because it would otherwise
 # depend on itself!).
 ifeq ($$($(2)_SETUP_TYPE),setuptools)
 ifneq ($(2),HOST_PYTHON_SETUPTOOLS)
 $(2)_DEPENDENCIES += host-python-setuptools
-ifeq ($(4),target)
-$(2)_DEPENDENCIES += host-python-distutilscross
-endif
 endif
 endif