BR2_PACKAGE_OPTEE_CLIENT depends on BR2_TOOLCHAIN_HAS_THREADS.
Library teec uses pthread support to protect clients state management.
This change declares this dependency in package optee-client and
updates dependent packages accordingly: optee-benchmark, optee-client,
optee-examples and optee-test.
Fixes [1] and [2] where config selected an toolchain without thread
support and build failed with trace like:
CMake Error at /home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
/home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
/home/buildroot/autobuild/run/instance-1/output/host/share/cmake-3.8/Modules/FindThreads.cmake:212 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
libteec/CMakeLists.txt:8 (find_package)
[1] http://autobuild.buildroot.net/results/
ed6ffe2197da4f3a970bd3c5522291236396cc8e
[2] http://autobuild.buildroot.net/results/
406f90048db097580b626ef889823132f8676ba1
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
[Thomas: fix dependencies of Config.in comment, as noticed by Baruch.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
config BR2_PACKAGE_OPTEE_BENCHMARK
bool "optee-benchmark"
depends on !BR2_STATIC_LIBS # optee-client
+ depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
select BR2_PACKAGE_OPTEE_CLIENT
select BR2_PACKAGE_LIBYAML
help
http://github.com/linaro-swg/optee_benchmark
-comment "optee-benchmark needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
+comment "optee-benchmark needs a toolchain w/ dynamic library and threads"
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_OPTEE_CLIENT
bool "optee-client"
depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
help
Enable the OP-TEE client package that brings non-secure
client application resources for OP-TEE support. OP-TEE
https://github.com/OP-TEE/optee_client
-comment "optee-client needs a toolchain w/ dynamic library"
- depends on BR2_STATIC_LIBS
+comment "optee-client needs a toolchain w/ dynamic library and threads"
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
bool "optee-examples"
depends on BR2_TARGET_OPTEE_OS
depends on !BR2_STATIC_LIBS # optee-client
+ depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
select BR2_PACKAGE_OPTEE_CLIENT
select BR2_TARGET_OPTEE_OS_SDK
help
https://github.com/linaro-swg/optee_examples
-comment "optee-examples needs a toolchain w/ dynamic library"
+comment "optee-examples needs a toolchain w/ dynamic library and threads"
depends on BR2_TARGET_OPTEE_OS
- depends on BR2_STATIC_LIBS
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
bool "optee-test"
depends on BR2_TARGET_OPTEE_OS
depends on !BR2_STATIC_LIBS # optee-client
+ depends on BR2_TOOLCHAIN_HAS_THREADS # optee-client
select BR2_PACKAGE_OPTEE_CLIENT
select BR2_TARGET_OPTEE_OS_SDK
help
http://github.com/OP-TEE/optee_test
-comment "optee-test needs a toolchain w/ dynamic library"
+comment "optee-test needs a toolchain w/ dynamic library and threads"
depends on BR2_TARGET_OPTEE_OS
- depends on BR2_STATIC_LIBS
+ depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS