1################################################################################
2#
3# cryptsetup
4#
5################################################################################
6
7CRYPTSETUP_VERSION_MAJOR = 2.7
8CRYPTSETUP_VERSION = $(CRYPTSETUP_VERSION_MAJOR).1
9CRYPTSETUP_SOURCE = cryptsetup-$(CRYPTSETUP_VERSION).tar.xz
10CRYPTSETUP_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/cryptsetup/v$(CRYPTSETUP_VERSION_MAJOR)
11CRYPTSETUP_DEPENDENCIES = \
12	lvm2 popt host-pkgconf json-c libargon2 \
13	$(if $(BR2_PACKAGE_LIBICONV),libiconv) \
14	$(if $(BR2_PACKAGE_UTIL_LINUX_LIBS),util-linux-libs,util-linux) \
15	$(TARGET_NLS_DEPENDENCIES)
16CRYPTSETUP_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (library)
17CRYPTSETUP_LICENSE_FILES = COPYING COPYING.LGPL
18CRYPTSETUP_CPE_ID_VALID = YES
19CRYPTSETUP_INSTALL_STAGING = YES
20
21CRYPTSETUP_CONF_ENV += LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_NLS_LIBS)"
22CRYPTSETUP_CONF_OPTS += --enable-blkid --enable-libargon2 --disable-asciidoc
23
24# cryptsetup uses OpenSSL by default, but can be configured to use libgcrypt,
25# nettle, libnss or kernel crypto modules instead
26ifeq ($(BR2_PACKAGE_OPENSSL),y)
27CRYPTSETUP_DEPENDENCIES += openssl
28CRYPTSETUP_CONF_OPTS += --with-crypto_backend=openssl
29else ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
30CRYPTSETUP_DEPENDENCIES += libgcrypt
31CRYPTSETUP_CONF_ENV += LIBGCRYPT_CONFIG=$(STAGING_DIR)/usr/bin/libgcrypt-config
32CRYPTSETUP_CONF_OPTS += --with-crypto_backend=gcrypt
33else ifeq ($(BR2_PACKAGE_NETTLE),y)
34CRYPTSETUP_DEPENDENCIES += nettle
35CRYPTSETUP_CONF_OPTS += --with-crypto_backend=nettle
36else ifeq ($(BR2_PACKAGE_LIBNSS),y)
37CRYPTSETUP_DEPENDENCIES += libnss
38CRYPTSETUP_CONF_OPTS += --with-crypto_backend=nss
39else
40CRYPTSETUP_CONF_OPTS += --with-crypto_backend=kernel
41endif
42
43ifeq ($(BR2_PACKAGE_LIBSSH),y)
44CRYPTSETUP_DEPENDENCIES += \
45	$(if $(BR2_PACKAGE_ARGP_STANDALONE),argp-standalone) \
46	libssh
47CRYPTSETUP_CONF_OPTS += --enable-ssh-token
48else
49CRYPTSETUP_CONF_OPTS += --disable-ssh-token
50endif
51
52ifeq ($(BR2_PACKAGE_SYSTEMD),y)
53CRYPTSETUP_CONF_OPTS += --with-tmpfilesdir=/usr/lib/tmpfiles.d
54endif
55
56HOST_CRYPTSETUP_DEPENDENCIES = \
57	host-pkgconf \
58	host-lvm2 \
59	host-popt \
60	host-util-linux \
61	host-json-c \
62	host-openssl
63
64HOST_CRYPTSETUP_CONF_OPTS = --with-crypto_backend=openssl \
65	--disable-kernel_crypto \
66	--disable-ssh-token \
67	--enable-blkid \
68	--with-tmpfilesdir=no \
69	--disable-asciidoc
70
71$(eval $(autotools-package))
72$(eval $(host-autotools-package))
73