diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-11-14 14:31:24 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-11-18 16:42:07 +0000 |
| commit | 89bc43e1b2dcf0d15004b0eb65ea75c6adbfcf8e (patch) | |
| tree | 84ec9eb39b1bfba19d02acc2f9a26bee72c3c767 /meta/recipes-devtools/python/python_2.7.3.bb | |
| parent | dadb3a7fa70a016fd4bf2b059d37a5e0f759eef1 (diff) | |
| download | poky-89bc43e1b2dcf0d15004b0eb65ea75c6adbfcf8e.tar.gz | |
python: Resolve intermediate staging issues
Its bad practise to poke into the sysroot without knowledge of sstate.
This adds a patch to python allowing us to account for cross compiling
and allow it to find the Makefile/pyconfig.h files without needing them
in the sysroot for do_compile/do_install to complete.
Tested on two architectures and compared with buildhistory with no
significant delta.
(From OE-Core rev: 16da4f75a75dc8020803df9ea73a2a7ead88cc5a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python_2.7.3.bb')
| -rw-r--r-- | meta/recipes-devtools/python/python_2.7.3.bb | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/meta/recipes-devtools/python/python_2.7.3.bb b/meta/recipes-devtools/python/python_2.7.3.bb index 3a17c85bb8..f0d5c90d30 100644 --- a/meta/recipes-devtools/python/python_2.7.3.bb +++ b/meta/recipes-devtools/python/python_2.7.3.bb | |||
| @@ -27,6 +27,7 @@ SRC_URI += "\ | |||
| 27 | file://avoid_warning_for_sunos_specific_module.patch \ | 27 | file://avoid_warning_for_sunos_specific_module.patch \ |
| 28 | file://python-2.7.3-berkeley-db-5.3.patch \ | 28 | file://python-2.7.3-berkeley-db-5.3.patch \ |
| 29 | file://python-2.7.3-remove-bsdb-rpath.patch \ | 29 | file://python-2.7.3-remove-bsdb-rpath.patch \ |
| 30 | file://builddir.patch \ | ||
| 30 | " | 31 | " |
| 31 | 32 | ||
| 32 | S = "${WORKDIR}/Python-${PV}" | 33 | S = "${WORKDIR}/Python-${PV}" |
| @@ -55,17 +56,6 @@ do_compile() { | |||
| 55 | sed -e 's,${STAGING_DIR_HOST},,g' -i *.py | 56 | sed -e 's,${STAGING_DIR_HOST},,g' -i *.py |
| 56 | cd - | 57 | cd - |
| 57 | 58 | ||
| 58 | # | ||
| 59 | # Copy config.h and an appropriate Makefile for distutils.sysconfig, | ||
| 60 | # which laters uses the information out of these to compile extensions | ||
| 61 | # | ||
| 62 | # The following part (until python compilation) should probably moved to an | ||
| 63 | # -initial recipe to handle staging better | ||
| 64 | # | ||
| 65 | install -d ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/ | ||
| 66 | install -d ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ | ||
| 67 | install -m 0644 pyconfig.h ${STAGING_INCDIR}/python${PYTHON_MAJMIN}/ | ||
| 68 | |||
| 69 | # remove hardcoded ccache, see http://bugs.openembedded.net/show_bug.cgi?id=4144 | 59 | # remove hardcoded ccache, see http://bugs.openembedded.net/show_bug.cgi?id=4144 |
| 70 | sed -i -e s,ccache,'$(CCACHE)', Makefile | 60 | sed -i -e s,ccache,'$(CCACHE)', Makefile |
| 71 | 61 | ||
| @@ -83,22 +73,12 @@ do_compile() { | |||
| 83 | -e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \ | 73 | -e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \ |
| 84 | -e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \ | 74 | -e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \ |
| 85 | Makefile | 75 | Makefile |
| 86 | install -m 0644 Makefile ${STAGING_LIBDIR}/python${PYTHON_MAJMIN}/config/ | ||
| 87 | # save copy of it now, because if we do it in do_install and | 76 | # save copy of it now, because if we do it in do_install and |
| 88 | # then call do_install twice we get Makefile.orig == Makefile.sysroot | 77 | # then call do_install twice we get Makefile.orig == Makefile.sysroot |
| 89 | install -m 0644 Makefile Makefile.sysroot | 78 | install -m 0644 Makefile Makefile.sysroot |
| 90 | 79 | ||
| 91 | export CROSS_COMPILE="${TARGET_PREFIX}" | 80 | export CROSS_COMPILE="${TARGET_PREFIX}" |
| 92 | 81 | export PYTHONBUILDDIR="${S}" | |
| 93 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ | ||
| 94 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ | ||
| 95 | STAGING_LIBDIR=${STAGING_LIBDIR} \ | ||
| 96 | STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \ | ||
| 97 | STAGING_INCDIR=${STAGING_INCDIR} \ | ||
| 98 | BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | ||
| 99 | OPT="${CFLAGS}" libpython${PYTHON_MAJMIN}.so | ||
| 100 | |||
| 101 | oe_libinstall -so libpython${PYTHON_MAJMIN} ${STAGING_LIBDIR} | ||
| 102 | 82 | ||
| 103 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ | 83 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ |
| 104 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ | 84 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ |
| @@ -115,6 +95,7 @@ do_install() { | |||
| 115 | install -m 0644 Makefile.orig Makefile | 95 | install -m 0644 Makefile.orig Makefile |
| 116 | 96 | ||
| 117 | export CROSS_COMPILE="${TARGET_PREFIX}" | 97 | export CROSS_COMPILE="${TARGET_PREFIX}" |
| 98 | export PYTHONBUILDDIR="${S}" | ||
| 118 | 99 | ||
| 119 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ | 100 | oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \ |
| 120 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ | 101 | HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \ |
