package/python-m2crypto: fix build on arm and mips

Fix build failure on arm and mips (perhaps also other)

Fixes:
 - http://autobuild.buildroot.org/results/7f63e6a2d8681cc3408f344556afd5dd16eb7368
 - http://autobuild.buildroot.org/results/d115a082418321e7dc4715c635f94b30b3cad387

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2020-11-08 18:28:22 +01:00 committed by Peter Korsgaard
parent 780af51d86
commit 31c7e161c1

View File

@ -0,0 +1,63 @@
From 1aab31787a8d1ef9436d9cf81832691f729b6282 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 7 Nov 2020 23:26:30 +0100
Subject: [PATCH] setup.py: move swig default includes before openssl
Move swig default includes before openssl to avoid the following build
failure when cross-compiling for some architectures (e.g. arm, mips):
swig -python -py3 -D__x86_64__ \
-I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/python3.9 \
-I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \
-I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/openssl \
-I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include \
-I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/include-fixed \
-I/srv/storage/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-gnu/8.3.0/../../../../mipsel-buildroot-linux-gnu/include \
-I/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include \
-includeall -modern -builtin -outdir \
/srv/storage/autobuild/run/instance-0/output-1/build/python-m2crypto-0.36.0/M2Crypto -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
Deprecated command line option: -modern. This option is now always on.
/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include/bits/types.h:139:
Error: CPP #error "". Use the -cpperraswarn option to continue swig processing.
This build failure is probably raised because swig includes a wrong types.h file
from the openssl directory (e.g.
/srv/storage/autobuild/run/instance-0/output-1/host/mipsel-buildroot-linux-gnu/sysroot/usr/include)
Fixes:
- http://autobuild.buildroot.org/results/7f63e6a2d8681cc3408f344556afd5dd16eb7368
- http://autobuild.buildroot.org/results/d115a082418321e7dc4715c635f94b30b3cad387
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status:
https://gitlab.com/m2crypto/m2crypto/-/merge_requests/248]
---
setup.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/setup.py b/setup.py
index 89d03bb..0045fda 100644
--- a/setup.py
+++ b/setup.py
@@ -154,6 +154,9 @@ class _M2CryptoBuildExt(build_ext.build_ext):
if sys.version_info[:1] >= (3,):
self.swig_opts.append('-py3')
+ # swig seems to need the default header file directories
+ self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()])
+
log.debug('self.include_dirs = %s', self.include_dirs)
log.debug('self.library_dirs = %s', self.library_dirs)
@@ -204,8 +207,6 @@ class _M2CryptoBuildExt(build_ext.build_ext):
self.swig_opts.append(
'-I' + os.path.join(openssl_include_dir, 'openssl'))
- # swig seems to need the default header file directories
- self.swig_opts.extend(['-I%s' % i for i in _get_additional_includes()])
self.swig_opts.append('-includeall')
self.swig_opts.append('-modern')
self.swig_opts.append('-builtin')
--
2.28.0