config BR2_PACKAGE_TPM2_TSS
	bool "tpm2-tss"
	depends on !BR2_STATIC_LIBS # dlfcn.h
	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_STATIC_LIBS
