make SSL (now defaults to PolarSSL), zlib support and most options configurable
authorImre Kaloz <kaloz@openwrt.org>
Fri, 18 Oct 2013 14:44:02 +0000 (14:44 +0000)
committerImre Kaloz <kaloz@openwrt.org>
Fri, 18 Oct 2013 14:44:02 +0000 (14:44 +0000)
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 38456

libs/curl/Config.in [new file with mode: 0644]
libs/curl/Makefile

diff --git a/libs/curl/Config.in b/libs/curl/Config.in
new file mode 100644 (file)
index 0000000..8ded6f3
--- /dev/null
@@ -0,0 +1,106 @@
+menu "Configuration"
+       depends on PACKAGE_libcurl
+
+choice
+       prompt "SSL library"
+       default LIBCURL_POLARSSL
+
+config LIBCURL_POLARSSL
+       bool "PolarSSL"
+
+config LIBCURL_OPENSSL
+       bool "OpenSSL"
+
+config LIBCURL_GNUTLS
+       bool "GNUTLS"
+
+config LIBCURL_NOSSL
+       bool "No SSL support"
+
+endchoice
+
+config LIBCURL_COOKIES
+       bool "Enable cookies support"
+       default n
+
+config LIBCURL_CRYPTO_AUTH
+       bool "Enable cryptographic authentication"
+       default n
+
+config LIBCURL_DICT
+       bool "Enable DICT support"
+       default n
+
+config LIBCURL_FILE
+       bool "Enable FILE support"
+       default y
+
+config LIBCURL_FTP
+       bool "Enable FTP support"
+       default y
+
+config LIBCURL_GOPHER
+       bool "Enable Gopher support"
+       default n
+
+config LIBCURL_HTTP
+       bool "Enable HTTP support"
+       default y
+
+config LIBCURL_IMAP
+       bool "Enable IMAP support"
+       default n
+
+config LIBCURL_LDAP
+       bool "Enable LDAP support"
+       default n
+
+config LIBCURL_LDAPS
+       bool "Enable LDAPS support"
+       default n
+
+config LIBCURL_LIBCURL_OPTION
+       bool "Enable --libcurl C code generation support"
+       default n
+
+config LIBCURL_POP3
+       bool "Enable POP3 support"
+       default n
+
+config LIBCURL_PROXY
+       bool "Enable proxy support"
+       default n
+
+config LIBCURL_RTSP
+       bool "Enable RTSP support"
+       default n
+
+config LIBCURL_SMTP
+       bool "Enable SMTP support"
+       default n
+
+config LIBCURL_SSPI
+       bool "Enable SSPI"
+       default n
+
+config LIBCURL_TELNET
+       bool "Enable TELNET support"
+       default n
+
+config LIBCURL_TFTP
+       bool "Enable TFTP support"
+       default n
+
+config LIBCURL_THREADED_RESOLVER
+       bool "Enable threaded resolver"
+       default n
+
+config LIBCURL_TLS-SRP
+       bool "Enable TLS-SRP authentication"
+       default n
+
+config LIBCURL_ZLIB
+       bool "Use zlib"
+       default n
+
+endmenu
index 2c8f4ffc4981ae45b2efba3d2916d82f25553e1c..a4e6d3593441fd2d2ec672e7372d329c26a84d8d 100644 (file)
@@ -9,12 +9,11 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=curl
 PKG_VERSION:=7.33.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://curl.haxx.se/download/ \
        http://www.mirrorspace.org/curl/ \
-       http://curl.mirror.internet.tp/download/ \
        ftp://ftp.sunet.se/pub/www/utilities/curl/ \
        ftp://ftp.planetmirror.com/pub/curl/ \
        http://www.mirrormonster.com/curl/download/ \
@@ -27,6 +26,33 @@ PKG_LICENSE_FILES:=COPYING
 PKG_FIXUP:=autoreconf
 PKG_BUILD_PARALLEL:=1
 
+PKG_CONFIG_DEPENDS := \
+  LIBCURL_COOKIES \
+  LIBCURL_CRYPTO_AUTH \
+  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_SMTP \
+  LIBCURL_SSPI \
+  LIBCURL_TELNET \
+  LIBCURL_TFTP \
+  LIBCURL_THREADED_RESOLVER \
+  LIBCURL_TLS-SRP \
+  LIBCURL_ZLIB
+
 include $(INCLUDE_DIR)/package.mk
 
 define Package/curl/Default
@@ -47,8 +73,14 @@ define Package/libcurl
   $(call Package/curl/Default)
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=+libopenssl +zlib
-  TITLE:=A client-side URL transfer library
+  DEPENDS:=+LIBCURL_POLARSSL:libpolarssl +LIBCURL_OPENSSL:libopenssl +LIBCURL_GNUTLS:libgnutls +LIBCURL_ZLIB:zlib
+  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)
+  MENU:=1
+endef
+
+
+define Package/libcurl/config
+  source "$(SOURCE)/Config.in"
 endef
 
 TARGET_CFLAGS += $(FPIC)
@@ -57,36 +89,41 @@ CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
        --disable-thread \
-       --enable-cookies \
-       --enable-crypto-auth \
        --enable-nonblocking \
-       --enable-file \
-       --enable-ftp \
-       --enable-http \
        --disable-ares \
        --disable-debug \
-       --disable-dict \
-       --disable-gopher \
-       --disable-ldap \
        --disable-manual \
-       --disable-sspi \
-       --disable-telnet \
-       --enable-tftp \
        --disable-verbose \
-       --with-random="/dev/urandom" \
-       --with-ssl="$(STAGING_DIR)/usr" \
        --without-ca-bundle \
-       --without-gnutls \
        --without-krb4 \
        --without-libidn \
        --without-nss \
        --without-libssh2 \
-       --with-zlib="$(STAGING_DIR)/usr" \
        $(call autoconf_bool,CONFIG_IPV6,ipv6) \
-
-CONFIGURE_VARS += \
-       LIBS="-lcrypto -lssl -lz" \
-       CC="$(filter-out ccache,$(TARGET_CC))"
+       $(if $(CONFIG_LIBCURL_COOKIES),--enable,--disable)-cookies \
+       $(if $(CONFIG_LIBCURL_CRYPTO-AUTH),--enable,--disable)-crypto-auth \
+       $(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_ZLIB),--with-zlib="$(STAGING_DIR)/usr",--without-zlib) \
 
 define Build/Compile
        +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \