Commit Graph

5 Commits

Author SHA1 Message Date
Kai Kang
cff3116f66 python3-m2crypto: avoid host contamination for swig
If the version of libssl-dev is not match the version of libssl on the
build machine, it fails to compile SWIG/_m2crypto_wrap.c which is
created by swig for python3-m2crypto-native:

| SWIG/_m2crypto_wrap.c:9757:19: error: dereferencing pointer to
   incomplete type 'struct stack_st'
|   if (arg1) (arg1)->num = arg2;
|                   ^~

But it works if no libssl-dev installed on the build machine.

Export STAGING_DIR to make existing patch
0001-setup.py-link-in-sysroot-not-in-host-directories.patch work. And
filter out '/usr/inlucde' from include pathes of swig.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
2021-06-28 09:02:47 -07:00
Kai Kang
cf84284bb0 python3-m2crypto: fix word size for qemuppc64 little endian
It fails to compile python3-m2crypto for qemuppc64 little endian:

| /path/to/tmp-glibc/work/ppc64p9le-wrs-linux/python3-m2crypto/0.37.1-r0/
    recipe-sysroot/usr/include/openssl/opensslconf.h:23:
| Error: Unable to find 'openssl/opensslconf-32.h'

It defines '__powerpc64le__' but expects '__powerpc64__'. Define the
right macro for qemuppc64le.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
2021-06-09 08:45:24 -07:00
Khem Raj
7de9c498be python3-m2crypto: Fix build on riscv and mips
wordlen is not so easy to calculate on RISCV, therefore pass the right
ingredients so compiler does the right thing in the end

Do same for mips as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
2021-05-17 08:52:24 -07:00
Khem Raj
4e36f13b04 python3-m2crypto: Pass correct ABI defines to swig
This ensures that WORDSIZE is as per the target, currently this does not
get it right for cross-compilation env, and OE uses multilib headers by
default ( even when you do not use multilib ) which means if WORDSIZE
is wrong it will go on to include wrong headers due to these artificial stubs

Fixes
swig -python -py3 -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../lib/aarch64-oe-linux/gcc/aarch64-oe-linux/11.1.0/include -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../lib/aarch64-oe-linux/gcc/aarch64-oe-linux/11.1.0/include-fixed -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot/usr/lib/aarch64-oe-linux/11.1.0/include -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot/usr/include -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot/usr/include -ITOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot/usr/include/python3.9 -I/usr/include/openssl -includeall -modern -builtin -outdir TOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/M2Crypto-0.37.1/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
  TOPDIR/tmp-glibc/work/cortexa57-oe-linux/python3-m2crypto/0.37.1-r0/recipe-sysroot/usr/include/openssl/opensslconf.h:23: Error: Unable to find 'openssl/opensslconf-32.h'

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
2021-05-11 08:25:56 -07:00
Khem Raj
b8bbcd4dea python3-m2crypto: Upgrade to 0.37.1
Unifiy .inc into .bb
Add patches to fix issues with openssl 1.1.x
Remove m2crypto-0.26.4-gcc_macros patch, its no longer needed
Refresh existing patches

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
2021-05-03 08:05:21 -07:00