[oe-commits] Chong.Lu at windriver.com : python-m2crypto: avoid swig problem

git at git.openembedded.org git at git.openembedded.org
Fri Jun 13 11:43:35 UTC 2014


Module: meta-openembedded.git
Branch: master-next
Commit: 872621cf60db401e2826ebfa2c1572a8bf53f2d5
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=872621cf60db401e2826ebfa2c1572a8bf53f2d5

Author: Chong.Lu at windriver.com <Chong.Lu at windriver.com>
Date:   Fri Jun  6 18:12:47 2014 +0800

python-m2crypto: avoid swig problem

Swig is used to generate C source and it has trouble processing opensslconf.h
sometimes. So, we help it out when multilib variants exist.

For native builds, the variant header will never exist.

Specific multi-lib header files might be named *-32.h or *-n32.h, so we check
for both names. We also might check for *-n64.h although that will never exist.
It appears that *-o??.h will never exist, so we don't check for that.

Signed-off-by: Joe Slater <jslater at windriver.com>
Signed-off-by: Chong Lu <Chong.Lu at windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../python/python-m2crypto_0.21.1.bb               | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
index 21c0269..67ec921 100644
--- a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
+++ b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
@@ -1,7 +1,7 @@
 SUMMARY = "A Python crypto and SSL toolkit"
 HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
 
-DEPENDS = "openssl swig-native"
+DEPENDS = "openssl swig-native python"
 
 LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=b0e1f0b7d0ce8a62c18b1287b991800e"
@@ -20,4 +20,25 @@ SWIG_FEATURES_x86-64 = "-D__x86_64__"
 SWIG_FEATURES ?= ""
 export SWIG_FEATURES
 
+# Get around a problem with swig, but only if the
+# multilib header file exists.
+#
+do_compile_prepend() {
+    if [ "${SITEINFO_BITS}" = "64" ];then
+        bit="64"
+    else
+        bit="32"
+    fi
+
+    if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ] ;then
+        for i in SWIG/_ec.i SWIG/_evp.i; do
+            sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i"
+        done
+    elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
+        for i in SWIG/_ec.i SWIG/_evp.i; do
+            sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i"
+        done
+    fi
+}
+
 BBCLASSEXTEND = "native"



More information about the Openembedded-commits mailing list