summaryrefslogtreecommitdiff
path: root/recipes-support
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2015-05-05 16:11:14 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2015-05-12 10:06:08 +0200
commit8ab6fd7fa52fbaeb0b8ca11a7f7b5b26d82e9270 (patch)
tree2810f217f06b24c2cd8a98738ad5778ea26539c6 /recipes-support
parent2207bf3d6acf92776bb71d08613d6e485087e378 (diff)
tegrarcm/cryptopp: build and use as a static library
We need libcryptopp only for a 32bit x86 target for tegrarcm. However linking libcryptopp dynamically and using the distro supplied 32bit compatibility libcryptopp raises an assertion: tegrarcm: secblock.h:145: CryptoPP::NullAllocator<T>::pointer CryptoPP::NullAllocator<T>::allocate(CryptoPP::NullAllocator<T>::size_type, const void*) [with T = unsigned int; CryptoPP::NullAllocator<T>::pointer = unsigned int*; CryptoPP::NullAllocator<T>::size_type = unsigned int]: Assertion `false' failed. Building only a static library with OE, (if native build forcing 32bit) fixes the issue.
Diffstat (limited to 'recipes-support')
-rw-r--r--recipes-support/libcryptopp/libcryptopp_5.6.2.bb5
1 files changed, 4 insertions, 1 deletions
diff --git a/recipes-support/libcryptopp/libcryptopp_5.6.2.bb b/recipes-support/libcryptopp/libcryptopp_5.6.2.bb
index 1932761..ad9e10b 100644
--- a/recipes-support/libcryptopp/libcryptopp_5.6.2.bb
+++ b/recipes-support/libcryptopp/libcryptopp_5.6.2.bb
@@ -21,11 +21,14 @@ inherit autotools-brokensep pkgconfig
EXTRA_OECONF = "--libdir=${base_libdir}"
+#we want tegrarcm binary to run on a 32-bit architecture, on x86_64 this requires the 32-bit compatibility libs
+EXTRA_OEMAKE_class-native = "CC='${CC} -m32' CXX='${CXX} -m32'"
+
do_compile() {
sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile
export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC"
oe_runmake -f GNUmakefile
- oe_runmake libcryptopp.so
+ oe_runmake libcryptopp.a
}
do_install_prepend() {