2 # Copyright (C) 2005-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
16 PKG_SOURCE_URL
:=ftp
://ftp.gnutls.org
/gcrypt
/gnutls
/v3.4
17 PKG_MD5SUM
:=2d04f34fa25b45f9dcb9104c0394e12e
18 #PKG_FIXUP:=autoreconf gettext-version
19 PKG_MAINTAINER
:=Nikos Mavrogiannopoulos
<nmav@gnutls.org
>
20 PKG_LICENSE
:=LGPLv2.1
+
23 PKG_LIBTOOL_PATHS
:=. lib
24 PKG_CHECK_FORMAT_SECURITY
:=0
26 PKG_CONFIG_DEPENDS
:= \
29 CONFIG_GNUTLS_CRYPTODEV \
30 CONFIG_GNUTLS_DTLS_SRTP \
31 CONFIG_GNUTLS_EXT_LIBTASN1 \
32 CONFIG_GNUTLS_HEARTBEAT \
34 CONFIG_GNUTLS_OPENPGP \
35 CONFIG_GNUTLS_PKCS11 \
38 CONFIG_LIBNETTLE_MINI \
40 include $(INCLUDE_DIR
)/package.mk
43 define Package
/gnutls
/Default
48 URL
:=http
://www.gnutls.org
/
51 define Package
/gnutls
/Default
/description
52 GnuTLS is a secure communications library implementing the SSL
, TLS
53 and DTLS protocols and technologies around them. It provides a simple
54 C language application programming interface
(API
) to access the secure
55 communications protocols
as well
as APIs to parse and write X
.509, PKCS12
,
56 OpenPGP and other required structures. It is aimed to be portable and
57 efficient with focus on security and interoperability.
61 define Package
/certtool
62 $(call Package
/gnutls
/Default
)
65 TITLE
+= (certool utility
)
69 define Package
/certtool
/description
70 $(call Package
/gnutls
/Default
/description
)
71 This package contains the GnuTLS certtool utility.
75 define Package
/gnutls-utils
76 $(call Package
/gnutls
/Default
)
83 define Package
/gnutls-utils
/description
84 $(call Package
/gnutls
/Default
/description
)
85 This package contains the GnuTLS gnutls-cli
, gnutls-serv
, psktool
,
86 and srptool utilities.
89 define Package
/libgnutls
/config
90 source
"$(SOURCE)/Config.in"
93 define Package
/libgnutls
94 $(call Package
/gnutls
/Default
)
96 DEPENDS
+= +libnettle
+!LIBNETTLE_MINI
:libgmp
+GNUTLS_EXT_LIBTASN1
:libtasn1
+GNUTLS_PKCS11
:p11-kit
99 define Package
/libgnutls
/description
100 $(call Package
/gnutls
/Default
/description
)
101 This package contains the GnuTLS shared library
, needed by other programs.
105 define Package
/libgnutls-openssl
106 $(call Package
/gnutls
/Default
)
107 TITLE
+= (OpenSSL compat library
)
111 define Package
/libgnutls-openssl
/description
112 $(call Package
/gnutls
/Default
/description
)
113 This package contains the GnuTLS OpenSSL compatibility layer shared library.
124 --enable-local-libopts \
127 --enable-openssl-compatibility \
128 --with-default-trust-store-dir
=/etc
/ssl
/certs
/ \
130 --with-librt-prefix
="$(LIBRT_ROOT_DIR)/"
132 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1
),y
)
133 CONFIGURE_ARGS
+= --with-included-libtasn1
136 ifneq ($(CONFIG_GNUTLS_PKCS11
),y
)
137 CONFIGURE_ARGS
+= --without-p11-kit
140 ifeq ($(CONFIG_LIBNETTLE_MINI
),y
)
141 CONFIGURE_ARGS
+= --with-nettle-mini
144 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP
),y
)
145 CONFIGURE_ARGS
+= --disable-dtls-srtp-support
148 ifneq ($(CONFIG_GNUTLS_ALPN
),y
)
149 CONFIGURE_ARGS
+= --disable-alpn-support
152 ifneq ($(CONFIG_GNUTLS_HEARTBEAT
),y
)
153 CONFIGURE_ARGS
+= --disable-heartbeat-support
156 ifneq ($(CONFIG_GNUTLS_SRP
),y
)
157 CONFIGURE_ARGS
+= --disable-srp-authentication
160 ifneq ($(CONFIG_GNUTLS_PSK
),y
)
161 CONFIGURE_ARGS
+= --disable-psk-authentication
164 ifneq ($(CONFIG_GNUTLS_OPENPGP
),y
)
165 CONFIGURE_ARGS
+= --disable-openpgp-authentication
168 ifneq ($(CONFIG_GNUTLS_ANON
),y
)
169 CONFIGURE_ARGS
+= --disable-anon-authentication
172 ifneq ($(CONFIG_GNUTLS_OCSP
),y
)
173 CONFIGURE_ARGS
+= --disable-ocsp
176 ifeq ($(CONFIG_GNUTLS_CRYPTODEV
),y
)
177 CONFIGURE_ARGS
+= --enable-cryptodev
180 TARGET_CFLAGS
+= $(FPIC
)
182 define Build
/InstallDev
183 $(INSTALL_DIR
) $(1)/usr
/include $(1)/usr
/lib
/pkgconfig
185 $(PKG_INSTALL_DIR
)/usr
/lib
/libgnutls.so
* \
188 $(PKG_INSTALL_DIR
)/usr
/include/gnutls \
191 $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/gnutls.
pc \
192 $(1)/usr
/lib
/pkgconfig
/
196 define Package
/certtool
/conffiles
197 /etc
/gnutls
/certtool.cfg
200 define Package
/certtool
/install
201 $(INSTALL_DIR
) $(1)/etc
/gnutls
202 $(INSTALL_CONF
) $(PKG_BUILD_DIR
)/doc
/certtool.cfg
$(1)/etc
/gnutls
/
203 $(INSTALL_DIR
) $(1)/usr
/bin
204 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/certtool
$(1)/usr
/bin
/
208 define Package
/gnutls-utils
/install
209 $(INSTALL_DIR
) $(1)/usr
/bin
210 ifeq ($(CONFIG_GNUTLS_OCSP
),y
)
211 ifeq ($(CONFIG_GNUTLS_ANON
),y
)
213 $(PKG_INSTALL_DIR
)/usr
/bin
/gnutls-
{cli
,serv
} \
217 $(PKG_INSTALL_DIR
)/usr
/bin
/ocsptool \
220 ifeq ($(CONFIG_GNUTLS_SRP
),y
)
222 $(PKG_INSTALL_DIR
)/usr
/bin
/srptool \
225 ifeq ($(CONFIG_GNUTLS_PSK
),y
)
227 $(PKG_INSTALL_DIR
)/usr
/bin
/psktool \
230 ifeq ($(CONFIG_GNUTLS_PKCS11
),y
)
232 $(PKG_INSTALL_DIR
)/usr
/bin
/p11tool \
238 define Package
/libgnutls
/install
239 $(INSTALL_DIR
) $(1)/usr
/lib
240 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libgnutls.so.
* $(1)/usr
/lib
/
244 define Package
/libgnutls-openssl
/install
245 $(INSTALL_DIR
) $(1)/usr
/lib
246 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libgnutls-openssl.so.
* $(1)/usr
/lib
/
250 $(eval
$(call BuildPackage
,certtool
))
251 $(eval
$(call BuildPackage
,gnutls-utils
))
252 $(eval
$(call BuildPackage
,libgnutls
))
253 $(eval
$(call BuildPackage
,libgnutls-openssl
))