config BR2_PACKAGE_TPM2_TSS
	bool "tpm2-tss"
	depends on !BR2_STATIC_LIBS # dlfcn.h
	depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
	select BR2_PACKAGE_LIBURIPARSER
	select BR2_PACKAGE_OPENSSL
	select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
	help
	  OSS implementation of the Trusted Computing Group's (TCG) TPM2
	  Software Stack (TSS). This stack consists of the following
	  layers from top to bottom:

	  * System API (SAPI) as described in the system level API and
	    TPM command transmission interface specification. This API
	    is a 1-to-1 mapping of the TPM2 commands documented in Part
	    3 of the TPM2 specification. Additionally there are
	    asynchronous versions of each command. These asynchronous
	    variants may be useful for integration into event-driven
	    programming environments. Both the synchronous and
	    asynchronous API are exposed through a single library:
	    libtss2-sys.

	  * TPM Command Transmission Interface (TCTI) that is described
	    in the same specification. This API provides a standard
	    interface to transmit / receive TPM command / response
	    buffers. It is expected that any number of libraries
	    implementing the TCTI API will be implemented as a way to
	    abstract various platform specific IPC mechanisms. Currently
	    this repository provides two TCTI implementations:
	    libtss2-tcti-device and libtss2-tcti-mssim. The prior should
	    be used for direct access to the TPM through the Linux
	    kernel driver. The later implements the protocol exposed by
	    the Microsoft software TPM2 simulator.

	  https://github.com/tpm2-software/tpm2-tss

if BR2_PACKAGE_TPM2_TSS

config BR2_PACKAGE_TPM2_TSS_FAPI
	bool "fapi support"
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
	select BR2_PACKAGE_JSON_C
	select BR2_PACKAGE_LIBCURL
	help
	  This option allows to enable Feature API (FAPI).  Feature
	  API (FAPI) as described in the "TSS 2.0 Feature API
	  Specification" along with "TSS 2.0 JSON Data Types and
	  Policy Language Specification" This API is designed to be
	  very high-level API, intended to make programming with the
	  TPM as simple as possible. The API functions are exposed
	  through a single library: libtss2-fapi.

	  https://trustedcomputinggroup.org/wp-content/uploads/TSS_FAPI_v0.94_r04_pubrev.pdf
	  https://trustedcomputinggroup.org/wp-content/uploads/TSS_JSON_Policy_v0.7_r04_pubrev.pdf

endif

comment "tpm2-tss needs a toolchain w/ dynamic library"
	depends on BR2_PACKAGE_LIBOPENSSL_ARCH_SUPPORTS
	depends on BR2_STATIC_LIBS
