curl-config.in 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. #! /bin/sh
  2. #***************************************************************************
  3. # _ _ ____ _
  4. # Project ___| | | | _ \| |
  5. # / __| | | | |_) | |
  6. # | (__| |_| | _ <| |___
  7. # \___|\___/|_| \_\_____|
  8. #
  9. # Copyright (C) 2001 - 2022, 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. prefix=@prefix@
  26. exec_prefix=@exec_prefix@
  27. includedir=@includedir@
  28. cppflag_curl_staticlib=@CPPFLAG_CURL_STATICLIB@
  29. usage()
  30. {
  31. cat <<EOF
  32. Usage: curl-config [OPTION]
  33. Available values for OPTION include:
  34. --built-shared says 'yes' if libcurl was built shared
  35. --ca ca bundle install path
  36. --cc compiler
  37. --cflags pre-processor and compiler flags
  38. --checkfor [version] check for (lib)curl of the specified version
  39. --configure the arguments given to configure when building curl
  40. --features newline separated list of enabled features
  41. --help display this help and exit
  42. --libs library linking information
  43. --prefix curl install prefix
  44. --protocols newline separated list of enabled protocols
  45. --ssl-backends output the SSL backends libcurl was built to support
  46. --static-libs static libcurl library linking information
  47. --version output version information
  48. --vernum output the version information as a number (hexadecimal)
  49. EOF
  50. exit $1
  51. }
  52. if test $# -eq 0; then
  53. usage 1
  54. fi
  55. while test $# -gt 0; do
  56. case "$1" in
  57. # this deals with options in the style
  58. # --option=value and extracts the value part
  59. # [not currently used]
  60. -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  61. *) value= ;;
  62. esac
  63. case "$1" in
  64. --built-shared)
  65. echo @ENABLE_SHARED@
  66. ;;
  67. --ca)
  68. echo @CURL_CA_BUNDLE@
  69. ;;
  70. --cc)
  71. echo "@CC@"
  72. ;;
  73. --prefix)
  74. echo "$prefix"
  75. ;;
  76. --feature|--features)
  77. for feature in @SUPPORT_FEATURES@ ""; do
  78. test -n "$feature" && echo "$feature"
  79. done
  80. ;;
  81. --protocols)
  82. for protocol in @SUPPORT_PROTOCOLS@; do
  83. echo "$protocol"
  84. done
  85. ;;
  86. --version)
  87. echo libcurl @CURLVERSION@
  88. exit 0
  89. ;;
  90. --checkfor)
  91. checkfor=$2
  92. cmajor=`echo $checkfor | cut -d. -f1`
  93. cminor=`echo $checkfor | cut -d. -f2`
  94. # when extracting the patch part we strip off everything after a
  95. # dash as that's used for things like version 1.2.3-CVS
  96. cpatch=`echo $checkfor | cut -d. -f3 | cut -d- -f1`
  97. vmajor=`echo @CURLVERSION@ | cut -d. -f1`
  98. vminor=`echo @CURLVERSION@ | cut -d. -f2`
  99. # when extracting the patch part we strip off everything after a
  100. # dash as that's used for things like version 1.2.3-CVS
  101. vpatch=`echo @CURLVERSION@ | cut -d. -f3 | cut -d- -f1`
  102. if test "$vmajor" -gt "$cmajor"; then
  103. exit 0;
  104. fi
  105. if test "$vmajor" -eq "$cmajor"; then
  106. if test "$vminor" -gt "$cminor"; then
  107. exit 0
  108. fi
  109. if test "$vminor" -eq "$cminor"; then
  110. if test "$cpatch" -le "$vpatch"; then
  111. exit 0
  112. fi
  113. fi
  114. fi
  115. echo "requested version $checkfor is newer than existing @CURLVERSION@"
  116. exit 1
  117. ;;
  118. --vernum)
  119. echo @VERSIONNUM@
  120. exit 0
  121. ;;
  122. --help)
  123. usage 0
  124. ;;
  125. --cflags)
  126. if test "X$cppflag_curl_staticlib" = "X-DCURL_STATICLIB"; then
  127. CPPFLAG_CURL_STATICLIB="-DCURL_STATICLIB "
  128. else
  129. CPPFLAG_CURL_STATICLIB=""
  130. fi
  131. if test "X@includedir@" = "X/usr/include"; then
  132. echo "$CPPFLAG_CURL_STATICLIB"
  133. else
  134. echo "${CPPFLAG_CURL_STATICLIB}-I@includedir@"
  135. fi
  136. ;;
  137. --libs)
  138. if test "X@libdir@" != "X/usr/lib" -a "X@libdir@" != "X/usr/lib64"; then
  139. CURLLIBDIR="-L@libdir@ "
  140. else
  141. CURLLIBDIR=""
  142. fi
  143. if test "X@ENABLE_SHARED@" = "Xno"; then
  144. echo ${CURLLIBDIR}-lcurl @LIBCURL_LIBS@
  145. else
  146. echo ${CURLLIBDIR}-lcurl
  147. fi
  148. ;;
  149. --ssl-backends)
  150. echo "@SSL_BACKENDS@"
  151. ;;
  152. --static-libs)
  153. if test "X@ENABLE_STATIC@" != "Xno" ; then
  154. echo @libdir@/libcurl.@libext@ @LDFLAGS@ @LIBCURL_LIBS@
  155. else
  156. echo "curl was built with static libraries disabled" >&2
  157. exit 1
  158. fi
  159. ;;
  160. --configure)
  161. echo @CONFIGURE_OPTIONS@
  162. ;;
  163. *)
  164. echo "unknown option: $1"
  165. usage 1
  166. ;;
  167. esac
  168. shift
  169. done
  170. exit 0