19bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#! /bin/sh
29bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#***************************************************************************
39bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#                                  _   _ ____  _
49bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#  Project                     ___| | | |  _ \| |
59bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#                             / __| | | | |_) | |
69bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#                            | (__| |_| |  _ <| |___
79bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#                             \___|\___/|_| \_\_____|
89bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#
9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET# Copyright (C) 2001 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
109bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#
119bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# This software is licensed as described in the file COPYING, which
129bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# you should have received as part of this distribution. The terms
138f1a214b8a21b66f33454790dfba97ae2f818289Alex Deymo# are also available at https://curl.haxx.se/docs/copyright.html.
149bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#
159bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# You may opt to use, copy, modify, merge, publish, distribute and/or sell
169bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# copies of the Software, and permit persons to whom the Software is
179bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# furnished to do so, under the terms of the COPYING file.
189bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#
199bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
209bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels# KIND, either express or implied.
219bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#
229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels###########################################################################
239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsprefix=@prefix@
259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsexec_prefix=@exec_prefix@
269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsincludedir=@includedir@
27e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNETcppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@
289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsusage()
309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels{
319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    cat <<EOF
329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsUsage: curl-config [OPTION]
339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsAvailable values for OPTION include:
359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --built-shared says 'yes' if libcurl was built shared
379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --ca        ca bundle install path
389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --cc        compiler
399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --cflags    pre-processor and compiler flags
409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --checkfor [version] check for (lib)curl of the specified version
419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --configure the arguments given to configure when building curl
429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --features  newline separated list of enabled features
439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --help      display this help and exit
449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --libs      library linking information
459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --prefix    curl install prefix
469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --protocols newline separated list of enabled protocols
479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --static-libs static libcurl library linking information
489bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --version   output version information
499bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  --vernum    output the version information as a number (hexadecimal)
509bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas EckelsEOF
519bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
529bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    exit $1
539bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels}
549bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
559bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsif test $# -eq 0; then
569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    usage 1
579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsfi
589bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
599bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelswhile test $# -gt 0; do
609bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    case "$1" in
619bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    # this deals with options in the style
629bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    # --option=value and extracts the value part
639bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    # [not currently used]
649bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    *) value= ;;
669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    esac
679bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
689bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    case "$1" in
699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --built-shared)
709bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        echo @ENABLE_SHARED@
719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        ;;
729bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
739bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --ca)
74e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo @CURL_CA_BUNDLE@
75e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --cc)
78e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo "@CC@"
79e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
809bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
819bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --prefix)
82e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo "$prefix"
83e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
849bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
859bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --feature|--features)
869bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        for feature in @SUPPORT_FEATURES@ ""; do
879bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels            test -n "$feature" && echo "$feature"
889bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        done
89e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
909bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
919bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --protocols)
929bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        for protocol in @SUPPORT_PROTOCOLS@; do
939bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels            echo "$protocol"
949bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        done
95e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
969bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
979bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --version)
98e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo libcurl @CURLVERSION@
99e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        exit 0
100e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1019bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1029bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --checkfor)
1039bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        checkfor=$2
1049bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        cmajor=`echo $checkfor | cut -d. -f1`
1059bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        cminor=`echo $checkfor | cut -d. -f2`
1069bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        # when extracting the patch part we strip off everything after a
107e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        # dash as that's used for things like version 1.2.3-CVS
108e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
1099bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
1109bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
1119bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
1129bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
113e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "$nownum" -ge "$checknum"; then
114e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          # silent success
115e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          exit 0
116e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        else
117e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo "requested version $checkfor is newer than existing @CURLVERSION@"
118e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          exit 1
119e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        fi
120e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1219bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1229bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --vernum)
123e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo @VERSIONNUM@
124e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        exit 0
125e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --help)
128e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        usage 0
129e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --cflags)
132e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "X$cppflag_curl_staticlib" = "X-DCURL_STATICLIB"; then
133e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB "
134e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        else
135e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          CPPFLAG_CURL_STATICLIB=""
136e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        fi
137e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "X@includedir@" = "X/usr/include"; then
138e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo "$CPPFLAG_CURL_STATICLIB"
1399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        else
140e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@"
1419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        fi
142e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --libs)
145e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
146e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET           CURLLIBDIR="-L@libdir@ "
147e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        else
148e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET           CURLLIBDIR=""
149e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        fi
150e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then
151e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@
152e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        else
153e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo ${CURLLIBDIR}-lcurl
154e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        fi
155e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1569bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1579bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --static-libs)
158e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        if test "X@ENABLE_STATIC@" != "Xno" ; then
159e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@
160e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        else
161e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          echo "curl was built with static libraries disabled" >&2
162e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET          exit 1
163e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        fi
164e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1659bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1669bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    --configure)
167e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        echo @CONFIGURE_OPTIONS@
168e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1699bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1709bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    *)
1719bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels        echo "unknown option: $1"
172e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        usage 1
173e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET        ;;
1749bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    esac
1759bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    shift
1769bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsdone
1779bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
1789bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsexit 0
179