Merge pull request #2729 from cshore/pull-request-wget-fix-symlink-issue
[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.4.14
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.4
17 PKG_MD5SUM:=ad3e269a6793424d5d21c9626e1c9ef1
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_LIBNETTLE_MINI \
39
40 include $(INCLUDE_DIR)/package.mk
41
42
43 define Package/gnutls/Default
44 SUBMENU:=SSL
45 SECTION:=libs
46 CATEGORY:=Libraries
47 TITLE:=GNU TLS
48 URL:=http://www.gnutls.org/
49 endef
50
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.
58 endef
59
60
61 define Package/certtool
62 $(call Package/gnutls/Default)
63 SECTION:=utils
64 CATEGORY:=Utilities
65 TITLE+= (certool utility)
66 DEPENDS+= +libgnutls
67 endef
68
69 define Package/certtool/description
70 $(call Package/gnutls/Default/description)
71 This package contains the GnuTLS certtool utility.
72 endef
73
74
75 define Package/gnutls-utils
76 $(call Package/gnutls/Default)
77 SECTION:=utils
78 CATEGORY:=Utilities
79 TITLE+= (utilities)
80 DEPENDS+= +libgnutls
81 endef
82
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.
87 endef
88
89 define Package/libgnutls/config
90 source "$(SOURCE)/Config.in"
91 endef
92
93 define Package/libgnutls
94 $(call Package/gnutls/Default)
95 TITLE+= (library)
96 DEPENDS+= +libnettle +!LIBNETTLE_MINI:libgmp +GNUTLS_EXT_LIBTASN1:libtasn1 +GNUTLS_PKCS11:p11-kit +GNUTLS_CRYPTODEV:kmod-cryptodev
97 endef
98
99 define Package/libgnutls/description
100 $(call Package/gnutls/Default/description)
101 This package contains the GnuTLS shared library, needed by other programs.
102 endef
103
104
105 CONFIGURE_ARGS+= \
106 --enable-shared \
107 --enable-static \
108 --disable-rpath \
109 --disable-libdane \
110 --disable-guile \
111 --disable-nls \
112 --without-zlib \
113 --enable-local-libopts \
114 --disable-doc \
115 --disable-tests \
116 --with-default-trust-store-dir=/etc/ssl/certs/ \
117 --disable-crywrap \
118 --with-librt-prefix="$(LIBRT_ROOT_DIR)/"
119
120 ifneq ($(CONFIG_GNUTLS_EXT_LIBTASN1),y)
121 CONFIGURE_ARGS += --with-included-libtasn1
122 endif
123
124 ifneq ($(CONFIG_GNUTLS_PKCS11),y)
125 CONFIGURE_ARGS += --without-p11-kit
126 endif
127
128 ifeq ($(CONFIG_LIBNETTLE_MINI),y)
129 CONFIGURE_ARGS += --with-nettle-mini
130 endif
131
132 ifneq ($(CONFIG_GNUTLS_DTLS_SRTP),y)
133 CONFIGURE_ARGS += --disable-dtls-srtp-support
134 endif
135
136 ifneq ($(CONFIG_GNUTLS_ALPN),y)
137 CONFIGURE_ARGS += --disable-alpn-support
138 endif
139
140 ifneq ($(CONFIG_GNUTLS_HEARTBEAT),y)
141 CONFIGURE_ARGS += --disable-heartbeat-support
142 endif
143
144 ifneq ($(CONFIG_GNUTLS_SRP),y)
145 CONFIGURE_ARGS += --disable-srp-authentication
146 endif
147
148 ifneq ($(CONFIG_GNUTLS_PSK),y)
149 CONFIGURE_ARGS += --disable-psk-authentication
150 endif
151
152 ifneq ($(CONFIG_GNUTLS_OPENPGP),y)
153 CONFIGURE_ARGS += --disable-openpgp-authentication
154 endif
155
156 ifneq ($(CONFIG_GNUTLS_ANON),y)
157 CONFIGURE_ARGS += --disable-anon-authentication
158 endif
159
160 ifneq ($(CONFIG_GNUTLS_OCSP),y)
161 CONFIGURE_ARGS += --disable-ocsp
162 endif
163
164 ifeq ($(CONFIG_GNUTLS_CRYPTODEV),y)
165 CONFIGURE_ARGS += --enable-cryptodev
166 endif
167
168 TARGET_CFLAGS += $(FPIC)
169
170 define Build/InstallDev
171 $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig
172 $(CP) \
173 $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so* \
174 $(1)/usr/lib/
175 $(CP) \
176 $(PKG_INSTALL_DIR)/usr/include/gnutls \
177 $(1)/usr/include/
178 $(CP) \
179 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/gnutls.pc \
180 $(1)/usr/lib/pkgconfig/
181 endef
182
183
184 define Package/certtool/conffiles
185 /etc/gnutls/certtool.cfg
186 endef
187
188 define Package/certtool/install
189 $(INSTALL_DIR) $(1)/etc/gnutls
190 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/certtool.cfg $(1)/etc/gnutls/
191 $(INSTALL_DIR) $(1)/usr/bin
192 $(CP) $(PKG_INSTALL_DIR)/usr/bin/certtool $(1)/usr/bin/
193 endef
194
195
196 define Package/gnutls-utils/install
197 $(INSTALL_DIR) $(1)/usr/bin
198 ifeq ($(CONFIG_GNUTLS_OCSP),y)
199 ifeq ($(CONFIG_GNUTLS_ANON),y)
200 $(CP) \
201 $(PKG_INSTALL_DIR)/usr/bin/gnutls-{cli,serv} \
202 $(1)/usr/bin/
203 endif
204 $(CP) \
205 $(PKG_INSTALL_DIR)/usr/bin/ocsptool \
206 $(1)/usr/bin/
207 endif
208 ifeq ($(CONFIG_GNUTLS_SRP),y)
209 $(CP) \
210 $(PKG_INSTALL_DIR)/usr/bin/srptool \
211 $(1)/usr/bin/
212 endif
213 ifeq ($(CONFIG_GNUTLS_PSK),y)
214 $(CP) \
215 $(PKG_INSTALL_DIR)/usr/bin/psktool \
216 $(1)/usr/bin/
217 endif
218 ifeq ($(CONFIG_GNUTLS_PKCS11),y)
219 $(CP) \
220 $(PKG_INSTALL_DIR)/usr/bin/p11tool \
221 $(1)/usr/bin/
222 endif
223 endef
224
225
226 define Package/libgnutls/install
227 $(INSTALL_DIR) $(1)/usr/lib
228 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnutls.so.* $(1)/usr/lib/
229 endef
230
231
232 $(eval $(call BuildPackage,certtool))
233 $(eval $(call BuildPackage,gnutls-utils))
234 $(eval $(call BuildPackage,libgnutls))