#!/bin/sh
#***************************************************************************
#                                  _   _ ____  _
#  Project                     ___| | | |  _ \| |
#                             / __| | | | |_) | |
#                            | (__| |_| |  _ <| |___
#                             \___|\___/|_| \_\_____|
#
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at https://curl.se/docs/copyright.html.
#
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
# copies of the Software, and permit persons to whom the Software is
# furnished to do so, under the terms of the COPYING file.
#
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
# KIND, either express or implied.
#
# SPDX-License-Identifier: curl
#
###########################################################################

# shellcheck disable=SC2006

prefix='/usr'
# Used in 'libdir'
# shellcheck disable=SC2034
exec_prefix="${prefix}"
# shellcheck disable=SC2034
includedir="${prefix}/include"

usage()
{
  cat <<EOF
Usage: curl-config [OPTION]

Available values for OPTION include:

  --built-shared        says 'yes' if libcurl was built shared
  --ca                  CA bundle install path
  --cc                  compiler
  --cflags              preprocessor and compiler flags
  --checkfor [version]  check for (lib)curl of the specified version
  --configure           the arguments given to configure when building curl
  --features            newline separated list of enabled features
  --help                display this help and exit
  --libs                library linking information
  --prefix              curl install prefix
  --protocols           newline separated list of enabled protocols
  --ssl-backends        output the SSL backends libcurl was built to support
  --static-libs         static libcurl library linking information
  --version             output version information
  --vernum              output version as a hexadecimal number
EOF

  exit "$1"
}

if test "$#" -eq 0; then
  usage 1
fi

while test "$#" -gt 0; do
  case "$1" in
  --built-shared)
    echo 'yes'
    ;;

  --ca)
    echo '/etc/ssl/certs/ca-certificates.crt'
    ;;

  --cc)
    echo 'x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse'
    ;;

  --prefix)
    echo "$prefix"
    ;;

  --feature|--features)
    for feature in alt-svc AsynchDNS HSTS HTTP2 HTTP3 HTTPS-proxy HTTPSRR IDN IPv6 Largefile libz NTLM PSL SSL threadsafe TLS-SRP UnixSockets zstd ''; do
      test -n "$feature" && echo "$feature"
    done
    ;;

  --protocols)
    # shellcheck disable=SC2043
    for protocol in DICT FILE FTP FTPS HTTP HTTPS IMAP IMAPS IPFS IPNS MQTT POP3 POP3S RTSP SMB SMBS SMTP SMTPS TFTP WS WSS; do
      echo "$protocol"
    done
    ;;

  --version)
    echo 'libcurl 8.16.0'
    exit 0
    ;;

  --checkfor)
    checkfor="$2"
    cmajor=`echo "$checkfor" | cut -d. -f1`
    cminor=`echo "$checkfor" | cut -d. -f2`
    # when extracting the patch part we strip off everything after a
    # dash as that's used for things like version 1.2.3-pre1
    cpatch=`echo "$checkfor" | cut -d. -f3 | cut -d- -f1`

    vmajor=`echo '8.16.0' | cut -d. -f1`
    vminor=`echo '8.16.0' | cut -d. -f2`
    # when extracting the patch part we strip off everything after a
    # dash as that's used for things like version 1.2.3-pre1
    vpatch=`echo '8.16.0' | cut -d. -f3 | cut -d- -f1`

    if test "$vmajor" -gt "$cmajor"; then
      exit 0
    fi
    if test "$vmajor" -eq "$cmajor"; then
      if test "$vminor" -gt "$cminor"; then
        exit 0
      fi
      if test "$vminor" -eq "$cminor"; then
        if test "$cpatch" -le "$vpatch"; then
          exit 0
        fi
      fi
    fi

    echo "requested version $checkfor is newer than existing 8.16.0"
    exit 1
    ;;

  --vernum)
    echo '081000'
    exit 0
    ;;

  --help)
    usage 0
    ;;

  --cflags)
    if test "${prefix}/include" = "GENTOO_PORTAGE_EPREFIX@/usr/include"; then
      echo ''
    else
      echo " -I${prefix}/include"
    fi
    ;;

  --libs)
    if test "/usr/lib" != "/usr/lib" -a "/usr/lib" != "/usr/lib64"; then
      curllibdir="-L/usr/lib "
    else
      curllibdir=''
    fi
    if test 'yes' = 'no'; then
      echo "${curllibdir}-lcurl -lcares -lnghttp3 -lnghttp2 -lidn2 -lpsl -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lz"
    else
      echo "${curllibdir}-lcurl"
    fi
    ;;

  --ssl-backends)
    echo 'OpenSSL v3+'
    ;;

  --static-libs)
    if test 'no' != 'no'; then
      echo "/usr/lib/libcurl.a  -lcares -lnghttp3 -lnghttp2 -lidn2 -lpsl -lssl -lcrypto -lssl -lcrypto -lzstd -lzstd -lz"
    else
      echo 'curl was built with static libraries disabled' >&2
      exit 1
    fi
    ;;

  --configure)
    echo " '--prefix=/usr' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--datarootdir=/usr/share' '--disable-dependency-tracking' '--disable-silent-rules' '--docdir=/usr/share/doc/curl-8.16.0-r1' '--htmldir=/usr/share/doc/curl-8.16.0-r1/html' '--with-sysroot=/' '--libdir=/usr/lib' '--without-ca-fallback' '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' '--without-gnutls' '--without-mbedtls' '--with-ca-path=/etc/ssl/certs' '--with-ssl' '--without-rustls' '--with-default-ssl-backend=openssl' '--without-amissl' '--without-wolfssl' '--without-ngtcp2' '--with-openssl-quic' '--enable-file' '--enable-ftp' '--disable-gopher' '--enable-http' '--enable-imap' '--disable-ldaps' '--disable-ldap' '--enable-pop3' '--enable-smb' '--without-libssh2' '--without-librtmp' '--enable-rtsp' '--enable-smtp' '--disable-telnet' '--enable-tftp' '--enable-websockets' '--enable-alt-svc' '--enable-hsts' '--enable-httpsrr' '--with-nghttp2' '--with-nghttp3' '--enable-ares' '--enable-aws' '--enable-basic-auth' '--enable-bearer-auth' '--enable-cookies' '--enable-dateparse' '--enable-dict' '--enable-digest-auth' '--enable-dnsshuffle' '--enable-doh' '--disable-ech' '--enable-http-auth' '--enable-ipv6' '--enable-kerberos-auth' '--enable-largefile' '--enable-manual' '--enable-mime' '--enable-negotiate-auth' '--enable-netrc' '--enable-ntlm' '--enable-progress-meter' '--enable-proxy' '--enable-rt' '--enable-socketpair' '--disable-sspi' '--disable-static' '--enable-symbol-hiding' '--enable-tls-srp' '--disable-versioned-symbols' '--without-brotli' '--with-fish-functions-dir=/usr/share/fish/vendor_completions.d' '--with-libidn2' '--without-gssapi' '--without-libgsasl' '--with-libpsl' '--without-quiche' '--without-schannel' '--without-winidn' '--with-zlib' '--with-zsh-functions-dir=/usr/share/zsh/site-functions' '--with-zstd' '--without-test-caddy' '--without-test-httpd' '--without-test-nghttpx' '--disable-threaded-resolver' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CC=x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse' 'CFLAGS=-O2 -march=x86-64 -pipe' 'LDFLAGS=-Wl,--as-needed'"
    ;;

  *)
    echo "unknown option: $1"
    usage 1
    ;;
  esac
  shift
done

exit 0
