curl-config (5073B)
1 #!/bin/sh 2 #*************************************************************************** 3 # _ _ ____ _ 4 # Project ___| | | | _ \| | 5 # / __| | | | |_) | | 6 # | (__| |_| | _ <| |___ 7 # \___|\___/|_| \_\_____| 8 # 9 # Copyright (C) Daniel Stenberg, <daniel@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.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 # SPDX-License-Identifier: curl 23 # 24 ########################################################################### 25 26 # shellcheck disable=SC2006 27 28 prefix='/usr/local' 29 # Used in 'libdir' 30 # shellcheck disable=SC2034 31 exec_prefix="${prefix}" 32 # shellcheck disable=SC2034 33 includedir="${prefix}/include" 34 35 usage() 36 { 37 cat <<EOF 38 Usage: curl-config [OPTION] 39 40 Available values for OPTION include: 41 42 --built-shared says 'yes' if libcurl was built shared 43 --ca CA bundle install path 44 --cc compiler 45 --cflags preprocessor and compiler flags 46 --checkfor [version] check for (lib)curl of the specified version 47 --configure the arguments given to configure when building curl 48 --features newline separated list of enabled features 49 --help display this help and exit 50 --libs library linking information 51 --prefix curl install prefix 52 --protocols newline separated list of enabled protocols 53 --ssl-backends output the SSL backends libcurl was built to support 54 --static-libs static libcurl library linking information 55 --version output version information 56 --vernum output version as a hexadecimal number 57 EOF 58 59 exit "$1" 60 } 61 62 if test "$#" -eq 0; then 63 usage 1 64 fi 65 66 while test "$#" -gt 0; do 67 case "$1" in 68 --built-shared) 69 echo 'yes' 70 ;; 71 72 --ca) 73 echo '/etc/ssl/certs/ca-certificates.crt' 74 ;; 75 76 --cc) 77 echo 'gcc' 78 ;; 79 80 --prefix) 81 echo "$prefix" 82 ;; 83 84 --feature|--features) 85 for feature in alt-svc AsynchDNS brotli HSTS HTTP2 HTTPS-proxy IDN IPv6 Largefile libz NTLM PSL SSL threadsafe UnixSockets zstd ''; do 86 test -n "$feature" && echo "$feature" 87 done 88 ;; 89 90 --protocols) 91 # shellcheck disable=SC2043 92 for protocol in DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS IPFS IPNS LDAP LDAPS MQTT POP3 POP3S RTMP RTSP SMB SMBS SMTP SMTPS TELNET TFTP WS WSS; do 93 echo "$protocol" 94 done 95 ;; 96 97 --version) 98 echo 'libcurl 8.15.0' 99 exit 0 100 ;; 101 102 --checkfor) 103 checkfor="$2" 104 cmajor=`echo "$checkfor" | cut -d. -f1` 105 cminor=`echo "$checkfor" | cut -d. -f2` 106 # when extracting the patch part we strip off everything after a 107 # dash as that's used for things like version 1.2.3-pre1 108 cpatch=`echo "$checkfor" | cut -d. -f3 | cut -d- -f1` 109 110 vmajor=`echo '8.15.0' | cut -d. -f1` 111 vminor=`echo '8.15.0' | cut -d. -f2` 112 # when extracting the patch part we strip off everything after a 113 # dash as that's used for things like version 1.2.3-pre1 114 vpatch=`echo '8.15.0' | cut -d. -f3 | cut -d- -f1` 115 116 if test "$vmajor" -gt "$cmajor"; then 117 exit 0 118 fi 119 if test "$vmajor" -eq "$cmajor"; then 120 if test "$vminor" -gt "$cminor"; then 121 exit 0 122 fi 123 if test "$vminor" -eq "$cminor"; then 124 if test "$cpatch" -le "$vpatch"; then 125 exit 0 126 fi 127 fi 128 fi 129 130 echo "requested version $checkfor is newer than existing 8.15.0" 131 exit 1 132 ;; 133 134 --vernum) 135 echo '080f00' 136 exit 0 137 ;; 138 139 --help) 140 usage 0 141 ;; 142 143 --cflags) 144 if test "X${prefix}/include" = 'X/usr/include'; then 145 echo '' 146 else 147 echo " -I${prefix}/include" 148 fi 149 ;; 150 151 --libs) 152 if test "X${exec_prefix}/lib" != 'X/usr/lib' -a "X${exec_prefix}/lib" != 'X/usr/lib64'; then 153 curllibdir="-L${exec_prefix}/lib " 154 else 155 curllibdir='' 156 fi 157 if test 'Xyes' = 'Xno'; then 158 echo "${curllibdir}-lcurl -lnghttp2 -lidn2 -lrtmp -lldap -llber -lpsl -lmbedtls -lmbedx509 -lmbedcrypto -lzstd -lbrotlidec -lz" 159 else 160 echo "${curllibdir}-lcurl" 161 fi 162 ;; 163 164 --ssl-backends) 165 echo 'mbedTLS' 166 ;; 167 168 --static-libs) 169 if test 'Xyes' != 'Xno'; then 170 echo "${exec_prefix}/lib/libcurl.a -L/lib -lnghttp2 -lidn2 -lrtmp -lldap -llber -lpsl -lmbedtls -lmbedx509 -lmbedcrypto -lzstd -lbrotlidec -lz" 171 else 172 echo 'curl was built with static libraries disabled' >&2 173 exit 1 174 fi 175 ;; 176 177 --configure) 178 echo " '--with-mbedtls'" 179 ;; 180 181 *) 182 echo "unknown option: $1" 183 usage 1 184 ;; 185 esac 186 shift 187 done 188 189 exit 0