python-m2crypto: special setting for x86-64 architecture

After python-m2crypto was reported as failed task in bitbake world
on 2014-02-08 by Martin Jansa, I investigated python-m2crypto with
MACHINE = "qemux86-64" setting. When compiling python-m2crypto for
qemux86-64, the setup.py aborts in the swig call with:

  | swig -python -I[...]/tmp-eglibc/sysroots/qemux86-64/usr/include/python2.7 -I[...]/tmp-eglibc/sysroots/qemux86-64/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
  | [...]/tmp-eglibc/sysroots/qemux86-64/usr/include/openssl/opensslconf.h:41: Error: Unable to find 'openssl/opensslconf-32.h'
  | error: command 'swig' failed with exit status 1
  | ERROR: python setup.py build_ext execution failed.
  | WARNING: exit code 1 from a shell command.

To compile for x86-64 architecture, opensslconf.h shall include
opensslconf-64.h, not opensslconf-32.h. Properly including
opensslconf-64.h can be configured through the bits/wordsize.h
header and setting the __x86_64__ directive in the swig call. To
set the directive, the SWIG_FEATURES variable for x86-64 is
set and exported in the recipe.

Compiling python-m2crypto for qemumips still fails and needs
further adjustments, but is not addressed here.

This patch follows Khem Raj's suggestion on the openembedded-devel
mailing list after submission of the first commit to this issue.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Lukas Bulwahn
2014-02-12 20:46:07 +01:00
committed by Martin Jansa
parent 1f89f0a54e
commit dfa33ddb23
@@ -16,4 +16,8 @@ S = "${WORKDIR}/M2Crypto-${PV}"
inherit setuptools
SWIG_FEATURES_x86-64 = "-D__x86_64__"
SWIG_FEATURES ?= ""
export SWIG_FEATURES
BBCLASSEXTEND = "native"