Patchwork [CONSOLIDATED,PULL,20/23] python: regenerate plat-linux2/*.py

login
register
mail settings
Submitter Saul Wold
Date March 13, 2012, 7:58 a.m.
Message ID <8d240f4980352fc95b902648cbabeca582630db3.1331589797.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/23121/
State New
Headers show

Comments

Saul Wold - March 13, 2012, 7:58 a.m.
From: Andreas Oberritter <obi@opendreambox.org>

* If plat-linux2/DLFCN.py was present, python was broken in our
  image, i.e. it was unable to load many modules. This was due
  to changed RTLD_* constants in dlfcn.h
* Python includes a script, plat-linux2/regen, to regenerate
  the py source codes in this directory.
* Do what plat-linux2/regen would do, but use files from
  STAGING_INCDIR.

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
---
 meta/recipes-devtools/python/python_2.7.2.bb |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

Patch

diff --git a/meta/recipes-devtools/python/python_2.7.2.bb b/meta/recipes-devtools/python/python_2.7.2.bb
index 5ad4109..0a8e534 100644
--- a/meta/recipes-devtools/python/python_2.7.2.bb
+++ b/meta/recipes-devtools/python/python_2.7.2.bb
@@ -37,6 +37,17 @@  do_configure_prepend() {
 }
 
 do_compile() {
+        # regenerate platform specific files, because they depend on system headers
+        cd Lib/plat-linux2
+        include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python \
+                ${S}/Tools/scripts/h2py.py -i '(u_long)' \
+                ${STAGING_INCDIR}/dlfcn.h \
+                ${STAGING_INCDIR}/linux/cdrom.h \
+                ${STAGING_INCDIR}/netinet/in.h \
+                ${STAGING_INCDIR}/sys/types.h
+        sed -e 's,${STAGING_DIR_HOST},,g' -i *.py
+        cd -
+
 	#
 	# Copy config.h and an appropriate Makefile for distutils.sysconfig,
 	# which laters uses the information out of these to compile extensions