# Copyright 2016 Julian Ospald # Distributed under the terms of the GNU General Public License v2 WORK=${WORKBASE}/${PN}-${PNV} require github [ user=ARMmbed tag=mbedtls-${PV} ] require cmake [ api=2 ] SUMMARY="Cryptographic library for embedded systems" HOMEPAGE="https://tls.mbed.org/" LICENCES="Apache-2.0" SLOT="0" PLATFORMS="~amd64 ~x86" MYOPTIONS=" havege [[ description = [ Enable the HAVEGE random generator, not suitable for virtualized environments! ] ]] threads [[ description = [ Enables the threading abstraction layer via pthread. This is used if you do intend to use contexts between threads. ] ]] x86_cpu_features: sse2 " DEPENDENCIES=" build+run: sys-libs/zlib test: dev-lang/perl:* " CMAKE_SRC_CONFIGURE_PARAMS=( -DENABLE_PROGRAMS=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DINSTALL_MBEDTLS_HEADERS=ON -DLIB_INSTALL_DIR="/usr/$(exhost --target)/lib" -DUSE_STATIC_MBEDTLS_LIBRARY=OFF -DENABLE_ZLIB_SUPPORT=ON ) CMAKE_SRC_CONFIGURE_TESTS=( '-DENABLE_TESTING=ON' ) enable_mbedtls_option() { local myopt="$@" # check that config.h syntax is the same at version bump edo sed -i \ -e "s://#define ${myopt}:#define ${myopt}:" \ "${CMAKE_SOURCE}"/include/mbedtls/config.h } src_prepare() { option x86_cpu_features:sse2 && enable_mbedtls_option MBEDTLS_HAVE_SSE2 enable_mbedtls_option MBEDTLS_ZLIB_SUPPORT option havege && enable_mbedtls_option MBEDTLS_HAVEGE_C option threads && enable_mbedtls_option MBEDTLS_THREADING_C option threads && enable_mbedtls_option MBEDTLS_THREADING_PTHREAD cmake_src_prepare } src_test() { LD_LIBRARY_PATH="${ECMAKE_BUILD_DIR}/library" \ cmake_src_test }