kumquat-buildroot/package/libp11/libp11.mk
Trent Piepho c4fc706f55 package/libp11: new package
Library for using PKCS#11, which includes an engine for OpenSSL that
lets it use PKCS#11 modules.  Which is really what this package is
about, not that libp11 library itself, which has no users outside the
of OpenSSL engine.

If p11-kit is enabled, configure the engine to use that as the default
PKCS#11 module.  That module is a sort of multiplexer that allows
multiple modules to be used at once, so it makes sense to use it even
if there are other modules present, e.g. softhsm2, nssckbi,
pkcs11-proxy, ykcs11, etc.

A host package is created too, with a host configuration option.
Since this a dynamically loaded module, there is no build time reason
to select it from a host package.  It could be used by host openssl,
to allow host rauc to sign a software update bundle using a key from a
HSM with a PKCS#11 interface.

Signed-off-by: Trent Piepho <tpiepho@impinj.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
[Thomas:
 - add entry in DEVELOPERS file
 - add missing !BR2_STATIC_LIBS dependency
 - fix license information, as noticed by Frank Hunleth
 - add missing dependency on host-pkgconf, needed by the configure
   script to detect openssl
 - explicitly pass --with-enginesdir as the value returned by
   pkg-config is incorrectly prefixed by the sysroot]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-04-04 21:31:58 +02:00

27 lines
873 B
Makefile

################################################################################
#
# libp11
#
################################################################################
LIBP11_VERSION = 0.4.9
LIBP11_SITE = https://github.com/OpenSC/libp11/releases/download/libp11-$(LIBP11_VERSION)
LIBP11_DEPENDENCIES = openssl host-pkgconf
LIBP11_INSTALL_STAGING = YES
LIBP11_LICENSE = LGPL-2.1+
LIBP11_LICENSE_FILES = COPYING
# pkg-config returns a libcrypto enginesdir prefixed with the sysroot,
# so let's rip it out.
LIBP11_CONF_OPTS = \
--with-enginesdir=`$(PKG_CONFIG_HOST_BINARY) --variable enginesdir libcrypto | xargs readlink -f | sed 's%^$(STAGING_DIR)%%'`
ifeq ($(BR2_PACKAGE_P11_KIT),y)
LIBP11_CONF_OPTS += --with-pkcs11-module=/usr/lib/p11-kit-proxy.so
endif
HOST_LIBP11_DEPENDENCIES = host-openssl
$(eval $(autotools-package))
$(eval $(host-autotools-package))