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