aria2: Add some build config options
authorHsing-Wang Liao <kuoruan@gmail.com>
Mon, 14 Aug 2017 07:54:16 +0000 (15:54 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Fri, 25 Aug 2017 05:51:45 +0000 (13:51 +0800)
======================== ========================================
features                  dependency
======================== ========================================
HTTPS                    OSX or GnuTLS or OpenSSL or Windows
SFTP                     libssh2
BitTorrent               None. Optional: libnettle+libgmp or
                         libgcrypt or OpenSSL
Metalink                 libxml2 or Expat.
Checksum                 None. Optional: OSX or libnettle or
                         libgcrypt or OpenSSL or Windows
gzip, deflate in HTTP    zlib
Async DNS                C-Ares
Firefox3/Chromium cookie libsqlite3
XML-RPC                  libxml2 or Expat.
JSON-RPC over WebSocket  libnettle or libgcrypt or OpenSSL
======================== ========================================

Add 'CONFIG_' to 'PKG_CONFIG_DEPENDS'.

Signed-off-by: Hsing-Wang Liao <kuoruan@gmail.com>
net/aria2/Config.in
net/aria2/Makefile

index 2f0443993f052ada1cba15b49ffb2b7c419876e2..923acdf59833343e17d65d5f4a4733cdf8d6e187 100644 (file)
@@ -9,21 +9,63 @@ config ARIA2_OPENSSL
        bool "OpenSSL"
 
 config ARIA2_GNUTLS
-       bool "GNUTLS"
+       bool "GnuTLS"
 
 config ARIA2_NOSSL
        bool "No SSL Support"
 
 endchoice
 
+choice
+       prompt "Crypto Library"
+       depends on !ARIA2_OPENSSL
+       default ARIA2_NOCRYPOTLIB
+
+config ARIA2_NETTLE
+       bool "Nettle"
+
+config ARIA2_LIBGCRYPT
+       bool "Libgcrypt"
+
+config ARIA2_NOCRYPTO
+       bool "No Crypto Library"
+
+endchoice
+
+choice
+       prompt "XML Library"
+       default ARIA2_NOXML
+
+config ARIA2_LIBXML2
+       bool "Libxml2"
+
+config ARIA2_EXPAT
+       bool "Expat"
+
+config ARIA2_NOXML
+       bool "No XML Library"
+
+endchoice
+
+config ARIA2_GMP
+       bool "GNU Multiple Precision Arithmetic Library"
+       depends on ARIA2_NETTLE
+       default n
+
 config ARIA2_BITTORRENT
        bool "Enable Bittorrent Support"
-       depends on ARIA2_OPENSSL
+       depends on ARIA2_OPENSSL || ARIA2_LIBGCRYPT || \
+               (ARIA2_NETTLE && ARIA2_GMP)
+       default n
+
+config ARIA2_METALINK
+       bool "Enable Metalink Support"
+       depends on !ARIA2_NOXML
        default n
 
 config ARIA2_SFTP
-        bool "Enable SFTP Support"
-        default n
+       bool "Enable SFTP Support"
+       default n
 
 config ARIA2_ASYNC_DNS
        bool "Enable Async DNS Support"
@@ -33,21 +75,9 @@ config ARIA2_COOKIE
        bool "Enable Firefox3/Chromium Cookie Support"
        default n
 
-config ARIA2_METALINK
-       bool "Enable Metalink Support"
-       default n
-
-choice
-       prompt "XML Library"
-       default ARIA2_LIBXML2
-       depends on ARIA2_METALINK
-
-config ARIA2_LIBXML2
-        bool "LIBXML2"
-
-config ARIA2_EXPAT
-       bool "EXPAT"
-
-endchoice
+config ARIA2_WEBSOCKET
+       bool "Enable JSON-RPC over WebSocket Support"
+       depends on ARIA2_OPENSSL || ARIA2_LIBGCRYPT || ARIA2_NETTLE
+       default y
 
 endmenu
index c06c5fc2e84a83d7614456de706517740d55ce2a..f81bb557e83b8242ed1756dbaa3de0c47298ab07 100644 (file)
@@ -15,21 +15,27 @@ PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_V
 PKG_HASH:=546e9194a9135d665fce572cb93c88f30fb5601d113bfa19951107ced682dc50
 PKG_INSTALL:=1
 
-PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>, Hsing-Wang Liao <kuoruan@gmail.com>
+PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>, \
+       Hsing-Wang Liao <kuoruan@gmail.com>
 PKG_LICENSE:=GPLv2
 PKG_LICENSE_FILES:=COPYING
 
 PKG_CONFIG_DEPENDS := \
-  ARIA2_NOSSL \
-  ARIA2_OPENSSL \
-  ARIA2_GNUTLS \
-  ARIA2_BITTORRENT \
-  ARIA2_SFTP \
-  ARIA2_ASYNC_DNS \
-  ARIA2_COOKIE \
-  ARIA2_METALINK \
-  ARIA2_EXPAT \
-  ARIA2_LIBXML2
+       CONFIG_ARIA2_NOSSL \
+       CONFIG_ARIA2_OPENSSL \
+       CONFIG_ARIA2_GNUTLS \
+       CONFIG_ARIA2_NOCRYPTO \
+       CONFIG_ARIA2_NETTLE \
+       CONFIG_ARIA2_LIBGCRYPT \
+       CONFIG_ARIA2_LIBXML2 \
+       CONFIG_ARIA2_EXPAT \
+       CONFIG_ARIA2_GMP \
+       CONFIG_ARIA2_BITTORRENT \
+       CONFIG_ARIA2_METALINK \
+       CONFIG_ARIA2_SFTP \
+       CONFIG_ARIA2_ASYNC_DNS \
+       CONFIG_ARIA2_COOKIE \
+       CONFIG_ARIA2_WEBSOCKET
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -43,13 +49,16 @@ define Package/aria2
   SUBMENU:=File Transfer
   TITLE:=lightweight download utility
   URL:=https://aria2.github.io/
-  DEPENDS:=+zlib +libstdcpp +ARIA2_SFTP:libssh2 +ARIA2_ASYNC_DNS:libcares +ARIA2_COOKIE:libsqlite3 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls
+  DEPENDS:=+zlib +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls \
+       +ARIA2_NETTLE:libnettle +ARIA2_LIBGCRYPT:libgcrypt +ARIA2_GMP:libgmp \
+       +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +ARIA2_SFTP:libssh2 \
+       +ARIA2_ASYNC_DNS:libcares +ARIA2_COOKIE:libsqlite3
   USERID:=aria2=6800:aria2=6800
 endef
 
 define Package/aria2/description
- aria2 is a lightweight multi-protocol & multi-source command-line download
- utility
 aria2 is a lightweight multi-protocol & multi-source command-line download
 utility
 endef
 
 CONFIGURE_ARGS += \
@@ -57,16 +66,17 @@ CONFIGURE_ARGS += \
        $(if $(CONFIG_ARIA2_NOSSL),--disable,--enable)-ssl \
        $(if $(CONFIG_ARIA2_BITTORRENT),--enable,--disable)-bittorrent \
        $(if $(CONFIG_ARIA2_METALINK),--enable,--disable)-metalink \
+       $(if $(CONFIG_ARIA2_WEBSOCKET),--enable,--disable)-websocket \
        $(if $(CONFIG_ARIA2_OPENSSL),--with,--without)-openssl \
        $(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
+       $(if $(CONFIG_ARIA2_NETTLE),--with,--without)-libnettle \
+       $(if $(CONFIG_ARIA2_LIBGCRYPT),--with,--without)-libgcrypt \
+       $(if $(CONFIG_ARIA2_GMP),--with,--without)-libgmp \
+       $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
+       $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
        $(if $(CONFIG_ARIA2_SFTP),--with,--without)-libssh2 \
        $(if $(CONFIG_ARIA2_ASYNC_DNS),--with,--without)-libcares \
        $(if $(CONFIG_ARIA2_COOKIE),--with,--without)-sqlite3 \
-       $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
-       $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
-       --without-libnettle \
-       --without-libgmp \
-       --without-libgcrypt \
        --without-libuv \
        --with-libz