source "package/pkcs11-helper/Config.in"
source "package/rhash/Config.in"
source "package/tinydtls/Config.in"
+ source "package/tpm2-pkcs11/Config.in"
source "package/tpm2-tss/Config.in"
source "package/trousers/Config.in"
source "package/ustream-ssl/Config.in"
--- /dev/null
+config BR2_PACKAGE_TPM2_PKCS11
+ bool "tpm2-pkcs11"
+ depends on !BR2_STATIC_LIBS # tpm2-tss
+ select BR2_PACKAGE_LIBYAML
+ select BR2_PACKAGE_OPENSSL
+ select BR2_PACKAGE_SQLITE
+ select BR2_PACKAGE_TPM2_TSS
+ help
+ A PKCS#11 interface for TPM2 hardware
+
+ https://github.com/tpm2-software/tpm2-pkcs11
+
+comment "tpm2-pkcs11 needs a toolchain w/ dynamic library"
+ depends on BR2_STATIC_LIBS
--- /dev/null
+################################################################################
+#
+# tpm2-pkcs11
+#
+################################################################################
+
+TPM2_PKCS11_VERSION = 1.5.0
+TPM2_PKCS11_SITE = https://github.com/tpm2-software/tpm2-pkcs11/releases/download/$(TPM2_PKCS11_VERSION)
+TPM2_PKCS11_LICENSE = BSD-2-Clause
+TPM2_PKCS11_LICENSE_FILES = LICENSE
+TPM2_PKCS11_DEPENDENCIES = host-pkgconf libyaml openssl sqlite tpm2-tss
+
+TPM2_PKCS11_CONF_OPTS += \
+ --disable-hardening
+
+# Fix tpm.c:746:5: error: 'for' loop initial declarations are only allowed in C99 mode
+# Fix implicit declaration of function 'strnlen'
+TPM2_PKCS11_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=gnu99"
+
+# do not build man pages
+TPM2_PKCS11_CONF_ENV += ac_cv_prog_PANDOC=''
+
+# tpm2-pkcs11 checks for tpm2-tools programs and errors out if not
+# found, even though they are only used by the (unused in Buildroot)
+# python-based tools
+TPM2_PKCS11_CONF_ENV += \
+ ac_cv_prog_tpm2_createprimary=yes \
+ ac_cv_prog_tpm2_create=yes \
+ ac_cv_prog_tpm2_evictcontrol=yes \
+ ac_cv_prog_tpm2_readpublic=yes \
+ ac_cv_prog_tpm2_load=yes \
+ ac_cv_prog_tpm2_loadexternal=yes \
+ ac_cv_prog_tpm2_unseal=yes \
+ ac_cv_prog_tpm2_encryptdecrypt=yes \
+ ac_cv_prog_tpm2_sign=yes \
+ ac_cv_prog_tpm2_getcap=yes \
+ ac_cv_prog_tpm2_import=yes \
+ ac_cv_prog_tpm2_changeauth=yes
+
+$(eval $(autotools-package))