xref: /OK3568_Linux_fs/buildroot/package/gnutls/gnutls.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# gnutls
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunGNUTLS_VERSION_MAJOR = 3.7
8*4882a593SmuzhiyunGNUTLS_VERSION = $(GNUTLS_VERSION_MAJOR).2
9*4882a593SmuzhiyunGNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
10*4882a593SmuzhiyunGNUTLS_SITE = https://www.gnupg.org/ftp/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
11*4882a593SmuzhiyunGNUTLS_LICENSE = LGPL-2.1+ (core library)
12*4882a593SmuzhiyunGNUTLS_LICENSE_FILES = doc/COPYING.LESSER
13*4882a593Smuzhiyun
14*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_GNUTLS_OPENSSL),y)
15*4882a593SmuzhiyunGNUTLS_LICENSE += , GPL-3.0+ (gnutls-openssl library)
16*4882a593SmuzhiyunGNUTLS_LICENSE_FILES += doc/COPYING
17*4882a593Smuzhiyunendif
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunGNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre
20*4882a593SmuzhiyunGNUTLS_CPE_ID_VENDOR = gnu
21*4882a593SmuzhiyunGNUTLS_CONF_OPTS = \
22*4882a593Smuzhiyun	--disable-doc \
23*4882a593Smuzhiyun	--disable-guile \
24*4882a593Smuzhiyun	--disable-libdane \
25*4882a593Smuzhiyun	--disable-rpath \
26*4882a593Smuzhiyun	--disable-tests \
27*4882a593Smuzhiyun	--enable-local-libopts \
28*4882a593Smuzhiyun	--enable-openssl-compatibility \
29*4882a593Smuzhiyun	--with-librt-prefix=$(STAGING_DIR) \
30*4882a593Smuzhiyun	--without-tpm \
31*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_GNUTLS_OPENSSL),--enable,--disable)-openssl-compatibility \
32*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools)
33*4882a593SmuzhiyunGNUTLS_CONF_ENV = gl_cv_socket_ipv6=yes \
34*4882a593Smuzhiyun	ac_cv_header_wchar_h=$(if $(BR2_USE_WCHAR),yes,no) \
35*4882a593Smuzhiyun	gt_cv_c_wchar_t=$(if $(BR2_USE_WCHAR),yes,no) \
36*4882a593Smuzhiyun	gt_cv_c_wint_t=$(if $(BR2_USE_WCHAR),yes,no) \
37*4882a593Smuzhiyun	gl_cv_func_gettimeofday_clobber=no
38*4882a593SmuzhiyunGNUTLS_INSTALL_STAGING = YES
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun# libpthread autodetection poison the linkpath
41*4882a593SmuzhiyunGNUTLS_CONF_OPTS += $(if $(BR2_TOOLCHAIN_HAS_THREADS),--with-libpthread-prefix=$(STAGING_DIR)/usr)
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun# gnutls needs libregex, but pcre can be used too
44*4882a593Smuzhiyun# The check isn't cross-compile friendly
45*4882a593SmuzhiyunGNUTLS_CONF_ENV += libopts_cv_with_libregex=yes
46*4882a593SmuzhiyunGNUTLS_CONF_OPTS += \
47*4882a593Smuzhiyun	--with-regex-header=pcreposix.h \
48*4882a593Smuzhiyun	--with-libregex-cflags="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --cflags`" \
49*4882a593Smuzhiyun	--with-libregex-libs="`$(PKG_CONFIG_HOST_BINARY) libpcreposix --libs`"
50*4882a593Smuzhiyun
51*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_CRYPTODEV_LINUX),y)
52*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --enable-cryptodev
53*4882a593SmuzhiyunGNUTLS_DEPENDENCIES += cryptodev-linux
54*4882a593Smuzhiyunendif
55*4882a593Smuzhiyun
56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBIDN2),y)
57*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-idn
58*4882a593SmuzhiyunGNUTLS_DEPENDENCIES += libidn2
59*4882a593Smuzhiyunelse
60*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --without-idn
61*4882a593Smuzhiyunendif
62*4882a593Smuzhiyun
63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_P11_KIT),y)
64*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-p11-kit
65*4882a593SmuzhiyunGNUTLS_DEPENDENCIES += p11-kit
66*4882a593Smuzhiyunelse
67*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --without-p11-kit
68*4882a593Smuzhiyunendif
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBUNISTRING),y)
71*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr
72*4882a593SmuzhiyunGNUTLS_DEPENDENCIES += libunistring
73*4882a593Smuzhiyunelse
74*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-included-unistring
75*4882a593Smuzhiyunendif
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun# Provide a default CA cert location
78*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_P11_KIT),y)
79*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-default-trust-store-pkcs11=pkcs11:model=p11-kit-trust
80*4882a593Smuzhiyunelse ifeq ($(BR2_PACKAGE_CA_CERTIFICATES),y)
81*4882a593SmuzhiyunGNUTLS_CONF_OPTS += --with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt
82*4882a593Smuzhiyunendif
83*4882a593Smuzhiyun
84*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
85*4882a593SmuzhiyunGNUTLS_LIBS += -latomic
86*4882a593Smuzhiyunendif
87*4882a593Smuzhiyun
88*4882a593SmuzhiyunGNUTLS_CONF_ENV += LIBS="$(GNUTLS_LIBS)"
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun$(eval $(autotools-package))
91