All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] python-m2crypto: avoid swig problem
@ 2014-06-06  1:46 Chong Lu
  2014-06-06 10:08 ` Chong Lu
  0 siblings, 1 reply; 2+ messages in thread
From: Chong Lu @ 2014-06-06  1:46 UTC (permalink / raw)
  To: openembedded-devel

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>
---
 .../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..4f0d785 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 [ "${baselib}" = "lib64" ];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"
-- 
1.7.9.5



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] python-m2crypto: avoid swig problem
  2014-06-06  1:46 [PATCH] python-m2crypto: avoid swig problem Chong Lu
@ 2014-06-06 10:08 ` Chong Lu
  0 siblings, 0 replies; 2+ messages in thread
From: Chong Lu @ 2014-06-06 10:08 UTC (permalink / raw)
  To: openembedded-devel


On 06/06/2014 09:46 AM, Chong Lu wrote:
> 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>
> ---
>   .../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..4f0d785 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 [ "${baselib}" = "lib64" ];then
> +        bit="64"
It's bad condition, ${baselib} != "lib64", maybe is a 64 bit.
I will resend V2.

BR
Chong
> +    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"



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-06 10:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-06  1:46 [PATCH] python-m2crypto: avoid swig problem Chong Lu
2014-06-06 10:08 ` Chong Lu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.