buildroot/package/tpm2-pkcs11/tpm2-pkcs11.mk
Romain Naour 89e3b2fb84 package/tpm2-pkcs11: install tpm2_ptool utility
The tpm2_ptool script appears on several TPM2 tutorials and it's
packaged as the "tpm2-pkcs11-tools" package in several Linux
distribution.

Add a new tpm2-pkcs11 option to install tpm2_ptool script along with
its dependencies.

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-07-18 23:26:10 +02:00

68 lines
2.1 KiB
Makefile

################################################################################
#
# tpm2-pkcs11
#
################################################################################
TPM2_PKCS11_VERSION = 1.9.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 \
--disable-ptool-checks
# 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
ifeq ($(BR2_PACKAGE_P11_KIT),y)
TPM2_PKCS11_DEPENDENCIES += p11-kit
TPM2_PKCS11_CONF_OPTS += \
--with-p11kitconfigdir=/usr/share/p11-kit/modules
endif
ifeq ($(BR2_PACKAGE_TPM2_PKCS11_PYTHON_TOOLS),y)
TPM2_PKCS11_DEPENDENCIES += python-tpm2-pytss
define TPM2_PKCS11_BUILD_TOOLS
(cd $(@D)/tools; \
$(PKG_PYTHON_SETUPTOOLS_ENV) \
$(HOST_DIR)/bin/python setup.py build)
endef
TPM2_PKCS11_POST_BUILD_HOOKS += TPM2_PKCS11_BUILD_TOOLS
define TPM2_PKCS11_INSTALL_TARGET_TOOLS
(cd $(@D)/tools; \
$(PKG_PYTHON_SETUPTOOLS_ENV) \
$(HOST_DIR)/bin/python setup.py install \
$(PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS) \
--root=$(TARGET_DIR))
endef
TPM2_PKCS11_POST_INSTALL_TARGET_HOOKS += TPM2_PKCS11_INSTALL_TARGET_TOOLS
endif
$(eval $(autotools-package))