[libcurl]: make SSL (now defaults to PolarSSL), zlib support and most options configurable

Signed-off-by: Imre Kaloz <kaloz@openwrt.org>



git-svn-id: svn://svn.openwrt.org/openwrt/packages@38456 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
kaloz 2013-10-18 14:44:02 +00:00
parent 6ca07c5c90
commit a3500f0af1
2 changed files with 166 additions and 23 deletions

106
libs/curl/Config.in Normal file
View File

@ -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

View 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) \