aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/python
diff options
context:
space:
mode:
authorChong.Lu@windriver.com <Chong.Lu@windriver.com>2014-06-06 18:12:47 +0800
committerMartin Jansa <Martin.Jansa@gmail.com>2014-06-13 13:38:11 +0200
commit872621cf60db401e2826ebfa2c1572a8bf53f2d5 (patch)
treea60f0cd991e2cd532820c8c636ee964606ea1338 /meta-oe/recipes-devtools/python
parent65d71946f2e9cf7a55dc1f153a1f47fa504ee47a (diff)
downloadmeta-openembedded-872621cf60db401e2826ebfa2c1572a8bf53f2d5.tar.gz
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@windriver.com> Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/python')
-rw-r--r--meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb23
1 files changed, 22 insertions, 1 deletions
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 21c02696dd..67ec9214ad 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"