diff options
Diffstat (limited to 'fluent-bit/lib/librdkafka-2.1.0/mklove/modules/configure.libcurl')
-rw-r--r-- | fluent-bit/lib/librdkafka-2.1.0/mklove/modules/configure.libcurl | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/fluent-bit/lib/librdkafka-2.1.0/mklove/modules/configure.libcurl b/fluent-bit/lib/librdkafka-2.1.0/mklove/modules/configure.libcurl new file mode 100644 index 000000000..05048745f --- /dev/null +++ b/fluent-bit/lib/librdkafka-2.1.0/mklove/modules/configure.libcurl @@ -0,0 +1,99 @@ +#!/bin/bash +# +# libcurl support, with installer +# +# Usage: +# mkl_require libcurl +# +# And then call the following function from the correct place/order in checks: +# mkl_check libcurl +# + +mkl_toggle_option "Feature" ENABLE_CURL "--enable-curl" "Enable HTTP client (using libcurl)" "try" + +function manual_checks { + case "$ENABLE_CURL" in + n) return 0 ;; + y) local action=fail ;; + try) local action=disable ;; + *) mkl_err "mklove internal error: invalid value for ENABLE_CURL: $ENABLE_CURL"; exit 1 ;; + esac + + mkl_meta_set "libcurl" "apk" "curl-dev curl-static" + mkl_meta_set "libcurl" "deb" "libcurl4-openssl-dev" + mkl_meta_set "libcurl" "static" "libcurl.a" + if [[ $MKL_DISTRO == "osx" && $WITH_STATIC_LINKING ]]; then + mkl_env_append LDFLAGS "-framework CoreFoundation -framework SystemConfiguration" + mkl_mkvar_append "libcurl" MKL_PKGCONFIG_LIBS_PRIVATE "-framework CoreFoundation -framework SystemConfiguration" + fi + mkl_lib_check "libcurl" "WITH_CURL" $action CC "-lcurl" \ + " +#include <curl/curl.h> + +void foo (void) { + curl_global_init(CURL_GLOBAL_DEFAULT); +} +" +} + + +# Install curl from source tarball +# +# Param 1: name (libcurl) +# Param 2: install-dir-prefix (e.g., DESTDIR) +# Param 2: version (optional) +function install_source { + local name=$1 + local destdir=$2 + local ver=7.86.0 + local checksum="3dfdd39ba95e18847965cd3051ea6d22586609d9011d91df7bc5521288987a82" + + echo "### Installing $name $ver from source to $destdir" + if [[ ! -f Makefile ]]; then + mkl_download_archive \ + "https://curl.se/download/curl-${ver}.tar.gz" \ + 256 \ + $checksum || return 1 + fi + + # curl's configure has a runtime check where a program is built + # with all libs linked and then executed, since mklove's destdir + # is outside the standard ld.so search path this runtime check will + # fail due to missing libraries. + # We patch curl's configure file to skip this check altogether. + if ! mkl_patch libcurl 0000 ; then + return 1 + fi + + # Clear out LIBS to not interfer with lib detection process. + LIBS="" ./configure \ + --with-openssl \ + --enable-static \ + --disable-shared \ + --disable-ntlm{,-wb} \ + --disable-dict \ + --disable-ftp \ + --disable-file \ + --disable-gopher \ + --disable-imap \ + --disable-mqtt \ + --disable-pop3 \ + --disable-rtsp \ + --disable-smb \ + --disable-smtp \ + --disable-telnet \ + --disable-tftp \ + --disable-manual \ + --disable-ldap{,s} \ + --disable-libcurl-option \ + --without-{librtmp,libidn2,winidn,nghttp2,nghttp3,ngtcp2,quiche,brotli} && + time make -j && + make DESTDIR="${destdir}" prefix=/usr install + local ret=$? + + if [[ $MKL_DISTRO == osx ]]; then + mkl_mkvar_append "libcurl" LIBS "-framework CoreFoundation -framework SystemConfiguration" + fi + + return $ret +} |