From 4e0180b746c61ee57bf99614aa20dd9d1fbe0757 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Tue, 18 Nov 2014 03:35:33 -0500 Subject: python3: several fixes for cross compiling * Add a patch to use CROSSPYTHONPATH as PYTHONPATH for PYTHON_FOR_BUILD, otherwise CROSSPYTHONPATH is never used, and it use the path in target builds to find libraries. * Add a patch to avoid finding host headers and libs * Fix a typo: s/python-native3/python3-native/ (From OE-Core rev: d3d00163671bda5395c9046c1109f711772e4ed9) (From OE-Core rev: 4cda344f2c159b81588e2418071865f501d46be9) Signed-off-by: Jackie Huang Signed-off-by: Ross Burton Signed-off-by: Richard Purdie Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/recipes-devtools/python/python3_3.3.3.bb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'meta/recipes-devtools/python/python3_3.3.3.bb') diff --git a/meta/recipes-devtools/python/python3_3.3.3.bb b/meta/recipes-devtools/python/python3_3.3.3.bb index 4497e02586..2c1f63f5b8 100644 --- a/meta/recipes-devtools/python/python3_3.3.3.bb +++ b/meta/recipes-devtools/python/python3_3.3.3.bb @@ -37,6 +37,8 @@ SRC_URI += "\ file://sysroot-include-headers.patch \ file://unixccompiler.patch \ file://avoid-ncursesw-include-path.patch \ + file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ + file://python3-setup.py-no-host-headers-libs.patch \ " SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c" SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb" @@ -62,6 +64,7 @@ TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__" TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" TARGET_CC_ARCH += "-DNDEBUG -fno-inline" EXTRA_OEMAKE += "CROSS_COMPILE=yes" +EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" # No ctypes option for python 3 PYTHONLSBOPTS = "" @@ -116,8 +119,8 @@ do_compile() { ARCH=${TARGET_ARCH} \ OPT="${CFLAGS}" libpython3.so - oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ - HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ @@ -139,9 +142,8 @@ do_install() { # rerun the build once again with original makefile this time # run install in a separate step to avoid compile/install race - oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ - HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ - CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ @@ -150,9 +152,8 @@ do_install() { ARCH=${TARGET_ARCH} \ DESTDIR=${D} LIBDIR=${libdir} - oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ - HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ - CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ + oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ + HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ STAGING_LIBDIR=${STAGING_LIBDIR} \ STAGING_INCDIR=${STAGING_INCDIR} \ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ -- cgit v1.2.3-54-g00ecf