diff options
Diffstat (limited to 'meta/recipes-devtools/python')
3 files changed, 68 insertions, 8 deletions
diff --git a/meta/recipes-devtools/python/python3/python3-setup.py-no-host-headers-libs.patch b/meta/recipes-devtools/python/python3/python3-setup.py-no-host-headers-libs.patch new file mode 100644 index 0000000000..8b6476037f --- /dev/null +++ b/meta/recipes-devtools/python/python3/python3-setup.py-no-host-headers-libs.patch | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | From 43238e1ac13e32984d015c92a5841f3de1fe1d15 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
| 3 | Date: Tue, 18 Nov 2014 00:07:07 -0500 | ||
| 4 | Subject: [PATCH] setup.py: no host headers libs | ||
| 5 | |||
| 6 | When we are cross-compiling, setup.py should never look in /usr | ||
| 7 | or /usr/local to find headers or libraries. | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate [Cross compile specific] | ||
| 10 | |||
| 11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 12 | --- | ||
| 13 | setup.py | 3 --- | ||
| 14 | 1 file changed, 3 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/setup.py b/setup.py | ||
| 17 | index f020b28..e8339cd 100644 | ||
| 18 | --- a/setup.py | ||
| 19 | +++ b/setup.py | ||
| 20 | @@ -444,10 +444,7 @@ class PyBuildExt(build_ext): | ||
| 21 | if not cross_compiling: | ||
| 22 | add_dir_to_list(self.compiler.library_dirs, os.path.join('/usr/local', sys.lib)) | ||
| 23 | add_dir_to_list(self.compiler.include_dirs, '/usr/local/include') | ||
| 24 | - # only change this for cross builds for 3.3, issues on Mageia | ||
| 25 | - if cross_compiling: | ||
| 26 | self.add_gcc_paths() | ||
| 27 | - if not cross_compiling: | ||
| 28 | self.add_multiarch_paths() | ||
| 29 | |||
| 30 | # Add paths specified in the environment variables LDFLAGS and | ||
| 31 | -- | ||
| 32 | 2.0.0 | ||
diff --git a/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch b/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch new file mode 100644 index 0000000000..bf0a56f220 --- /dev/null +++ b/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | From 53ed216d7bf70dd2a925432b6805a701e5fc3e0e Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
| 3 | Date: Mon, 17 Nov 2014 06:44:47 +0000 | ||
| 4 | Subject: [PATCH] python3 use CROSSPYTHONPATH for PYTHON_FOR_BUILD | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [Cross compile specific] | ||
| 7 | |||
| 8 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
| 9 | --- | ||
| 10 | configure.ac | 2 +- | ||
| 11 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 12 | |||
| 13 | diff --git a/configure.ac b/configure.ac | ||
| 14 | index 989baf9..2890c96 100644 | ||
| 15 | --- a/configure.ac | ||
| 16 | +++ b/configure.ac | ||
| 17 | @@ -67,7 +67,7 @@ if test "$cross_compiling" = yes; then | ||
| 18 | AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) | ||
| 19 | fi | ||
| 20 | AC_MSG_RESULT($interp) | ||
| 21 | - PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp | ||
| 22 | + PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) '$interp | ||
| 23 | fi | ||
| 24 | elif test "$cross_compiling" = maybe; then | ||
| 25 | AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) | ||
| 26 | -- | ||
| 27 | 2.0.1 | ||
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 += "\ | |||
| 37 | file://sysroot-include-headers.patch \ | 37 | file://sysroot-include-headers.patch \ |
| 38 | file://unixccompiler.patch \ | 38 | file://unixccompiler.patch \ |
| 39 | file://avoid-ncursesw-include-path.patch \ | 39 | file://avoid-ncursesw-include-path.patch \ |
| 40 | file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ | ||
| 41 | file://python3-setup.py-no-host-headers-libs.patch \ | ||
| 40 | " | 42 | " |
| 41 | SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c" | 43 | SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c" |
| 42 | SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb" | 44 | SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb" |
| @@ -62,6 +64,7 @@ TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__" | |||
| 62 | TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" | 64 | TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__" |
| 63 | TARGET_CC_ARCH += "-DNDEBUG -fno-inline" | 65 | TARGET_CC_ARCH += "-DNDEBUG -fno-inline" |
| 64 | EXTRA_OEMAKE += "CROSS_COMPILE=yes" | 66 | EXTRA_OEMAKE += "CROSS_COMPILE=yes" |
| 67 | EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" | ||
| 65 | 68 | ||
| 66 | # No ctypes option for python 3 | 69 | # No ctypes option for python 3 |
| 67 | PYTHONLSBOPTS = "" | 70 | PYTHONLSBOPTS = "" |
| @@ -116,8 +119,8 @@ do_compile() { | |||
| 116 | ARCH=${TARGET_ARCH} \ | 119 | ARCH=${TARGET_ARCH} \ |
| 117 | OPT="${CFLAGS}" libpython3.so | 120 | OPT="${CFLAGS}" libpython3.so |
| 118 | 121 | ||
| 119 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ | 122 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ |
| 120 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ | 123 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ |
| 121 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 124 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 122 | STAGING_INCDIR=${STAGING_INCDIR} \ | 125 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 123 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | 126 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ |
| @@ -139,9 +142,8 @@ do_install() { | |||
| 139 | 142 | ||
| 140 | # rerun the build once again with original makefile this time | 143 | # rerun the build once again with original makefile this time |
| 141 | # run install in a separate step to avoid compile/install race | 144 | # run install in a separate step to avoid compile/install race |
| 142 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ | 145 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ |
| 143 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ | 146 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ |
| 144 | CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ | ||
| 145 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 147 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 146 | STAGING_INCDIR=${STAGING_INCDIR} \ | 148 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 147 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | 149 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ |
| @@ -150,9 +152,8 @@ do_install() { | |||
| 150 | ARCH=${TARGET_ARCH} \ | 152 | ARCH=${TARGET_ARCH} \ |
| 151 | DESTDIR=${D} LIBDIR=${libdir} | 153 | DESTDIR=${D} LIBDIR=${libdir} |
| 152 | 154 | ||
| 153 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native3/pgen \ | 155 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ |
| 154 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native3/python3 \ | 156 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ |
| 155 | CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \ | ||
| 156 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 157 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
| 157 | STAGING_INCDIR=${STAGING_INCDIR} \ | 158 | STAGING_INCDIR=${STAGING_INCDIR} \ |
| 158 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | 159 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ |
