#! /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
#
###########################################################################

prefix="/usr"
exec_prefix=/usr
includedir=/usr/include
cppflag_curl_staticlib=

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    pre-processor 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 the version information as a number (hexadecimal)
EOF

    exit $1
}

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

while test $# -gt 0; do
    case "$1" in
    # this deals with options in the style
    # --option=value and extracts the value part
    # [not currently used]
    -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) value= ;;
    esac

    case "$1" in
    --built-shared)
        echo yes
        ;;

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

    --cc)
        echo "x86_64-poky-linux-gcc  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security "
        ;;

    --prefix)
        echo "$prefix"
        ;;

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

    --protocols)
        for protocol in FILE FTP FTPS HTTP HTTPS IPFS IPNS; do
            echo "$protocol"
        done
        ;;

    --version)
        echo libcurl 8.7.1
        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-CVS
        cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`

        vmajor=`echo 8.7.1 | cut -d. -f1`
        vminor=`echo 8.7.1 | 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-CVS
        vpatch=`echo 8.7.1 | 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.7.1"
        exit 1
        ;;

    --vernum)
        echo 080701
        exit 0
        ;;

    --help)
        usage 0
        ;;

    --cflags)
        if test "X$cppflag_curl_staticlib" = "X-DCURL_STATICLIB"; then
          CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB "
        else
          CPPFLAG_CURL_STATICLIB=""
        fi
        if test "X/usr/include" = "X/usr/include"; then
          echo "$CPPFLAG_CURL_STATICLIB"
        else
          echo "${CPPFLAG_CURL_STATICLIB}-I/usr/include"
        fi
        ;;

    --libs)
        if test "X/usr/lib" != "X/usr/lib" -a "X/usr/lib" != "X/usr/lib64"; then
           CURLLIBDIR="-L/usr/lib "
        else
           CURLLIBDIR=""
        fi
        if test "Xyes" = "Xno"; then
          echo ${CURLLIBDIR}-lcurl -lidn2 -lssl -lcrypto -lssl -lcrypto -lz
        else
          echo ${CURLLIBDIR}-lcurl
        fi
        ;;
    --ssl-backends)
        echo "OpenSSL v3+"
        ;;

    --static-libs)
        if test "Xno" != "Xno" ; then
          echo "/usr/lib/libcurl.a" -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  -Wl,-z,relro,-z,now -L/usr/lib/..//lib -lidn2 -lssl -lcrypto -lssl -lcrypto -lz
        else
          echo "curl was built with static libraries disabled" >&2
          exit 1
        fi
        ;;

    --configure)
        echo " '--build=x86_64-linux' '--host=x86_64-poky-linux' '--target=x86_64-poky-linux' '--prefix=/usr' '--exec_prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--libexecdir=/usr/libexec' '--datadir=/usr/share' '--sysconfdir=/etc' '--sharedstatedir=/com' '--localstatedir=/var' '--libdir=/usr/lib' '--includedir=/usr/include' '--oldincludedir=/usr/include' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--disable-silent-rules' '--disable-dependency-tracking' '' '--disable-libcurl-option' '--disable-ntlm-wb' '--without-libpsl' '--enable-optimize' '--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt' '--disable-static' '--disable-ares' '--enable-aws' '--enable-basic-auth' '--enable-bearer-auth' '--without-brotli' '--disable-manual' '--disable-debug' '--disable-dict' '--enable-digest-auth' '--without-gnutls' '--disable-gopher' '--disable-imap' '--enable-ipv6' '--disable-kerberos-auth' '--without-gssapi' '--disable-ldap' '--disable-ldaps' '--without-libgsasl' '--with-libidn2' '--without-libssh2' '--without-mbedtls' '--disable-mqtt' '--enable-negotiate-auth' '--without-nghttp2' '--with-openssl' '--disable-pop3' '--enable-proxy' '--with-random=/dev/urandom' '--without-librtmp' '--disable-rtsp' '--disable-smb' '--disable-smtp' '--disable-telnet' '--disable-tftp' '--enable-threaded-resolver' '--enable-verbose' '--with-zlib=/usr/lib/../' '--without-zstd' 'build_alias=x86_64-linux' 'host_alias=x86_64-poky-linux' 'target_alias=x86_64-poky-linux' 'CC=x86_64-poky-linux-gcc  -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security ' 'CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types ' 'LDFLAGS=-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed  -Wl,-z,relro,-z,now' 'CPPFLAGS=' 'CPP=x86_64-poky-linux-gcc -E   -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong  -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security'"
        ;;

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

exit 0
