Merge pull request #3692 from dibdot/adblock
[feed/packages.git] / libs / gnutls / Makefile
1 #
2 # Copyright (C) 2005-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=gnutls
11 PKG_VERSION:=3.5.6
12 PKG_RELEASE:=1
13 PKG_USE_MIPS16:=0
14
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5
17 PKG_MD5SUM:=7a38b23757aae009c3eb5bb12fb0afda
18 #PKG_FIXUP:=autoreconf gettext-version
19 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
20 PKG_LICENSE:=LGPLv2.1+
21
22 PKG_INSTALL:=1
23 PKG_LIBTOOL_PATHS:=. lib
24 PKG_CHECK_FORMAT_SECURITY:=0
25
26 PKG_CONFIG_DEPENDS:= \
27 CONFIG_GNUTLS_ALPN \
28 CONFIG_GNUTLS_ANON \
29 CONFIG_GNUTLS_CRYPTODEV \
30 CONFIG_GNUTLS_DTLS_SRTP \
31 CONFIG_GNUTLS_EXT_LIBTASN1 \
32 CONFIG_GNUTLS_HEARTBEAT \
33 CONFIG_GNUTLS_OCSP \
34 CONFIG_GNUTLS_OPENPGP \
35 CONFIG_GNUTLS_PKCS11 \
36 CONFIG_GNUTLS_PSK \
37 CONFIG_GNUTLS_SRP \
38 CONFIG_GNUTLS_TPM \
39 CONFIG_LIBNETTLE_MINI \
40
41 include $(INCLUDE_DIR)/package.mk
42
43
44 define Package/gnutls/Default
45 SUBMENU:=SSL
46 SECTION:=libs
47 CATEGORY:=Libraries
48 TITLE:=GNU TLS
49 URL:=http://www.gnutls.org/
50 endef
51
52 define Package/gnutls/Default/description
53 GnuTLS is a secure communications library implementing the SSL, TLS
54 and DTLS protocols and technologies around them. It provides a simple
55 C language application programming interface (API) to access the secure
56 communications protocols as well as APIs to parse and write X.509, PKCS12,
57 OpenPGP and other required structures. It is aimed to be portable and
58 efficient with focus on security and interoperability.
59 endef
60
61
62 define Package/certtool
63 $(call Package/gnutls/Default)
64 SECTION:=utils
65 CATEGORY:=Utilities
66 SUBMENU:=Encryption
67 TITLE+= (certool utility)
68 DEPENDS+= +libgnutls
69 endef
70
71 define Package/certtool/description
72 $(call Package/gnutls/Default/description)
73 This package contains the GnuTLS certtool utility.
74 endef
75
76
77 define Package/gnutls-utils
78 $(call Package/gnutls/Default)
79 SECTION:=utils
80 CATEGORY:=Utilities
81 SUBMENU:=Encryption
82 TITLE+= (utilities)
83 DEPENDS+= +libgnutls
84 endef
85
86 define Package/gnutls-utils/description
87 $(call Package/gnutls/Default/description)
88 This package contains the GnuTLS gnutls-cli, gnutls-serv, psktool,
89 and srptool utilities.
90 endef
91
92 define Package/libgnutls/config
93 source "$(SOURCE)/Config.in"
94 endef
95
96 define Package/libgnutls
97 $(call Package/gnutls/Default)
98 TITLE+= (library)
99 DEPENDS+= +libnettle +!LIBNETTLE_MINI:libgmp +GNUTLS_EXT_LIBTASN1:libtasn1 +GNUTLS_PKCS11:p11-kit +GNUTLS_CRYPTODEV:kmod-cryptodev
100 endef
101
102 define Package/libgnutls/description
103 $(call Package/gnutls/Default/description)
104 This package contains the GnuTLS shared library, needed by other programs.
105 endef
106
107
108 CONFIGURE_ARGS+= \
109 --enable-shared \
110 --enable-static \
111 --disable-rpath \
112 --disable-libdane \
113 --disable-guile \
114 --disable-nls \
115 --without-zlib \
116 --enable-local-libopts \
117 --disable-doc \
118 --disable-tests \
119 --with-default-trust-store-dir=/etc/ssl/certs/ \
120 --disable-crywrap \
121 --with-librt-prefix="$(LIBRT_ROOT_DIR)/"
122
123 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1),y)
124 CONFIGURE_ARGS += --with-included-libtasn1
125 endif
126
127 ifneq ($(CONFIG_GNUTLS_PKCS11),y)
128 CONFIGURE_ARGS += --without-p11-kit
129 endif
130
131 ifeq ($(CONFIG_LIBNETTLE_MINI),y)
132 CONFIGURE_ARGS += --with-nettle-mini
133 endif
134
135 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP),y)
136 CONFIGURE_ARGS += --disable-dtls-srtp-support
137 endif
138
139 ifneq ($(CONFIG_GNUTLS_ALPN),y)
140 CONFIGURE_ARGS += --disable-alpn-support
141 endif
142
143 ifneq ($(CONFIG_GNUTLS_HEARTBEAT),y)
144 CONFIGURE_ARGS += --disable-heartbeat-support
145 endif
146
147 ifneq ($(CONFIG_GNUTLS_SRP),y)
148 CONFIGURE_ARGS += --disable-srp-authentication
149 endif
150
151 ifneq ($(CONFIG_GNUTLS_PSK),y)
152 CONFIGURE_ARGS += --disable-psk-authentication
153 endif
154
155 ifneq ($(CONFIG_GNUTLS_OPENPGP),y)
156 CONFIGURE_ARGS += --disable-openpgp-authentication
157 endif
158
159 ifneq ($(CONFIG_GNUTLS_ANON),y)
160 CONFIGURE_ARGS += --disable-anon-authentication
161 endif
162
163 ifneq ($(CONFIG_GNUTLS_OCSP),y)
164 CONFIGURE_ARGS += --disable-ocsp
165 endif
166
167 ifneq ($(CONFIG_GNUTLS_TPM),y)
168 CONFIGURE_ARGS += --without-tpm
169 endif
170
171 ifeq ($(CONFIG_GNUTLS_CRYPTODEV),y)
172 CONFIGURE_ARGS += --enable-cryptodev
173 endif
174
175 TARGET_CFLAGS += $(FPIC)
176
177 define Build/InstallDev
178 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
179 $(CP) \
180 $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
181 $(1)/usr/lib/
182 $(CP) \
183 $(PKG_INSTALL_DIR)/usr/include/gnutls \
184 $(1)/usr/include/
185 $(CP) \
186 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
187 $(1)/usr/lib/pkgconfig/
188 endef
189
190
191 define Package/certtool/conffiles
192 /etc/gnutls/certtool.cfg
193 endef
194
195 define Package/certtool/install
196 $(INSTALL_DIR) $(1)/etc/gnutls
197 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/certtool.cfg $(1)/etc/gnutls/
198 $(INSTALL_DIR) $(1)/usr/bin
199 $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/
200 endef
201
202
203 define Package/gnutls-utils/install
204 $(INSTALL_DIR) $(1)/usr/bin
205 ifeq ($(CONFIG_GNUTLS_OCSP),y)
206 ifeq ($(CONFIG_GNUTLS_ANON),y)
207 $(CP) \
208 $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} \
209 $(1)/usr/bin/
210 endif
211 $(CP) \
212 $(PKG_INSTALL_DIR)/usr/bin/ocsptool \
213 $(1)/usr/bin/
214 endif
215 ifeq ($(CONFIG_GNUTLS_SRP),y)
216 $(CP) \
217 $(PKG_INSTALL_DIR)/usr/bin/srptool \
218 $(1)/usr/bin/
219 endif
220 ifeq ($(CONFIG_GNUTLS_PSK),y)
221 $(CP) \
222 $(PKG_INSTALL_DIR)/usr/bin/psktool \
223 $(1)/usr/bin/
224 endif
225 ifeq ($(CONFIG_GNUTLS_PKCS11),y)
226 $(CP) \
227 $(PKG_INSTALL_DIR)/usr/bin/p11tool \
228 $(1)/usr/bin/
229 endif
230 ifeq ($(CONFIG_GNUTLS_TPM),y)
231 $(CP) \
232 $(PKG_INSTALL_DIR)/usr/bin/tpmtool \
233 $(1)/usr/bin/
234 endif
235 endef
236
237
238 define Package/libgnutls/install
239 $(INSTALL_DIR) $(1)/usr/lib
240 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
241 endef
242
243
244 $(eval $(call BuildPackage,certtool))
245 $(eval $(call BuildPackage,gnutls-utils))
246 $(eval $(call BuildPackage,libgnutls))