curl: make parameters configurable via CURL_FEATURES
authorPhil Blundell <philb@gnu.org>
Sun, 7 Sep 2008 15:59:50 +0000 (15:59 +0000)
committerPhil Blundell <philb@gnu.org>
Sun, 7 Sep 2008 15:59:50 +0000 (15:59 +0000)
packages/curl/curl.inc

index ae2cff6..d3edaef 100644 (file)
@@ -1,23 +1,51 @@
 DESCRIPTION = "Command line tool and library for client-side URL transfers."
 LICENSE = "MIT"
-DEPENDS = "zlib gnutls"
 SECTION = "console/network"
 
 SRC_URI = "http://curl.haxx.se/download/curl-${PV}.tar.bz2 \
            file://pkgconfig_fix.patch;patch=1"
 S = "${WORKDIR}/curl-${PV}"
 
+CURL_FEATURES ?= "zlib,gnutls,cookies,crypto-auth,dict,file,ftp,http,telnet,tftp"
+# other allowed features: ipv6, ares
+
 inherit autotools pkgconfig binconfig
 
-EXTRA_OECONF = "--with-zlib=${STAGING_LIBDIR}/../ \
-                --with-gnutls=${STAGING_BINDIR_CROSS}/ \
-                --without-ssl \
+EXTRA_OECONF = " \
                 --without-libssh2 \
                --with-random=/dev/urandom \
                --without-libidn \
-               --enable-crypto-auth \
+                --without-ssl \
                "
 
+python __anonymous() {
+       f = bb.data.getVar("CURL_FEATURES", d, True).split(",")
+        oeconf = bb.data.getVar("EXTRA_OECONF", d, False)
+        deps = bb.data.getVar("DEPENDS", d, False).split()
+        for x in [ 'cookies', 'crypto-auth', 'dict', 'file', 'ftp', 'http', 'telnet', 'tftp', 'ipv6' ]:
+                if x in f:
+                        oeconf += " --enable-%s" % x
+                else:
+                        oeconf += " --disable-%s" % x
+        if 'zlib' in f:
+                oeconf += " --with-zlib=${STAGING_LIBDIR}/../"
+                deps.append("zlib")
+        else:
+                oeconf += " --without-zlib"
+        if 'gnutls' in f:
+                oeconf += " --with-gnutls=${STAGING_BINDIR_CROSS}"
+                deps.append("gnutls")
+        else:
+                oeconf += " --without-gnutls"
+        if 'ares' in f:
+                oeconf += " --enable-ares"
+                deps.append("c-ares")
+        else:
+                oeconf += " --disable-ares"
+        bb.data.setVar('EXTRA_OECONF', oeconf, d)
+        bb.data.setVar('DEPENDS', " ".join(deps), d)
+}
+
 do_configure_prepend() {
        sed -i s:OPT_GNUTLS/bin:OPT_GNUTLS:g configure.ac
 }