aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/network/utils/curl/Config.in137
-rw-r--r--package/network/utils/curl/Makefile114
2 files changed, 155 insertions, 96 deletions
diff --git a/package/network/utils/curl/Config.in b/package/network/utils/curl/Config.in
index 87e5f99f57..11cfa39e95 100644
--- a/package/network/utils/curl/Config.in
+++ b/package/network/utils/curl/Config.in
@@ -1,111 +1,154 @@
if PACKAGE_libcurl
+comment "SSL support"
+
choice
- prompt "SSL library"
+ prompt "Selected SSL library"
default LIBCURL_POLARSSL
-config LIBCURL_POLARSSL
- bool "PolarSSL"
+ config LIBCURL_POLARSSL
+ bool "PolarSSL"
-config LIBCURL_CYASSL
- bool "CyaSSL"
+ config LIBCURL_CYASSL
+ bool "CyaSSL"
-config LIBCURL_AXTLS
- bool "axTLS"
+ config LIBCURL_AXTLS
+ bool "axTLS"
-config LIBCURL_OPENSSL
- bool "OpenSSL"
+ config LIBCURL_OPENSSL
+ bool "OpenSSL"
-config LIBCURL_GNUTLS
- bool "GNUTLS"
+ config LIBCURL_GNUTLS
+ bool "GNUTLS"
-config LIBCURL_NOSSL
- bool "No SSL support"
+ config LIBCURL_NOSSL
+ bool "No SSL support"
endchoice
-config LIBCURL_COOKIES
- bool "Enable cookies support"
- default y
-
-config LIBCURL_CRYPTO_AUTH
- bool "Enable cryptographic authentication"
- default n
+comment "Supported protocols"
config LIBCURL_DICT
- bool "Enable DICT support"
+ bool "DICT protocol"
default n
config LIBCURL_FILE
- bool "Enable FILE support"
+ bool "FILE protocol"
default y
config LIBCURL_FTP
- bool "Enable FTP support"
+ bool "FTP / FTPS protocol"
default y
config LIBCURL_GOPHER
- bool "Enable Gopher support"
+ bool "Gopher protocol"
default n
config LIBCURL_HTTP
- bool "Enable HTTP support"
+ bool "HTTP / HTTPS protocol"
+ default y
+
+config LIBCURL_COOKIES
+ bool "Enable Cookies support"
+ depends on LIBCURL_HTTP
default y
config LIBCURL_IMAP
- bool "Enable IMAP support"
+ bool "IMAP / IMAPS protocol"
default n
config LIBCURL_LDAP
- bool "Enable LDAP support"
+ bool "LDAP protocol"
default n
config LIBCURL_LDAPS
bool "Enable LDAPS support"
+ depends on LIBCURL_LDAP && !LIBCURL_NOSSL
+ default y
+
+config LIBCURL_POP3
+ bool "POP3 / POP3S protocol"
default n
-config LIBCURL_LIBCURL_OPTION
- bool "Enable --libcurl C code generation support"
+config LIBCURL_RTSP
+ bool "RTSP protocol"
+ depends on LIBCURL_HTTP
default n
+config LIBCURL_NO_RTSP
+ string "RTSP require HTTP protocol"
+ depends on !LIBCURL_HTTP
+ default "!"
-config LIBCURL_POP3
- bool "Enable POP3 support"
+config LIBCURL_SSH2
+ bool "SCP / SFTP protocol"
+ default n
+
+config LIBCURL_SMB
+ bool "SMB protocol (CIFS)"
+ depends on LIBCURL_CRYPTO_AUTH && (LIBCURL_GNUTLS || LIBCURL_OPENSSL)
+ default n
+config LIBCURL_NO_SMB
+ string "SMB require 'cryptographic authentication' and either 'GnuTLS' or 'OpenSSL'"
+ depends on !LIBCURL_CRYPTO_AUTH || (!LIBCURL_GNUTLS && !LIBCURL_OPENSSL)
+ default "!"
+
+config LIBCURL_SMTP
+ bool "SMTP / SMTPS protocol"
default n
+config LIBCURL_TELNET
+ bool "TELNET protocol"
+ default n
+
+config LIBCURL_TFTP
+ bool "TFTP protocol"
+ default n
+
+comment "Miscellaneous"
+
config LIBCURL_PROXY
bool "Enable proxy support"
default y
-config LIBCURL_RTSP
- bool "Enable RTSP support"
+config LIBCURL_CRYPTO_AUTH
+ bool "Enable cryptographic authentication"
default n
-config LIBCURL_SMTP
- bool "Enable SMTP support"
+config LIBCURL_TLS_SRP
+ bool "Enable TLS-SRP authentication"
default n
-config LIBCURL_SSPI
- bool "Enable SSPI"
+config LIBCURL_LIBIDN
+ bool "Enable IDN support"
default n
-config LIBCURL_TELNET
- bool "Enable TELNET support"
+config LIBCURL_THREADED_RESOLVER
+ bool "Enable threaded DNS resolver"
default n
+ help
+ Enable POSIX threaded asynchronous DNS resolution
-config LIBCURL_TFTP
- bool "Enable TFTP support"
+config LIBCURL_ZLIB
+ bool "Enable zlib support"
default n
-config LIBCURL_THREADED_RESOLVER
- bool "Enable threaded resolver"
+config LIBCURL_UNIX_SOCKETS
+ bool "Enable unix domain socket support"
default n
+ help
+ Enable HTTP over unix domain sockets.
+ To use this with the curl command line, you specify the socket path to the new --unix-domain option.
+ This feature is actually not limited to HTTP, you can do all the TCP-based protocols
+ except FTP over the unix domain socket, but it is only HTTP that is regularly used this way.
+ The reason FTP isn't supported is of course its use of two connections
+ which would be even weirder to do like this.
-config LIBCURL_TLS-SRP
- bool "Enable TLS-SRP authentication"
+config LIBCURL_LIBCURL_OPTION
+ bool "Enable generation of C code"
default n
-config LIBCURL_ZLIB
- bool "Use zlib"
+config LIBCURL_VERBOSE
+ bool "Enable verbose error strings"
default n
endif
diff --git a/package/network/utils/curl/Makefile b/package/network/utils/curl/Makefile
index 7274e2cb11..6da3a66a02 100644
--- a/package/network/utils/curl/Makefile
+++ b/package/network/utils/curl/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=curl
PKG_VERSION:=7.40.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://curl.haxx.se/download/ \
@@ -26,34 +26,45 @@ PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
-PKG_CONFIG_DEPENDS := \
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_IPV6 \
+ \
LIBCURL_AXTLS \
- LIBCURL_COOKIES \
- LIBCURL_CRYPTO_AUTH \
LIBCURL_CYASSL \
+ LIBCURL_GNUTLS \
+ LIBCURL_OPENSSL \
+ LIBCURL_POLARSSL \
+ LIBCURL_NOSSL \
+ \
+ LIBCURL_LIBIDN \
+ LIBCURL_SSH2 \
+ LIBCURL_ZLIB \
+ \
LIBCURL_DICT \
LIBCURL_FILE \
LIBCURL_FTP \
- LIBCURL_GNUTLS \
LIBCURL_GOPHER \
LIBCURL_HTTP \
LIBCURL_IMAP \
LIBCURL_LDAP \
LIBCURL_LDAPS \
- LIBCURL_LIBCURL_OPTION \
- LIBCURL_NOSSL \
- LIBCURL_OPENSSL \
- LIBCURL_POLARSSL \
LIBCURL_POP3 \
- LIBCURL_PROXY \
LIBCURL_RTSP \
+ LIBCURL_NO_RTSP \
+ LIBCURL_SMB \
+ LIBCURL_NO_SMB \
LIBCURL_SMTP \
- LIBCURL_SSPI \
LIBCURL_TELNET \
LIBCURL_TFTP \
+ \
+ LIBCURL_COOKIES \
+ LIBCURL_CRYPTO_AUTH \
+ LIBCURL_LIBCURL_OPTION \
+ LIBCURL_PROXY \
LIBCURL_THREADED_RESOLVER \
- LIBCURL_TLS-SRP \
- LIBCURL_ZLIB
+ LIBCURL_TLS_SRP \
+ LIBCURL_UNIX_SOCKETS \
+ LIBCURL_VERBOSE \
include $(INCLUDE_DIR)/package.mk
@@ -75,8 +86,9 @@ define Package/libcurl
$(call Package/curl/Default)
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+LIBCURL_POLARSSL:libpolarssl +LIBCURL_CYASSL:libcyassl +LIBCURL_AXTLS:libaxtls +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls +LIBCURL_ZLIB:zlib +LIBCURL_THREADED_RESOLVER:libpthread
- TITLE:=A client-side URL transfer library using $(if $(CONFIG_LIBCURL_POLARSSL),PolarSSL)$(if $(CONFIG_LIBCURL_OPENSSL),OpenSSL)$(if $(CONFIG_LIBCURL_GNUTLS),GNUTLS)$(if $(CONFIG_LIBCURL_NOSSL),no SSL)
+ DEPENDS:=+LIBCURL_POLARSSL:libpolarssl +LIBCURL_CYASSL:libcyassl +LIBCURL_AXTLS:libaxtls +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls
+ DEPENDS += +LIBCURL_ZLIB:zlib +LIBCURL_THREADED_RESOLVER:libpthread +LIBCURL_LDAP:libopenldap +LIBCURL_LIBIDN:libidn +LIBCURL_SSH2:libssh2
+ TITLE:=A client-side URL transfer library
MENU:=1
endef
@@ -88,47 +100,51 @@ endef
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
+ --disable-debug \
+ --disable-ares \
--enable-shared \
--enable-static \
- --disable-thread \
- --enable-nonblocking \
- --disable-ares \
- --disable-debug \
--disable-manual \
- --disable-verbose \
--without-ca-bundle \
- $(if $(CONFIG_LIBCURL_NOSSL),,--with-ca-path=/etc/ssl/certs/) \
- --without-krb4 \
- --without-libidn \
--without-nss \
- --without-libssh2 \
+ --without-libmetalink \
+ --without-librtmp \
+ \
$(call autoconf_bool,CONFIG_IPV6,ipv6) \
- $(if $(CONFIG_LIBCURL_AXTLS),--with-axtls="$(STAGING_DIR)/usr",--without-axtls) \
- $(if $(CONFIG_LIBCURL_COOKIES),--enable,--disable)-cookies \
- $(if $(CONFIG_LIBCURL_CRYPTO_AUTH),--enable,--disable)-crypto-auth \
- $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr",--without-cyassl) \
- $(if $(CONFIG_LIBCURL_DICT),--enable,--disable)-dict \
- $(if $(CONFIG_LIBCURL_FILE),--enable,--disable)-file \
- $(if $(CONFIG_LIBCURL_FTP),--enable,--disable)-ftp \
- $(if $(CONFIG_LIBCURL_GOPHER),--enable,--disable)-gopher \
- $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr",--without-gnutls) \
- $(if $(CONFIG_LIBCURL_HTTP),--enable,--disable)-http \
- $(if $(CONFIG_LIBCURL_IMAP),--enable,--disable)-imap \
- $(if $(CONFIG_LIBCURL_LDAP),--enable,--disable)-ldap \
- $(if $(CONFIG_LIBCURL_LDAPS),--enable,--disable)-ldaps \
- $(if $(CONFIG_LIBCURL_LIBCURL_OPTION),--enable,--disable)-libcurl-option \
- $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr",--without-ssl) \
- $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr",--without-polarssl) \
- $(if $(CONFIG_LIBCURL_POP3),--enable,--disable)-pop3 \
- $(if $(CONFIG_LIBCURL_PROXY),--enable,--disable)-proxy \
- $(if $(CONFIG_LIBCURL_RTSP),--enable,--disable)-rtsp \
- $(if $(CONFIG_LIBCURL_TELNET),--enable,--disable)-telnet \
- $(if $(CONFIG_LIBCURL_TFTP),--enable,--disable)-tftp \
- $(if $(CONFIG_LIBCURL_SMTP),--enable,--disable)-smtp \
- $(if $(CONFIG_LIBCURL_SSPI),--enable,--disable)-sspi \
- $(if $(CONFIG_LIBCURL_THREADED_RESOLVER),--enable,--disable)-threaded-resolver \
- $(if $(CONFIG_LIBCURL_TLS-SRP),--enable,--disable)-tls-srp \
+ \
+ $(if $(CONFIG_LIBCURL_AXTLS),--with-axtls="$(STAGING_DIR)/usr" --without-ca-path,--without-axtls) \
+ $(if $(CONFIG_LIBCURL_CYASSL),--with-cyassl="$(STAGING_DIR)/usr" --without-ca-path,--without-cyassl) \
+ $(if $(CONFIG_LIBCURL_GNUTLS),--with-gnutls="$(STAGING_DIR)/usr" --without-ca-path,--without-gnutls) \
+ $(if $(CONFIG_LIBCURL_OPENSSL),--with-ssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-ssl) \
+ $(if $(CONFIG_LIBCURL_POLARSSL),--with-polarssl="$(STAGING_DIR)/usr" --with-ca-path=/etc/ssl/certs,--without-polarssl) \
+ \
+ $(if $(CONFIG_LIBCURL_LIBIDN),--with-libidn="$(STAGING_DIR)/usr",--without-libidn) \
+ $(if $(CONFIG_LIBCURL_SSH2),--with-libssh2="$(STAGING_DIR)/usr",--without-libssh2) \
$(if $(CONFIG_LIBCURL_ZLIB),--with-zlib="$(STAGING_DIR)/usr",--without-zlib) \
+ \
+ $(call autoconf_bool,CONFIG_LIBCURL_DICT,dict) \
+ $(call autoconf_bool,CONFIG_LIBCURL_FILE,file) \
+ $(call autoconf_bool,CONFIG_LIBCURL_FTP,ftp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_GOPHER,gopher) \
+ $(call autoconf_bool,CONFIG_LIBCURL_HTTP,http) \
+ $(call autoconf_bool,CONFIG_LIBCURL_IMAP,imap) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LDAP,ldap) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LDAPS,ldaps) \
+ $(call autoconf_bool,CONFIG_LIBCURL_POP3,pop3) \
+ $(call autoconf_bool,CONFIG_LIBCURL_RTSP,rtsp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_SMB,smb) \
+ $(call autoconf_bool,CONFIG_LIBCURL_SMTP,smtp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TELNET,telnet) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TFTP,tftp) \
+ \
+ $(call autoconf_bool,CONFIG_LIBCURL_COOKIES,cookies) \
+ $(call autoconf_bool,CONFIG_LIBCURL_CRYPTO_AUTH,crypto-auth) \
+ $(call autoconf_bool,CONFIG_LIBCURL_LIBCURL_OPTION,libcurl-option) \
+ $(call autoconf_bool,CONFIG_LIBCURL_PROXY,proxy) \
+ $(call autoconf_bool,CONFIG_LIBCURL_THREADED_RESOLVER,threaded-resolver) \
+ $(call autoconf_bool,CONFIG_LIBCURL_TLS_SRP,tls-srp) \
+ $(call autoconf_bool,CONFIG_LIBCURL_UNIX_SOCKETS,unix-sockets) \
+ $(call autoconf_bool,CONFIG_LIBCURL_VERBOSE,verbose) \
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \