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