Merge pull request #3623 from p-wassi/oping_190
[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.8
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:=113e892e51acdb11b81804cd355adfee
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 --with-included-unistring \
114 --disable-guile \
115 --disable-nls \
116 --without-zlib \
117 --enable-local-libopts \
118 --disable-doc \
119 --disable-tests \
120 --with-default-trust-store-dir=/etc/ssl/certs/ \
121 --disable-crywrap \
122 --with-librt-prefix="$(LIBRT_ROOT_DIR)/"
123
124 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1),y)
125 CONFIGURE_ARGS += --with-included-libtasn1
126 endif
127
128 ifneq ($(CONFIG_GNUTLS_PKCS11),y)
129 CONFIGURE_ARGS += --without-p11-kit
130 endif
131
132 ifeq ($(CONFIG_LIBNETTLE_MINI),y)
133 CONFIGURE_ARGS += --with-nettle-mini
134 endif
135
136 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP),y)
137 CONFIGURE_ARGS += --disable-dtls-srtp-support
138 endif
139
140 ifneq ($(CONFIG_GNUTLS_ALPN),y)
141 CONFIGURE_ARGS += --disable-alpn-support
142 endif
143
144 ifneq ($(CONFIG_GNUTLS_HEARTBEAT),y)
145 CONFIGURE_ARGS += --disable-heartbeat-support
146 endif
147
148 ifneq ($(CONFIG_GNUTLS_SRP),y)
149 CONFIGURE_ARGS += --disable-srp-authentication
150 endif
151
152 ifneq ($(CONFIG_GNUTLS_PSK),y)
153 CONFIGURE_ARGS += --disable-psk-authentication
154 endif
155
156 ifneq ($(CONFIG_GNUTLS_OPENPGP),y)
157 CONFIGURE_ARGS += --disable-openpgp-authentication
158 endif
159
160 ifneq ($(CONFIG_GNUTLS_ANON),y)
161 CONFIGURE_ARGS += --disable-anon-authentication
162 endif
163
164 ifneq ($(CONFIG_GNUTLS_OCSP),y)
165 CONFIGURE_ARGS += --disable-ocsp
166 endif
167
168 ifneq ($(CONFIG_GNUTLS_TPM),y)
169 CONFIGURE_ARGS += --without-tpm
170 endif
171
172 ifeq ($(CONFIG_GNUTLS_CRYPTODEV),y)
173 CONFIGURE_ARGS += --enable-cryptodev
174 endif
175
176 TARGET_CFLAGS += $(FPIC)
177
178 define Build/InstallDev
179 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
180 $(CP) \
181 $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
182 $(1)/usr/lib/
183 $(CP) \
184 $(PKG_INSTALL_DIR)/usr/include/gnutls \
185 $(1)/usr/include/
186 $(CP) \
187 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
188 $(1)/usr/lib/pkgconfig/
189 endef
190
191
192 define Package/certtool/conffiles
193 /etc/gnutls/certtool.cfg
194 endef
195
196 define Package/certtool/install
197 $(INSTALL_DIR) $(1)/etc/gnutls
198 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/certtool.cfg $(1)/etc/gnutls/
199 $(INSTALL_DIR) $(1)/usr/bin
200 $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/
201 endef
202
203
204 define Package/gnutls-utils/install
205 $(INSTALL_DIR) $(1)/usr/bin
206 ifeq ($(CONFIG_GNUTLS_OCSP),y)
207 ifeq ($(CONFIG_GNUTLS_ANON),y)
208 $(CP) \
209 $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} \
210 $(1)/usr/bin/
211 endif
212 $(CP) \
213 $(PKG_INSTALL_DIR)/usr/bin/ocsptool \
214 $(1)/usr/bin/
215 endif
216 ifeq ($(CONFIG_GNUTLS_SRP),y)
217 $(CP) \
218 $(PKG_INSTALL_DIR)/usr/bin/srptool \
219 $(1)/usr/bin/
220 endif
221 ifeq ($(CONFIG_GNUTLS_PSK),y)
222 $(CP) \
223 $(PKG_INSTALL_DIR)/usr/bin/psktool \
224 $(1)/usr/bin/
225 endif
226 ifeq ($(CONFIG_GNUTLS_PKCS11),y)
227 $(CP) \
228 $(PKG_INSTALL_DIR)/usr/bin/p11tool \
229 $(1)/usr/bin/
230 endif
231 ifeq ($(CONFIG_GNUTLS_TPM),y)
232 $(CP) \
233 $(PKG_INSTALL_DIR)/usr/bin/tpmtool \
234 $(1)/usr/bin/
235 endif
236 endef
237
238
239 define Package/libgnutls/install
240 $(INSTALL_DIR) $(1)/usr/lib
241 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
242 endef
243
244
245 $(eval $(call BuildPackage,certtool))
246 $(eval $(call BuildPackage,gnutls-utils))
247 $(eval $(call BuildPackage,libgnutls))