diff options
Diffstat (limited to 'meta/recipes-devtools/python')
-rw-r--r-- | meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch | 27 | ||||
-rw-r--r-- | meta/recipes-devtools/python/python_2.7.2.bb | 5 |
2 files changed, 32 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch b/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch new file mode 100644 index 0000000000..6ccdb948b9 --- /dev/null +++ b/meta/recipes-devtools/python/python/setup_py_skip_cross_import_check.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | This patch skips over the 'import check' setup.py does when building | ||
2 | extensions. This generally won't work when cross-compiling. | ||
3 | |||
4 | Upstream-Status: Inappropriate [embedded-specific] | ||
5 | |||
6 | Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> | ||
7 | |||
8 | Index: Python-2.7.2/setup.py | ||
9 | =================================================================== | ||
10 | --- Python-2.7.2.orig/setup.py 2011-11-04 16:46:34.553796410 -0500 | ||
11 | +++ Python-2.7.2/setup.py 2011-11-04 16:59:49.692802313 -0500 | ||
12 | @@ -287,6 +287,15 @@ | ||
13 | (ext.name, sys.exc_info()[1])) | ||
14 | self.failed.append(ext.name) | ||
15 | return | ||
16 | + | ||
17 | + # If we're cross-compiling, we want to skip the import check | ||
18 | + # i.e. we shouldn't be dynamically loading target shared libs | ||
19 | + if os.environ.get('CROSS_COMPILE') is not None: | ||
20 | + self.announce( | ||
21 | + 'WARNING: skipping import check for cross-compiled "%s"' % | ||
22 | + ext.name) | ||
23 | + return | ||
24 | + | ||
25 | # Workaround for Mac OS X: The Carbon-based modules cannot be | ||
26 | # reliably imported into a command-line Python | ||
27 | if 'Carbon' in ext.extra_link_args: | ||
diff --git a/meta/recipes-devtools/python/python_2.7.2.bb b/meta/recipes-devtools/python/python_2.7.2.bb index bb088a4620..360e64e9a6 100644 --- a/meta/recipes-devtools/python/python_2.7.2.bb +++ b/meta/recipes-devtools/python/python_2.7.2.bb | |||
@@ -18,6 +18,7 @@ SRC_URI += "\ | |||
18 | file://multilib.patch \ | 18 | file://multilib.patch \ |
19 | file://cgi_py.patch \ | 19 | file://cgi_py.patch \ |
20 | file://remove_sqlite_rpath.patch \ | 20 | file://remove_sqlite_rpath.patch \ |
21 | file://setup_py_skip_cross_import_check.patch \ | ||
21 | " | 22 | " |
22 | 23 | ||
23 | S = "${WORKDIR}/Python-${PV}" | 24 | S = "${WORKDIR}/Python-${PV}" |
@@ -57,6 +58,8 @@ do_compile() { | |||
57 | # then call do_install twice we get Makefile.orig == Makefile.sysroot | 58 | # then call do_install twice we get Makefile.orig == Makefile.sysroot |
58 | install -m 0644 Makefile Makefile.sysroot | 59 | install -m 0644 Makefile Makefile.sysroot |
59 | 60 | ||
61 | export CROSS_COMPILE="${TARGET_PREFIX}" | ||
62 | |||
60 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ | 63 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ |
61 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ | 64 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ |
62 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | 65 | STAGING_LIBDIR=${STAGING_LIBDIR} \ |
@@ -78,6 +81,8 @@ do_install() { | |||
78 | # make install needs the original Makefile, or otherwise the inclues would | 81 | # make install needs the original Makefile, or otherwise the inclues would |
79 | # go to ${D}${STAGING...}/... | 82 | # go to ${D}${STAGING...}/... |
80 | install -m 0644 Makefile.orig Makefile | 83 | install -m 0644 Makefile.orig Makefile |
84 | |||
85 | export CROSS_COMPILE="${TARGET_PREFIX}" | ||
81 | 86 | ||
82 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ | 87 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \ |
83 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ | 88 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \ |