Home | History | Annotate | Download | only in curl
      1 #! /bin/sh
      2 #***************************************************************************
      3 #                                  _   _ ____  _
      4 #  Project                     ___| | | |  _ \| |
      5 #                             / __| | | | |_) | |
      6 #                            | (__| |_| |  _ <| |___
      7 #                             \___|\___/|_| \_\_____|
      8 #
      9 # Copyright (C) 2001 - 2017, Daniel Stenberg, <daniel (at] haxx.se>, et al.
     10 #
     11 # This software is licensed as described in the file COPYING, which
     12 # you should have received as part of this distribution. The terms
     13 # are also available at https://curl.haxx.se/docs/copyright.html.
     14 #
     15 # You may opt to use, copy, modify, merge, publish, distribute and/or sell
     16 # copies of the Software, and permit persons to whom the Software is
     17 # furnished to do so, under the terms of the COPYING file.
     18 #
     19 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
     20 # KIND, either express or implied.
     21 #
     22 ###########################################################################
     23 
     24 prefix=@prefix@
     25 exec_prefix=@exec_prefix@
     26 includedir=@includedir@
     27 cppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@
     28 
     29 usage()
     30 {
     31     cat <<EOF
     32 Usage: curl-config [OPTION]
     33 
     34 Available values for OPTION include:
     35 
     36   --built-shared says 'yes' if libcurl was built shared
     37   --ca        ca bundle install path
     38   --cc        compiler
     39   --cflags    pre-processor and compiler flags
     40   --checkfor [version] check for (lib)curl of the specified version
     41   --configure the arguments given to configure when building curl
     42   --features  newline separated list of enabled features
     43   --help      display this help and exit
     44   --libs      library linking information
     45   --prefix    curl install prefix
     46   --protocols newline separated list of enabled protocols
     47   --ssl-backends output the SSL backends libcurl was built to support
     48   --static-libs static libcurl library linking information
     49   --version   output version information
     50   --vernum    output the version information as a number (hexadecimal)
     51 EOF
     52 
     53     exit $1
     54 }
     55 
     56 if test $# -eq 0; then
     57     usage 1
     58 fi
     59 
     60 while test $# -gt 0; do
     61     case "$1" in
     62     # this deals with options in the style
     63     # --option=value and extracts the value part
     64     # [not currently used]
     65     -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
     66     *) value= ;;
     67     esac
     68 
     69     case "$1" in
     70     --built-shared)
     71         echo @ENABLE_SHARED@
     72         ;;
     73 
     74     --ca)
     75         echo @CURL_CA_BUNDLE@
     76         ;;
     77 
     78     --cc)
     79         echo "@CC@"
     80         ;;
     81 
     82     --prefix)
     83         echo "$prefix"
     84         ;;
     85 
     86     --feature|--features)
     87         for feature in @SUPPORT_FEATURES@ ""; do
     88             test -n "$feature" && echo "$feature"
     89         done
     90         ;;
     91 
     92     --protocols)
     93         for protocol in @SUPPORT_PROTOCOLS@; do
     94             echo "$protocol"
     95         done
     96         ;;
     97 
     98     --version)
     99         echo libcurl @CURLVERSION@
    100         exit 0
    101         ;;
    102 
    103     --checkfor)
    104         checkfor=$2
    105         cmajor=`echo $checkfor | cut -d. -f1`
    106         cminor=`echo $checkfor | cut -d. -f2`
    107         # when extracting the patch part we strip off everything after a
    108         # dash as that's used for things like version 1.2.3-CVS
    109         cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
    110         checknum=`echo "$cmajor*256*256 + $cminor*256 + ${cpatch:-0}" | bc`
    111         numuppercase=`echo @VERSIONNUM@ | tr 'a-f' 'A-F'`
    112         nownum=`echo "obase=10; ibase=16; $numuppercase" | bc`
    113 
    114         if test "$nownum" -ge "$checknum"; then
    115           # silent success
    116           exit 0
    117         else
    118           echo "requested version $checkfor is newer than existing @CURLVERSION@"
    119           exit 1
    120         fi
    121         ;;
    122 
    123     --vernum)
    124         echo @VERSIONNUM@
    125         exit 0
    126         ;;
    127 
    128     --help)
    129         usage 0
    130         ;;
    131 
    132     --cflags)
    133         if test "X$cppflag_curl_staticlib" = "X-DCURL_STATICLIB"; then
    134           CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB "
    135         else
    136           CPPFLAG_CURL_STATICLIB=""
    137         fi
    138         if test "X@includedir@" = "X/usr/include"; then
    139           echo "$CPPFLAG_CURL_STATICLIB"
    140         else
    141           echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@"
    142         fi
    143         ;;
    144 
    145     --libs)
    146         if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
    147            CURLLIBDIR="-L@libdir@ "
    148         else
    149            CURLLIBDIR=""
    150         fi
    151         if test "X@REQUIRE_LIB_DEPS@" = "Xyes"; then
    152           echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@
    153         else
    154           echo ${CURLLIBDIR}-lcurl
    155         fi
    156         ;;
    157     --ssl-backends)
    158         echo "@SSL_BACKENDS@"
    159         ;;
    160 
    161     --static-libs)
    162         if test "X@ENABLE_STATIC@" != "Xno" ; then
    163           echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@
    164         else
    165           echo "curl was built with static libraries disabled" >&2
    166           exit 1
    167         fi
    168         ;;
    169 
    170     --configure)
    171         echo @CONFIGURE_OPTIONS@
    172         ;;
    173 
    174     *)
    175         echo "unknown option: $1"
    176         usage 1
    177         ;;
    178     esac
    179     shift
    180 done
    181 
    182 exit 0
    183