Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/configure.ac @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 #*************************************************************************** | |
| 2 # _ _ ____ _ | |
| 3 # Project ___| | | | _ \| | | |
| 4 # / __| | | | |_) | | | |
| 5 # | (__| |_| | _ <| |___ | |
| 6 # \___|\___/|_| \_\_____| | |
| 7 # | |
| 8 # Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. | |
| 9 # | |
| 10 # This software is licensed as described in the file COPYING, which | |
| 11 # you should have received as part of this distribution. The terms | |
| 12 # are also available at https://curl.haxx.se/docs/copyright.html. | |
| 13 # | |
| 14 # You may opt to use, copy, modify, merge, publish, distribute and/or sell | |
| 15 # copies of the Software, and permit persons to whom the Software is | |
| 16 # furnished to do so, under the terms of the COPYING file. | |
| 17 # | |
| 18 # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | |
| 19 # KIND, either express or implied. | |
| 20 # | |
| 21 #*************************************************************************** | |
| 22 dnl Process this file with autoconf to produce a configure script. | |
| 23 | |
| 24 AC_PREREQ(2.57) | |
| 25 | |
| 26 dnl We don't know the version number "statically" so we use a dash here | |
| 27 AC_INIT([curl], [-], [a suitable curl mailing list: https://curl.haxx.se/mail/]) | |
| 28 | |
| 29 XC_OVR_ZZ50 | |
| 30 XC_OVR_ZZ60 | |
| 31 CURL_OVERRIDE_AUTOCONF | |
| 32 | |
| 33 dnl configure script copyright | |
| 34 AC_COPYRIGHT([Copyright (c) 1998 - 2019 Daniel Stenberg, <daniel@haxx.se> | |
| 35 This configure script may be copied, distributed and modified under the | |
| 36 terms of the curl license; see COPYING for more details]) | |
| 37 | |
| 38 AC_CONFIG_SRCDIR([lib/urldata.h]) | |
| 39 AC_CONFIG_HEADERS(lib/curl_config.h) | |
| 40 AC_CONFIG_MACRO_DIR([m4]) | |
| 41 AM_MAINTAINER_MODE | |
| 42 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | |
| 43 | |
| 44 CURL_CHECK_OPTION_DEBUG | |
| 45 CURL_CHECK_OPTION_OPTIMIZE | |
| 46 CURL_CHECK_OPTION_WARNINGS | |
| 47 CURL_CHECK_OPTION_WERROR | |
| 48 CURL_CHECK_OPTION_CURLDEBUG | |
| 49 CURL_CHECK_OPTION_SYMBOL_HIDING | |
| 50 CURL_CHECK_OPTION_ARES | |
| 51 CURL_CHECK_OPTION_RT | |
| 52 | |
| 53 XC_CHECK_PATH_SEPARATOR | |
| 54 | |
| 55 # | |
| 56 # save the configure arguments | |
| 57 # | |
| 58 CONFIGURE_OPTIONS="\"$ac_configure_args\"" | |
| 59 AC_SUBST(CONFIGURE_OPTIONS) | |
| 60 | |
| 61 CURL_CFLAG_EXTRAS="" | |
| 62 if test X"$want_werror" = Xyes; then | |
| 63 CURL_CFLAG_EXTRAS="-Werror" | |
| 64 if test "$compiler_id" = "GNU_C"; then | |
| 65 dnl enable -pedantic-errors for GCC 5 and later, | |
| 66 dnl as before that it was the same as -Werror=pedantic | |
| 67 if test "$compiler_num" -ge "500"; then | |
| 68 CURL_CFLAG_EXTRAS="$CURL_CFLAG_EXTRAS -pedantic-errors" | |
| 69 fi | |
| 70 fi | |
| 71 fi | |
| 72 AC_SUBST(CURL_CFLAG_EXTRAS) | |
| 73 | |
| 74 dnl SED is mandatory for configure process and libtool. | |
| 75 dnl Set it now, allowing it to be changed later. | |
| 76 if test -z "$SED"; then | |
| 77 dnl allow it to be overridden | |
| 78 AC_PATH_PROG([SED], [sed], [not_found], | |
| 79 [$PATH:/usr/bin:/usr/local/bin]) | |
| 80 if test -z "$SED" || test "$SED" = "not_found"; then | |
| 81 AC_MSG_ERROR([sed not found in PATH. Cannot continue without sed.]) | |
| 82 fi | |
| 83 fi | |
| 84 AC_SUBST([SED]) | |
| 85 | |
| 86 dnl GREP is mandatory for configure process and libtool. | |
| 87 dnl Set it now, allowing it to be changed later. | |
| 88 if test -z "$GREP"; then | |
| 89 dnl allow it to be overridden | |
| 90 AC_PATH_PROG([GREP], [grep], [not_found], | |
| 91 [$PATH:/usr/bin:/usr/local/bin]) | |
| 92 if test -z "$GREP" || test "$GREP" = "not_found"; then | |
| 93 AC_MSG_ERROR([grep not found in PATH. Cannot continue without grep.]) | |
| 94 fi | |
| 95 fi | |
| 96 AC_SUBST([GREP]) | |
| 97 | |
| 98 dnl EGREP is mandatory for configure process and libtool. | |
| 99 dnl Set it now, allowing it to be changed later. | |
| 100 if test -z "$EGREP"; then | |
| 101 dnl allow it to be overridden | |
| 102 if echo a | ($GREP -E '(a|b)') >/dev/null 2>&1; then | |
| 103 AC_MSG_CHECKING([for egrep]) | |
| 104 EGREP="$GREP -E" | |
| 105 AC_MSG_RESULT([$EGREP]) | |
| 106 else | |
| 107 AC_PATH_PROG([EGREP], [egrep], [not_found], | |
| 108 [$PATH:/usr/bin:/usr/local/bin]) | |
| 109 fi | |
| 110 fi | |
| 111 if test -z "$EGREP" || test "$EGREP" = "not_found"; then | |
| 112 AC_MSG_ERROR([egrep not found in PATH. Cannot continue without egrep.]) | |
| 113 fi | |
| 114 AC_SUBST([EGREP]) | |
| 115 | |
| 116 dnl AR is mandatory for configure process and libtool. | |
| 117 dnl This is target dependent, so check it as a tool. | |
| 118 if test -z "$AR"; then | |
| 119 dnl allow it to be overridden | |
| 120 AC_PATH_TOOL([AR], [ar], [not_found], | |
| 121 [$PATH:/usr/bin:/usr/local/bin]) | |
| 122 if test -z "$AR" || test "$AR" = "not_found"; then | |
| 123 AC_MSG_ERROR([ar not found in PATH. Cannot continue without ar.]) | |
| 124 fi | |
| 125 fi | |
| 126 AC_SUBST([AR]) | |
| 127 | |
| 128 AC_SUBST(libext) | |
| 129 | |
| 130 dnl figure out the libcurl version | |
| 131 CURLVERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)".*/\1/p' ${srcdir}/include/curl/curlver.h` | |
| 132 XC_CHECK_PROG_CC | |
| 133 | |
| 134 dnl for --enable-code-coverage | |
| 135 CURL_COVERAGE | |
| 136 | |
| 137 XC_AUTOMAKE | |
| 138 AC_MSG_CHECKING([curl version]) | |
| 139 AC_MSG_RESULT($CURLVERSION) | |
| 140 | |
| 141 AC_SUBST(CURLVERSION) | |
| 142 | |
| 143 dnl | |
| 144 dnl we extract the numerical version for curl-config only | |
| 145 VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\([0-9A-Fa-f]*\).*/\1/p' ${srcdir}/include/curl/curlver.h` | |
| 146 AC_SUBST(VERSIONNUM) | |
| 147 | |
| 148 dnl Solaris pkgadd support definitions | |
| 149 PKGADD_PKG="HAXXcurl" | |
| 150 PKGADD_NAME="curl - a client that groks URLs" | |
| 151 PKGADD_VENDOR="curl.haxx.se" | |
| 152 AC_SUBST(PKGADD_PKG) | |
| 153 AC_SUBST(PKGADD_NAME) | |
| 154 AC_SUBST(PKGADD_VENDOR) | |
| 155 | |
| 156 dnl | |
| 157 dnl initialize all the info variables | |
| 158 curl_ssl_msg="no (--with-{ssl,gnutls,nss,mbedtls,wolfssl,schannel,secure-transport,mesalink,amissl} )" | |
| 159 curl_ssh_msg="no (--with-libssh2)" | |
| 160 curl_zlib_msg="no (--with-zlib)" | |
| 161 curl_brotli_msg="no (--with-brotli)" | |
| 162 curl_gss_msg="no (--with-gssapi)" | |
| 163 curl_tls_srp_msg="no (--enable-tls-srp)" | |
| 164 curl_res_msg="default (--enable-ares / --enable-threaded-resolver)" | |
| 165 curl_ipv6_msg="no (--enable-ipv6)" | |
| 166 curl_unix_sockets_msg="no (--enable-unix-sockets)" | |
| 167 curl_idn_msg="no (--with-{libidn2,winidn})" | |
| 168 curl_manual_msg="no (--enable-manual)" | |
| 169 curl_libcurl_msg="enabled (--disable-libcurl-option)" | |
| 170 curl_verbose_msg="enabled (--disable-verbose)" | |
| 171 curl_sspi_msg="no (--enable-sspi)" | |
| 172 curl_ldap_msg="no (--enable-ldap / --with-ldap-lib / --with-lber-lib)" | |
| 173 curl_ldaps_msg="no (--enable-ldaps)" | |
| 174 curl_rtsp_msg="no (--enable-rtsp)" | |
| 175 curl_rtmp_msg="no (--with-librtmp)" | |
| 176 curl_mtlnk_msg="no (--with-libmetalink)" | |
| 177 curl_psl_msg="no (--with-libpsl)" | |
| 178 | |
| 179 ssl_backends= | |
| 180 | |
| 181 dnl | |
| 182 dnl Save some initial values the user might have provided | |
| 183 dnl | |
| 184 INITIAL_LDFLAGS=$LDFLAGS | |
| 185 INITIAL_LIBS=$LIBS | |
| 186 | |
| 187 dnl | |
| 188 dnl Detect the canonical host and target build environment | |
| 189 dnl | |
| 190 | |
| 191 AC_CANONICAL_HOST | |
| 192 dnl Get system canonical name | |
| 193 AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS]) | |
| 194 | |
| 195 # Silence warning: ar: 'u' modifier ignored since 'D' is the default | |
| 196 AC_SUBST(AR_FLAGS, [cr]) | |
| 197 | |
| 198 dnl This defines _ALL_SOURCE for AIX | |
| 199 CURL_CHECK_AIX_ALL_SOURCE | |
| 200 | |
| 201 dnl Our configure and build reentrant settings | |
| 202 CURL_CONFIGURE_THREAD_SAFE | |
| 203 CURL_CONFIGURE_REENTRANT | |
| 204 | |
| 205 dnl check for how to do large files | |
| 206 AC_SYS_LARGEFILE | |
| 207 | |
| 208 XC_LIBTOOL | |
| 209 | |
| 210 # | |
| 211 # Automake conditionals based on libtool related checks | |
| 212 # | |
| 213 | |
| 214 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSION_INFO], | |
| 215 [test "x$xc_lt_shlib_use_version_info" = 'xyes']) | |
| 216 AM_CONDITIONAL([CURL_LT_SHLIB_USE_NO_UNDEFINED], | |
| 217 [test "x$xc_lt_shlib_use_no_undefined" = 'xyes']) | |
| 218 AM_CONDITIONAL([CURL_LT_SHLIB_USE_MIMPURE_TEXT], | |
| 219 [test "x$xc_lt_shlib_use_mimpure_text" = 'xyes']) | |
| 220 | |
| 221 # | |
| 222 # Due to libtool and automake machinery limitations of not allowing | |
| 223 # specifying separate CPPFLAGS or CFLAGS when compiling objects for | |
| 224 # inclusion of these in shared or static libraries, we are forced to | |
| 225 # build using separate configure runs for shared and static libraries | |
| 226 # on systems where different CPPFLAGS or CFLAGS are mandatory in order | |
| 227 # to compile objects for each kind of library. Notice that relying on | |
| 228 # the '-DPIC' CFLAG that libtool provides is not valid given that the | |
| 229 # user might for example choose to build static libraries with PIC. | |
| 230 # | |
| 231 | |
| 232 # | |
| 233 # Make our Makefile.am files use the staticlib CPPFLAG only when strictly | |
| 234 # targeting a static library and not building its shared counterpart. | |
| 235 # | |
| 236 | |
| 237 AM_CONDITIONAL([USE_CPPFLAG_CURL_STATICLIB], | |
| 238 [test "x$xc_lt_build_static_only" = 'xyes']) | |
| 239 | |
| 240 # | |
| 241 # Make staticlib CPPFLAG variable and its definition visible in output | |
| 242 # files unconditionally, providing an empty definition unless strictly | |
| 243 # targeting a static library and not building its shared counterpart. | |
| 244 # | |
| 245 | |
| 246 CPPFLAG_CURL_STATICLIB= | |
| 247 if test "x$xc_lt_build_static_only" = 'xyes'; then | |
| 248 CPPFLAG_CURL_STATICLIB='-DCURL_STATICLIB' | |
| 249 fi | |
| 250 AC_SUBST([CPPFLAG_CURL_STATICLIB]) | |
| 251 | |
| 252 | |
| 253 # Determine whether all dependent libraries must be specified when linking | |
| 254 if test "X$enable_shared" = "Xyes" -a "X$link_all_deplibs" = "Xno" | |
| 255 then | |
| 256 REQUIRE_LIB_DEPS=no | |
| 257 else | |
| 258 REQUIRE_LIB_DEPS=yes | |
| 259 fi | |
| 260 AC_SUBST(REQUIRE_LIB_DEPS) | |
| 261 AM_CONDITIONAL(USE_EXPLICIT_LIB_DEPS, test x$REQUIRE_LIB_DEPS = xyes) | |
| 262 | |
| 263 dnl check if there's a way to force code inline | |
| 264 AC_C_INLINE | |
| 265 | |
| 266 dnl ********************************************************************** | |
| 267 dnl platform/compiler/architecture specific checks/flags | |
| 268 dnl ********************************************************************** | |
| 269 | |
| 270 CURL_CHECK_COMPILER | |
| 271 CURL_SET_COMPILER_BASIC_OPTS | |
| 272 CURL_SET_COMPILER_DEBUG_OPTS | |
| 273 CURL_SET_COMPILER_OPTIMIZE_OPTS | |
| 274 CURL_SET_COMPILER_WARNING_OPTS | |
| 275 | |
| 276 if test "$compiler_id" = "INTEL_UNIX_C"; then | |
| 277 # | |
| 278 if test "$compiler_num" -ge "1000"; then | |
| 279 dnl icc 10.X or later | |
| 280 CFLAGS="$CFLAGS -shared-intel" | |
| 281 elif test "$compiler_num" -ge "900"; then | |
| 282 dnl icc 9.X specific | |
| 283 CFLAGS="$CFLAGS -i-dynamic" | |
| 284 fi | |
| 285 # | |
| 286 fi | |
| 287 | |
| 288 CURL_CHECK_COMPILER_HALT_ON_ERROR | |
| 289 CURL_CHECK_COMPILER_ARRAY_SIZE_NEGATIVE | |
| 290 CURL_CHECK_COMPILER_PROTOTYPE_MISMATCH | |
| 291 CURL_CHECK_COMPILER_SYMBOL_HIDING | |
| 292 | |
| 293 CURL_CHECK_CURLDEBUG | |
| 294 AM_CONDITIONAL(CURLDEBUG, test x$want_curldebug = xyes) | |
| 295 | |
| 296 supports_unittests=yes | |
| 297 # cross-compilation of unit tests static library/programs fails when | |
| 298 # libcurl shared library is built. This might be due to a libtool or | |
| 299 # automake issue. In this case we disable unit tests. | |
| 300 if test "x$cross_compiling" != "xno" && | |
| 301 test "x$enable_shared" != "xno"; then | |
| 302 supports_unittests=no | |
| 303 fi | |
| 304 | |
| 305 # IRIX 6.5.24 gcc 3.3 autobuilds fail unittests library compilation due to | |
| 306 # a problem related with OpenSSL headers and library versions not matching. | |
| 307 # Disable unit tests while time to further investigate this is found. | |
| 308 case $host in | |
| 309 mips-sgi-irix6.5) | |
| 310 if test "$compiler_id" = "GNU_C"; then | |
| 311 supports_unittests=no | |
| 312 fi | |
| 313 ;; | |
| 314 esac | |
| 315 | |
| 316 # All AIX autobuilds fails unit tests linking against unittests library | |
| 317 # due to unittests library being built with no symbols or members. Libtool ? | |
| 318 # Disable unit tests while time to further investigate this is found. | |
| 319 case $host_os in | |
| 320 aix*) | |
| 321 supports_unittests=no | |
| 322 ;; | |
| 323 esac | |
| 324 | |
| 325 dnl Build unit tests when option --enable-debug is given. | |
| 326 if test "x$want_debug" = "xyes" && | |
| 327 test "x$supports_unittests" = "xyes"; then | |
| 328 want_unittests=yes | |
| 329 else | |
| 330 want_unittests=no | |
| 331 fi | |
| 332 AM_CONDITIONAL(BUILD_UNITTESTS, test x$want_unittests = xyes) | |
| 333 | |
| 334 dnl ********************************************************************** | |
| 335 dnl Compilation based checks should not be done before this point. | |
| 336 dnl ********************************************************************** | |
| 337 | |
| 338 dnl ********************************************************************** | |
| 339 dnl Make sure that our checks for headers windows.h winsock.h winsock2.h | |
| 340 dnl and ws2tcpip.h take precedence over any other further checks which | |
| 341 dnl could be done later using AC_CHECK_HEADER or AC_CHECK_HEADERS for | |
| 342 dnl this specific header files. And do them before its results are used. | |
| 343 dnl ********************************************************************** | |
| 344 | |
| 345 CURL_CHECK_HEADER_WINDOWS | |
| 346 CURL_CHECK_NATIVE_WINDOWS | |
| 347 case X-"$curl_cv_native_windows" in | |
| 348 X-yes) | |
| 349 CURL_CHECK_HEADER_WINSOCK | |
| 350 CURL_CHECK_HEADER_WINSOCK2 | |
| 351 CURL_CHECK_HEADER_WS2TCPIP | |
| 352 CURL_CHECK_HEADER_WINLDAP | |
| 353 CURL_CHECK_HEADER_WINBER | |
| 354 ;; | |
| 355 *) | |
| 356 curl_cv_header_winsock_h="no" | |
| 357 curl_cv_header_winsock2_h="no" | |
| 358 curl_cv_header_ws2tcpip_h="no" | |
| 359 curl_cv_header_winldap_h="no" | |
| 360 curl_cv_header_winber_h="no" | |
| 361 ;; | |
| 362 esac | |
| 363 CURL_CHECK_WIN32_LARGEFILE | |
| 364 | |
| 365 CURL_MAC_CFLAGS | |
| 366 CURL_SUPPORTS_BUILTIN_AVAILABLE | |
| 367 | |
| 368 | |
| 369 dnl ************************************************************ | |
| 370 dnl switch off particular protocols | |
| 371 dnl | |
| 372 AC_MSG_CHECKING([whether to support http]) | |
| 373 AC_ARG_ENABLE(http, | |
| 374 AC_HELP_STRING([--enable-http],[Enable HTTP support]) | |
| 375 AC_HELP_STRING([--disable-http],[Disable HTTP support]), | |
| 376 [ case "$enableval" in | |
| 377 no) | |
| 378 AC_MSG_RESULT(no) | |
| 379 AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP]) | |
| 380 disable_http="yes" | |
| 381 AC_MSG_WARN([disable HTTP disables FTP over proxy and RTSP]) | |
| 382 AC_SUBST(CURL_DISABLE_HTTP, [1]) | |
| 383 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP]) | |
| 384 AC_SUBST(CURL_DISABLE_RTSP, [1]) | |
| 385 ;; | |
| 386 *) AC_MSG_RESULT(yes) | |
| 387 ;; | |
| 388 esac ], | |
| 389 AC_MSG_RESULT(yes) | |
| 390 ) | |
| 391 AC_MSG_CHECKING([whether to support ftp]) | |
| 392 AC_ARG_ENABLE(ftp, | |
| 393 AC_HELP_STRING([--enable-ftp],[Enable FTP support]) | |
| 394 AC_HELP_STRING([--disable-ftp],[Disable FTP support]), | |
| 395 [ case "$enableval" in | |
| 396 no) | |
| 397 AC_MSG_RESULT(no) | |
| 398 AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP]) | |
| 399 AC_SUBST(CURL_DISABLE_FTP, [1]) | |
| 400 ;; | |
| 401 *) AC_MSG_RESULT(yes) | |
| 402 ;; | |
| 403 esac ], | |
| 404 AC_MSG_RESULT(yes) | |
| 405 ) | |
| 406 AC_MSG_CHECKING([whether to support file]) | |
| 407 AC_ARG_ENABLE(file, | |
| 408 AC_HELP_STRING([--enable-file],[Enable FILE support]) | |
| 409 AC_HELP_STRING([--disable-file],[Disable FILE support]), | |
| 410 [ case "$enableval" in | |
| 411 no) | |
| 412 AC_MSG_RESULT(no) | |
| 413 AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE]) | |
| 414 AC_SUBST(CURL_DISABLE_FILE, [1]) | |
| 415 ;; | |
| 416 *) AC_MSG_RESULT(yes) | |
| 417 ;; | |
| 418 esac ], | |
| 419 AC_MSG_RESULT(yes) | |
| 420 ) | |
| 421 AC_MSG_CHECKING([whether to support ldap]) | |
| 422 AC_ARG_ENABLE(ldap, | |
| 423 AC_HELP_STRING([--enable-ldap],[Enable LDAP support]) | |
| 424 AC_HELP_STRING([--disable-ldap],[Disable LDAP support]), | |
| 425 [ case "$enableval" in | |
| 426 no) | |
| 427 AC_MSG_RESULT(no) | |
| 428 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) | |
| 429 AC_SUBST(CURL_DISABLE_LDAP, [1]) | |
| 430 ;; | |
| 431 *) | |
| 432 AC_MSG_RESULT(yes) | |
| 433 ;; | |
| 434 esac ],[ | |
| 435 AC_MSG_RESULT(yes) ] | |
| 436 ) | |
| 437 AC_MSG_CHECKING([whether to support ldaps]) | |
| 438 AC_ARG_ENABLE(ldaps, | |
| 439 AC_HELP_STRING([--enable-ldaps],[Enable LDAPS support]) | |
| 440 AC_HELP_STRING([--disable-ldaps],[Disable LDAPS support]), | |
| 441 [ case "$enableval" in | |
| 442 no) | |
| 443 AC_MSG_RESULT(no) | |
| 444 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 445 AC_SUBST(CURL_DISABLE_LDAPS, [1]) | |
| 446 ;; | |
| 447 *) if test "x$CURL_DISABLE_LDAP" = "x1" ; then | |
| 448 AC_MSG_RESULT(LDAP needs to be enabled to support LDAPS) | |
| 449 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 450 AC_SUBST(CURL_DISABLE_LDAPS, [1]) | |
| 451 else | |
| 452 AC_MSG_RESULT(yes) | |
| 453 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation]) | |
| 454 AC_SUBST(HAVE_LDAP_SSL, [1]) | |
| 455 fi | |
| 456 ;; | |
| 457 esac ],[ | |
| 458 if test "x$CURL_DISABLE_LDAP" = "x1" ; then | |
| 459 AC_MSG_RESULT(no) | |
| 460 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 461 AC_SUBST(CURL_DISABLE_LDAPS, [1]) | |
| 462 else | |
| 463 AC_MSG_RESULT(yes) | |
| 464 AC_DEFINE(HAVE_LDAP_SSL, 1, [Use LDAPS implementation]) | |
| 465 AC_SUBST(HAVE_LDAP_SSL, [1]) | |
| 466 fi ] | |
| 467 ) | |
| 468 | |
| 469 AC_MSG_CHECKING([whether to support rtsp]) | |
| 470 AC_ARG_ENABLE(rtsp, | |
| 471 AC_HELP_STRING([--enable-rtsp],[Enable RTSP support]) | |
| 472 AC_HELP_STRING([--disable-rtsp],[Disable RTSP support]), | |
| 473 [ case "$enableval" in | |
| 474 no) | |
| 475 AC_MSG_RESULT(no) | |
| 476 AC_DEFINE(CURL_DISABLE_RTSP, 1, [to disable RTSP]) | |
| 477 AC_SUBST(CURL_DISABLE_RTSP, [1]) | |
| 478 ;; | |
| 479 *) if test x$CURL_DISABLE_HTTP = x1 ; then | |
| 480 AC_MSG_ERROR(HTTP support needs to be enabled in order to enable RTSP support!) | |
| 481 else | |
| 482 AC_MSG_RESULT(yes) | |
| 483 curl_rtsp_msg="enabled" | |
| 484 fi | |
| 485 ;; | |
| 486 esac ], | |
| 487 if test "x$CURL_DISABLE_HTTP" != "x1"; then | |
| 488 AC_MSG_RESULT(yes) | |
| 489 curl_rtsp_msg="enabled" | |
| 490 else | |
| 491 AC_MSG_RESULT(no) | |
| 492 fi | |
| 493 ) | |
| 494 | |
| 495 AC_MSG_CHECKING([whether to support proxies]) | |
| 496 AC_ARG_ENABLE(proxy, | |
| 497 AC_HELP_STRING([--enable-proxy],[Enable proxy support]) | |
| 498 AC_HELP_STRING([--disable-proxy],[Disable proxy support]), | |
| 499 [ case "$enableval" in | |
| 500 no) | |
| 501 AC_MSG_RESULT(no) | |
| 502 AC_DEFINE(CURL_DISABLE_PROXY, 1, [to disable proxies]) | |
| 503 AC_SUBST(CURL_DISABLE_PROXY, [1]) | |
| 504 ;; | |
| 505 *) AC_MSG_RESULT(yes) | |
| 506 ;; | |
| 507 esac ], | |
| 508 AC_MSG_RESULT(yes) | |
| 509 ) | |
| 510 | |
| 511 AC_MSG_CHECKING([whether to support dict]) | |
| 512 AC_ARG_ENABLE(dict, | |
| 513 AC_HELP_STRING([--enable-dict],[Enable DICT support]) | |
| 514 AC_HELP_STRING([--disable-dict],[Disable DICT support]), | |
| 515 [ case "$enableval" in | |
| 516 no) | |
| 517 AC_MSG_RESULT(no) | |
| 518 AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT]) | |
| 519 AC_SUBST(CURL_DISABLE_DICT, [1]) | |
| 520 ;; | |
| 521 *) AC_MSG_RESULT(yes) | |
| 522 ;; | |
| 523 esac ], | |
| 524 AC_MSG_RESULT(yes) | |
| 525 ) | |
| 526 AC_MSG_CHECKING([whether to support telnet]) | |
| 527 AC_ARG_ENABLE(telnet, | |
| 528 AC_HELP_STRING([--enable-telnet],[Enable TELNET support]) | |
| 529 AC_HELP_STRING([--disable-telnet],[Disable TELNET support]), | |
| 530 [ case "$enableval" in | |
| 531 no) | |
| 532 AC_MSG_RESULT(no) | |
| 533 AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET]) | |
| 534 AC_SUBST(CURL_DISABLE_TELNET, [1]) | |
| 535 ;; | |
| 536 *) AC_MSG_RESULT(yes) | |
| 537 ;; | |
| 538 esac ], | |
| 539 AC_MSG_RESULT(yes) | |
| 540 ) | |
| 541 AC_MSG_CHECKING([whether to support tftp]) | |
| 542 AC_ARG_ENABLE(tftp, | |
| 543 AC_HELP_STRING([--enable-tftp],[Enable TFTP support]) | |
| 544 AC_HELP_STRING([--disable-tftp],[Disable TFTP support]), | |
| 545 [ case "$enableval" in | |
| 546 no) | |
| 547 AC_MSG_RESULT(no) | |
| 548 AC_DEFINE(CURL_DISABLE_TFTP, 1, [to disable TFTP]) | |
| 549 AC_SUBST(CURL_DISABLE_TFTP, [1]) | |
| 550 ;; | |
| 551 *) AC_MSG_RESULT(yes) | |
| 552 ;; | |
| 553 esac ], | |
| 554 AC_MSG_RESULT(yes) | |
| 555 ) | |
| 556 | |
| 557 AC_MSG_CHECKING([whether to support pop3]) | |
| 558 AC_ARG_ENABLE(pop3, | |
| 559 AC_HELP_STRING([--enable-pop3],[Enable POP3 support]) | |
| 560 AC_HELP_STRING([--disable-pop3],[Disable POP3 support]), | |
| 561 [ case "$enableval" in | |
| 562 no) | |
| 563 AC_MSG_RESULT(no) | |
| 564 AC_DEFINE(CURL_DISABLE_POP3, 1, [to disable POP3]) | |
| 565 AC_SUBST(CURL_DISABLE_POP3, [1]) | |
| 566 ;; | |
| 567 *) AC_MSG_RESULT(yes) | |
| 568 ;; | |
| 569 esac ], | |
| 570 AC_MSG_RESULT(yes) | |
| 571 ) | |
| 572 | |
| 573 | |
| 574 AC_MSG_CHECKING([whether to support imap]) | |
| 575 AC_ARG_ENABLE(imap, | |
| 576 AC_HELP_STRING([--enable-imap],[Enable IMAP support]) | |
| 577 AC_HELP_STRING([--disable-imap],[Disable IMAP support]), | |
| 578 [ case "$enableval" in | |
| 579 no) | |
| 580 AC_MSG_RESULT(no) | |
| 581 AC_DEFINE(CURL_DISABLE_IMAP, 1, [to disable IMAP]) | |
| 582 AC_SUBST(CURL_DISABLE_IMAP, [1]) | |
| 583 ;; | |
| 584 *) AC_MSG_RESULT(yes) | |
| 585 ;; | |
| 586 esac ], | |
| 587 AC_MSG_RESULT(yes) | |
| 588 ) | |
| 589 | |
| 590 | |
| 591 AC_MSG_CHECKING([whether to support smb]) | |
| 592 AC_ARG_ENABLE(smb, | |
| 593 AC_HELP_STRING([--enable-smb],[Enable SMB/CIFS support]) | |
| 594 AC_HELP_STRING([--disable-smb],[Disable SMB/CIFS support]), | |
| 595 [ case "$enableval" in | |
| 596 no) | |
| 597 AC_MSG_RESULT(no) | |
| 598 AC_DEFINE(CURL_DISABLE_SMB, 1, [to disable SMB/CIFS]) | |
| 599 AC_SUBST(CURL_DISABLE_SMB, [1]) | |
| 600 ;; | |
| 601 *) AC_MSG_RESULT(yes) | |
| 602 ;; | |
| 603 esac ], | |
| 604 AC_MSG_RESULT(yes) | |
| 605 ) | |
| 606 | |
| 607 AC_MSG_CHECKING([whether to support smtp]) | |
| 608 AC_ARG_ENABLE(smtp, | |
| 609 AC_HELP_STRING([--enable-smtp],[Enable SMTP support]) | |
| 610 AC_HELP_STRING([--disable-smtp],[Disable SMTP support]), | |
| 611 [ case "$enableval" in | |
| 612 no) | |
| 613 AC_MSG_RESULT(no) | |
| 614 AC_DEFINE(CURL_DISABLE_SMTP, 1, [to disable SMTP]) | |
| 615 AC_SUBST(CURL_DISABLE_SMTP, [1]) | |
| 616 ;; | |
| 617 *) AC_MSG_RESULT(yes) | |
| 618 ;; | |
| 619 esac ], | |
| 620 AC_MSG_RESULT(yes) | |
| 621 ) | |
| 622 | |
| 623 AC_MSG_CHECKING([whether to support gopher]) | |
| 624 AC_ARG_ENABLE(gopher, | |
| 625 AC_HELP_STRING([--enable-gopher],[Enable Gopher support]) | |
| 626 AC_HELP_STRING([--disable-gopher],[Disable Gopher support]), | |
| 627 [ case "$enableval" in | |
| 628 no) | |
| 629 AC_MSG_RESULT(no) | |
| 630 AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable Gopher]) | |
| 631 AC_SUBST(CURL_DISABLE_GOPHER, [1]) | |
| 632 ;; | |
| 633 *) AC_MSG_RESULT(yes) | |
| 634 ;; | |
| 635 esac ], | |
| 636 AC_MSG_RESULT(yes) | |
| 637 ) | |
| 638 | |
| 639 | |
| 640 dnl ********************************************************************** | |
| 641 dnl Check for built-in manual | |
| 642 dnl ********************************************************************** | |
| 643 | |
| 644 AC_MSG_CHECKING([whether to provide built-in manual]) | |
| 645 AC_ARG_ENABLE(manual, | |
| 646 AC_HELP_STRING([--enable-manual],[Enable built-in manual]) | |
| 647 AC_HELP_STRING([--disable-manual],[Disable built-in manual]), | |
| 648 [ case "$enableval" in | |
| 649 no) | |
| 650 AC_MSG_RESULT(no) | |
| 651 ;; | |
| 652 *) AC_MSG_RESULT(yes) | |
| 653 USE_MANUAL="1" | |
| 654 ;; | |
| 655 esac ], | |
| 656 AC_MSG_RESULT(yes) | |
| 657 USE_MANUAL="1" | |
| 658 ) | |
| 659 dnl The actual use of the USE_MANUAL variable is done much later in this | |
| 660 dnl script to allow other actions to disable it as well. | |
| 661 | |
| 662 dnl ************************************************************ | |
| 663 dnl disable C code generation support | |
| 664 dnl | |
| 665 AC_MSG_CHECKING([whether to enable generation of C code]) | |
| 666 AC_ARG_ENABLE(libcurl_option, | |
| 667 AC_HELP_STRING([--enable-libcurl-option],[Enable --libcurl C code generation support]) | |
| 668 AC_HELP_STRING([--disable-libcurl-option],[Disable --libcurl C code generation support]), | |
| 669 [ case "$enableval" in | |
| 670 no) | |
| 671 AC_MSG_RESULT(no) | |
| 672 AC_DEFINE(CURL_DISABLE_LIBCURL_OPTION, 1, [to disable --libcurl C code generation option]) | |
| 673 curl_libcurl_msg="no" | |
| 674 ;; | |
| 675 *) AC_MSG_RESULT(yes) | |
| 676 ;; | |
| 677 esac ], | |
| 678 AC_MSG_RESULT(yes) | |
| 679 ) | |
| 680 | |
| 681 dnl ********************************************************************** | |
| 682 dnl Checks for libraries. | |
| 683 dnl ********************************************************************** | |
| 684 | |
| 685 AC_MSG_CHECKING([whether to use libgcc]) | |
| 686 AC_ARG_ENABLE(libgcc, | |
| 687 AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]), | |
| 688 [ case "$enableval" in | |
| 689 yes) | |
| 690 LIBS="-lgcc $LIBS" | |
| 691 AC_MSG_RESULT(yes) | |
| 692 ;; | |
| 693 *) AC_MSG_RESULT(no) | |
| 694 ;; | |
| 695 esac ], | |
| 696 AC_MSG_RESULT(no) | |
| 697 ) | |
| 698 | |
| 699 CURL_CHECK_LIB_XNET | |
| 700 | |
| 701 dnl gethostbyname without lib or in the nsl lib? | |
| 702 AC_CHECK_FUNC(gethostbyname, | |
| 703 [HAVE_GETHOSTBYNAME="1" | |
| 704 ], | |
| 705 [ AC_CHECK_LIB(nsl, gethostbyname, | |
| 706 [HAVE_GETHOSTBYNAME="1" | |
| 707 LIBS="-lnsl $LIBS" | |
| 708 ]) | |
| 709 ]) | |
| 710 | |
| 711 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 712 then | |
| 713 dnl gethostbyname in the socket lib? | |
| 714 AC_CHECK_LIB(socket, gethostbyname, | |
| 715 [HAVE_GETHOSTBYNAME="1" | |
| 716 LIBS="-lsocket $LIBS" | |
| 717 ]) | |
| 718 fi | |
| 719 | |
| 720 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 721 then | |
| 722 dnl gethostbyname in the watt lib? | |
| 723 AC_CHECK_LIB(watt, gethostbyname, | |
| 724 [HAVE_GETHOSTBYNAME="1" | |
| 725 CPPFLAGS="-I/dev/env/WATT_ROOT/inc" | |
| 726 LDFLAGS="-L/dev/env/WATT_ROOT/lib" | |
| 727 LIBS="-lwatt $LIBS" | |
| 728 ]) | |
| 729 fi | |
| 730 | |
| 731 dnl At least one system has been identified to require BOTH nsl and socket | |
| 732 dnl libs at the same time to link properly. | |
| 733 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 734 then | |
| 735 AC_MSG_CHECKING([for gethostbyname with both nsl and socket libs]) | |
| 736 my_ac_save_LIBS=$LIBS | |
| 737 LIBS="-lnsl -lsocket $LIBS" | |
| 738 AC_LINK_IFELSE([ | |
| 739 AC_LANG_PROGRAM([[ | |
| 740 ]],[[ | |
| 741 gethostbyname(); | |
| 742 ]]) | |
| 743 ],[ | |
| 744 AC_MSG_RESULT([yes]) | |
| 745 HAVE_GETHOSTBYNAME="1" | |
| 746 ],[ | |
| 747 AC_MSG_RESULT([no]) | |
| 748 LIBS=$my_ac_save_LIBS | |
| 749 ]) | |
| 750 fi | |
| 751 | |
| 752 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 753 then | |
| 754 dnl This is for winsock systems | |
| 755 if test "$curl_cv_header_windows_h" = "yes"; then | |
| 756 if test "$curl_cv_header_winsock_h" = "yes"; then | |
| 757 case $host in | |
| 758 *-*-mingw32ce*) | |
| 759 winsock_LIB="-lwinsock" | |
| 760 ;; | |
| 761 *) | |
| 762 winsock_LIB="-lwsock32" | |
| 763 ;; | |
| 764 esac | |
| 765 fi | |
| 766 if test "$curl_cv_header_winsock2_h" = "yes"; then | |
| 767 winsock_LIB="-lws2_32" | |
| 768 fi | |
| 769 if test ! -z "$winsock_LIB"; then | |
| 770 my_ac_save_LIBS=$LIBS | |
| 771 LIBS="$winsock_LIB $LIBS" | |
| 772 AC_MSG_CHECKING([for gethostbyname in $winsock_LIB]) | |
| 773 AC_LINK_IFELSE([ | |
| 774 AC_LANG_PROGRAM([[ | |
| 775 #ifdef HAVE_WINDOWS_H | |
| 776 #ifndef WIN32_LEAN_AND_MEAN | |
| 777 #define WIN32_LEAN_AND_MEAN | |
| 778 #endif | |
| 779 #include <windows.h> | |
| 780 #ifdef HAVE_WINSOCK2_H | |
| 781 #include <winsock2.h> | |
| 782 #else | |
| 783 #ifdef HAVE_WINSOCK_H | |
| 784 #include <winsock.h> | |
| 785 #endif | |
| 786 #endif | |
| 787 #endif | |
| 788 ]],[[ | |
| 789 gethostbyname("www.dummysite.com"); | |
| 790 ]]) | |
| 791 ],[ | |
| 792 AC_MSG_RESULT([yes]) | |
| 793 HAVE_GETHOSTBYNAME="1" | |
| 794 ],[ | |
| 795 AC_MSG_RESULT([no]) | |
| 796 winsock_LIB="" | |
| 797 LIBS=$my_ac_save_LIBS | |
| 798 ]) | |
| 799 fi | |
| 800 fi | |
| 801 fi | |
| 802 | |
| 803 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 804 then | |
| 805 dnl This is for Minix 3.1 | |
| 806 AC_MSG_CHECKING([for gethostbyname for Minix 3]) | |
| 807 AC_LINK_IFELSE([ | |
| 808 AC_LANG_PROGRAM([[ | |
| 809 /* Older Minix versions may need <net/gen/netdb.h> here instead */ | |
| 810 #include <netdb.h> | |
| 811 ]],[[ | |
| 812 gethostbyname("www.dummysite.com"); | |
| 813 ]]) | |
| 814 ],[ | |
| 815 AC_MSG_RESULT([yes]) | |
| 816 HAVE_GETHOSTBYNAME="1" | |
| 817 ],[ | |
| 818 AC_MSG_RESULT([no]) | |
| 819 ]) | |
| 820 fi | |
| 821 | |
| 822 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 823 then | |
| 824 dnl This is for eCos with a stubbed DNS implementation | |
| 825 AC_MSG_CHECKING([for gethostbyname for eCos]) | |
| 826 AC_LINK_IFELSE([ | |
| 827 AC_LANG_PROGRAM([[ | |
| 828 #include <stdio.h> | |
| 829 #include <netdb.h> | |
| 830 ]],[[ | |
| 831 gethostbyname("www.dummysite.com"); | |
| 832 ]]) | |
| 833 ],[ | |
| 834 AC_MSG_RESULT([yes]) | |
| 835 HAVE_GETHOSTBYNAME="1" | |
| 836 ],[ | |
| 837 AC_MSG_RESULT([no]) | |
| 838 ]) | |
| 839 fi | |
| 840 | |
| 841 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 842 then | |
| 843 dnl This is for AmigaOS with bsdsocket.library - needs testing before -lnet | |
| 844 AC_MSG_CHECKING([for gethostbyname for AmigaOS bsdsocket.library]) | |
| 845 AC_LINK_IFELSE([ | |
| 846 AC_LANG_PROGRAM([[ | |
| 847 #include <proto/bsdsocket.h> | |
| 848 struct Library *SocketBase = NULL; | |
| 849 ]],[[ | |
| 850 gethostbyname("www.dummysite.com"); | |
| 851 ]]) | |
| 852 ],[ | |
| 853 AC_MSG_RESULT([yes]) | |
| 854 HAVE_GETHOSTBYNAME="1" | |
| 855 HAVE_PROTO_BSDSOCKET_H="1" | |
| 856 AC_DEFINE(HAVE_PROTO_BSDSOCKET_H, 1, [if Amiga bsdsocket.library is in use]) | |
| 857 AC_SUBST(HAVE_PROTO_BSDSOCKET_H, [1]) | |
| 858 ],[ | |
| 859 AC_MSG_RESULT([no]) | |
| 860 ]) | |
| 861 fi | |
| 862 | |
| 863 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 864 then | |
| 865 dnl gethostbyname in the network lib - for Haiku OS | |
| 866 AC_CHECK_LIB(network, gethostbyname, | |
| 867 [HAVE_GETHOSTBYNAME="1" | |
| 868 LIBS="-lnetwork $LIBS" | |
| 869 ]) | |
| 870 fi | |
| 871 | |
| 872 if test "$HAVE_GETHOSTBYNAME" != "1" | |
| 873 then | |
| 874 dnl gethostbyname in the net lib - for BeOS | |
| 875 AC_CHECK_LIB(net, gethostbyname, | |
| 876 [HAVE_GETHOSTBYNAME="1" | |
| 877 LIBS="-lnet $LIBS" | |
| 878 ]) | |
| 879 fi | |
| 880 | |
| 881 | |
| 882 if test "$HAVE_GETHOSTBYNAME" != "1"; then | |
| 883 AC_MSG_ERROR([couldn't find libraries for gethostbyname()]) | |
| 884 fi | |
| 885 | |
| 886 CURL_CHECK_LIBS_CONNECT | |
| 887 | |
| 888 CURL_NETWORK_LIBS=$LIBS | |
| 889 | |
| 890 dnl ********************************************************************** | |
| 891 dnl In case that function clock_gettime with monotonic timer is available, | |
| 892 dnl check for additional required libraries. | |
| 893 dnl ********************************************************************** | |
| 894 CURL_CHECK_LIBS_CLOCK_GETTIME_MONOTONIC | |
| 895 | |
| 896 dnl ********************************************************************** | |
| 897 dnl The preceding library checks are all potentially useful for test | |
| 898 dnl servers and libtest cases which require networking and clock_gettime | |
| 899 dnl support. Save the list of required libraries at this point for use | |
| 900 dnl while linking those test servers and programs. | |
| 901 dnl ********************************************************************** | |
| 902 CURL_NETWORK_AND_TIME_LIBS=$LIBS | |
| 903 | |
| 904 dnl ********************************************************************** | |
| 905 dnl Check for the presence of ZLIB libraries and headers | |
| 906 dnl ********************************************************************** | |
| 907 | |
| 908 dnl Check for & handle argument to --with-zlib. | |
| 909 | |
| 910 clean_CPPFLAGS=$CPPFLAGS | |
| 911 clean_LDFLAGS=$LDFLAGS | |
| 912 clean_LIBS=$LIBS | |
| 913 ZLIB_LIBS="" | |
| 914 AC_ARG_WITH(zlib, | |
| 915 AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH]) | |
| 916 AC_HELP_STRING([--without-zlib],[disable use of zlib]), | |
| 917 [OPT_ZLIB="$withval"]) | |
| 918 | |
| 919 if test "$OPT_ZLIB" = "no" ; then | |
| 920 AC_MSG_WARN([zlib disabled]) | |
| 921 else | |
| 922 if test "$OPT_ZLIB" = "yes" ; then | |
| 923 OPT_ZLIB="" | |
| 924 fi | |
| 925 | |
| 926 if test -z "$OPT_ZLIB" ; then | |
| 927 CURL_CHECK_PKGCONFIG(zlib) | |
| 928 | |
| 929 if test "$PKGCONFIG" != "no" ; then | |
| 930 LIBS="`$PKGCONFIG --libs-only-l zlib` $LIBS" | |
| 931 LDFLAGS="$LDFLAGS `$PKGCONFIG --libs-only-L zlib`" | |
| 932 CPPFLAGS="$CPPFLAGS `$PKGCONFIG --cflags-only-I zlib`" | |
| 933 OPT_ZLIB="" | |
| 934 HAVE_LIBZ="1" | |
| 935 fi | |
| 936 | |
| 937 if test -z "$HAVE_LIBZ"; then | |
| 938 | |
| 939 dnl Check for the lib without setting any new path, since many | |
| 940 dnl people have it in the default path | |
| 941 | |
| 942 AC_CHECK_LIB(z, inflateEnd, | |
| 943 dnl libz found, set the variable | |
| 944 [HAVE_LIBZ="1" | |
| 945 LIBS="-lz $LIBS"], | |
| 946 dnl if no lib found, try /usr/local | |
| 947 [OPT_ZLIB="/usr/local"]) | |
| 948 fi | |
| 949 fi | |
| 950 | |
| 951 dnl Add a nonempty path to the compiler flags | |
| 952 if test -n "$OPT_ZLIB"; then | |
| 953 CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include" | |
| 954 LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib$libsuff" | |
| 955 fi | |
| 956 | |
| 957 AC_CHECK_HEADER(zlib.h, | |
| 958 [ | |
| 959 dnl zlib.h was found | |
| 960 HAVE_ZLIB_H="1" | |
| 961 dnl if the lib wasn't found already, try again with the new paths | |
| 962 if test "$HAVE_LIBZ" != "1"; then | |
| 963 AC_CHECK_LIB(z, gzread, | |
| 964 [ | |
| 965 dnl the lib was found! | |
| 966 HAVE_LIBZ="1" | |
| 967 LIBS="-lz $LIBS" | |
| 968 ], | |
| 969 [ CPPFLAGS=$clean_CPPFLAGS | |
| 970 LDFLAGS=$clean_LDFLAGS]) | |
| 971 fi | |
| 972 ], | |
| 973 [ | |
| 974 dnl zlib.h was not found, restore the flags | |
| 975 CPPFLAGS=$clean_CPPFLAGS | |
| 976 LDFLAGS=$clean_LDFLAGS] | |
| 977 ) | |
| 978 | |
| 979 if test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" != "1" | |
| 980 then | |
| 981 AC_MSG_WARN([configure found only the libz lib, not the header file!]) | |
| 982 HAVE_LIBZ="" | |
| 983 CPPFLAGS=$clean_CPPFLAGS | |
| 984 LDFLAGS=$clean_LDFLAGS | |
| 985 LIBS=$clean_LIBS | |
| 986 elif test "$HAVE_LIBZ" != "1" && test "$HAVE_ZLIB_H" = "1" | |
| 987 then | |
| 988 AC_MSG_WARN([configure found only the libz header file, not the lib!]) | |
| 989 CPPFLAGS=$clean_CPPFLAGS | |
| 990 LDFLAGS=$clean_LDFLAGS | |
| 991 LIBS=$clean_LIBS | |
| 992 elif test "$HAVE_LIBZ" = "1" && test "$HAVE_ZLIB_H" = "1" | |
| 993 then | |
| 994 dnl both header and lib were found! | |
| 995 AC_SUBST(HAVE_LIBZ) | |
| 996 AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file]) | |
| 997 AC_DEFINE(HAVE_LIBZ, 1, [if zlib is available]) | |
| 998 | |
| 999 ZLIB_LIBS="-lz" | |
| 1000 LIBS="-lz $clean_LIBS" | |
| 1001 | |
| 1002 dnl replace 'HAVE_LIBZ' in the automake makefile.ams | |
| 1003 AMFIXLIB="1" | |
| 1004 AC_MSG_NOTICE([found both libz and libz.h header]) | |
| 1005 curl_zlib_msg="enabled" | |
| 1006 fi | |
| 1007 fi | |
| 1008 | |
| 1009 dnl set variable for use in automakefile(s) | |
| 1010 AM_CONDITIONAL(HAVE_LIBZ, test x"$AMFIXLIB" = x1) | |
| 1011 AC_SUBST(ZLIB_LIBS) | |
| 1012 | |
| 1013 dnl ********************************************************************** | |
| 1014 dnl Check for the presence of BROTLI decoder libraries and headers | |
| 1015 dnl ********************************************************************** | |
| 1016 | |
| 1017 dnl Brotli project home page: https://github.com/google/brotli | |
| 1018 | |
| 1019 dnl Default to compiler & linker defaults for BROTLI files & libraries. | |
| 1020 OPT_BROTLI=off | |
| 1021 AC_ARG_WITH(brotli,dnl | |
| 1022 AC_HELP_STRING([--with-brotli=PATH],[Where to look for brotli, PATH points to the BROTLI installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) | |
| 1023 AC_HELP_STRING([--without-brotli], [disable BROTLI]), | |
| 1024 OPT_BROTLI=$withval) | |
| 1025 | |
| 1026 if test X"$OPT_BROTLI" != Xno; then | |
| 1027 dnl backup the pre-brotli variables | |
| 1028 CLEANLDFLAGS="$LDFLAGS" | |
| 1029 CLEANCPPFLAGS="$CPPFLAGS" | |
| 1030 CLEANLIBS="$LIBS" | |
| 1031 | |
| 1032 case "$OPT_BROTLI" in | |
| 1033 yes) | |
| 1034 dnl --with-brotli (without path) used | |
| 1035 CURL_CHECK_PKGCONFIG(libbrotlidec) | |
| 1036 | |
| 1037 if test "$PKGCONFIG" != "no" ; then | |
| 1038 LIB_BROTLI=`$PKGCONFIG --libs-only-l libbrotlidec` | |
| 1039 LD_BROTLI=`$PKGCONFIG --libs-only-L libbrotlidec` | |
| 1040 CPP_BROTLI=`$PKGCONFIG --cflags-only-I libbrotlidec` | |
| 1041 version=`$PKGCONFIG --modversion libbrotlidec` | |
| 1042 DIR_BROTLI=`echo $LD_BROTLI | $SED -e 's/-L//'` | |
| 1043 fi | |
| 1044 | |
| 1045 ;; | |
| 1046 off) | |
| 1047 dnl no --with-brotli option given, just check default places | |
| 1048 ;; | |
| 1049 *) | |
| 1050 dnl use the given --with-brotli spot | |
| 1051 PREFIX_BROTLI=$OPT_BROTLI | |
| 1052 ;; | |
| 1053 esac | |
| 1054 | |
| 1055 dnl if given with a prefix, we set -L and -I based on that | |
| 1056 if test -n "$PREFIX_BROTLI"; then | |
| 1057 LIB_BROTLI="-lbrotlidec" | |
| 1058 LD_BROTLI=-L${PREFIX_BROTLI}/lib$libsuff | |
| 1059 CPP_BROTLI=-I${PREFIX_BROTLI}/include | |
| 1060 DIR_BROTLI=${PREFIX_BROTLI}/lib$libsuff | |
| 1061 fi | |
| 1062 | |
| 1063 LDFLAGS="$LDFLAGS $LD_BROTLI" | |
| 1064 CPPFLAGS="$CPPFLAGS $CPP_BROTLI" | |
| 1065 LIBS="$LIB_BROTLI $LIBS" | |
| 1066 | |
| 1067 AC_CHECK_LIB(brotlidec, BrotliDecoderDecompress) | |
| 1068 | |
| 1069 AC_CHECK_HEADERS(brotli/decode.h, | |
| 1070 curl_brotli_msg="enabled (libbrotlidec)" | |
| 1071 HAVE_BROTLI=1 | |
| 1072 AC_DEFINE(HAVE_BROTLI, 1, [if BROTLI is in use]) | |
| 1073 AC_SUBST(HAVE_BROTLI, [1]) | |
| 1074 ) | |
| 1075 | |
| 1076 if test X"$OPT_BROTLI" != Xoff && | |
| 1077 test "$HAVE_BROTLI" != "1"; then | |
| 1078 AC_MSG_ERROR([BROTLI libs and/or directories were not found where specified!]) | |
| 1079 fi | |
| 1080 | |
| 1081 if test "$HAVE_BROTLI" = "1"; then | |
| 1082 if test -n "$DIR_BROTLI"; then | |
| 1083 dnl when the brotli shared libs were found in a path that the run-time | |
| 1084 dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH | |
| 1085 dnl to prevent further configure tests to fail due to this | |
| 1086 | |
| 1087 if test "x$cross_compiling" != "xyes"; then | |
| 1088 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_BROTLI" | |
| 1089 export CURL_LIBRARY_PATH | |
| 1090 AC_MSG_NOTICE([Added $DIR_BROTLI to CURL_LIBRARY_PATH]) | |
| 1091 fi | |
| 1092 fi | |
| 1093 else | |
| 1094 dnl no brotli, revert back to clean variables | |
| 1095 LDFLAGS=$CLEANLDFLAGS | |
| 1096 CPPFLAGS=$CLEANCPPFLAGS | |
| 1097 LIBS=$CLEANLIBS | |
| 1098 fi | |
| 1099 fi | |
| 1100 | |
| 1101 dnl ********************************************************************** | |
| 1102 dnl Check for LDAP | |
| 1103 dnl ********************************************************************** | |
| 1104 | |
| 1105 LDAPLIBNAME="" | |
| 1106 AC_ARG_WITH(ldap-lib, | |
| 1107 AC_HELP_STRING([--with-ldap-lib=libname],[Specify name of ldap lib file]), | |
| 1108 [LDAPLIBNAME="$withval"]) | |
| 1109 | |
| 1110 LBERLIBNAME="" | |
| 1111 AC_ARG_WITH(lber-lib, | |
| 1112 AC_HELP_STRING([--with-lber-lib=libname],[Specify name of lber lib file]), | |
| 1113 [LBERLIBNAME="$withval"]) | |
| 1114 | |
| 1115 if test x$CURL_DISABLE_LDAP != x1 ; then | |
| 1116 | |
| 1117 CURL_CHECK_HEADER_LBER | |
| 1118 CURL_CHECK_HEADER_LDAP | |
| 1119 CURL_CHECK_HEADER_LDAPSSL | |
| 1120 CURL_CHECK_HEADER_LDAP_SSL | |
| 1121 | |
| 1122 if test -z "$LDAPLIBNAME" ; then | |
| 1123 if test "$curl_cv_native_windows" = "yes"; then | |
| 1124 dnl Windows uses a single and unique LDAP library name | |
| 1125 LDAPLIBNAME="wldap32" | |
| 1126 LBERLIBNAME="no" | |
| 1127 fi | |
| 1128 fi | |
| 1129 | |
| 1130 if test "$LDAPLIBNAME" ; then | |
| 1131 AC_CHECK_LIB("$LDAPLIBNAME", ldap_init,, [ | |
| 1132 AC_MSG_WARN(["$LDAPLIBNAME" is not an LDAP library: LDAP disabled]) | |
| 1133 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) | |
| 1134 AC_SUBST(CURL_DISABLE_LDAP, [1]) | |
| 1135 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 1136 AC_SUBST(CURL_DISABLE_LDAPS, [1])]) | |
| 1137 else | |
| 1138 dnl Try to find the right ldap libraries for this system | |
| 1139 CURL_CHECK_LIBS_LDAP | |
| 1140 case X-"$curl_cv_ldap_LIBS" in | |
| 1141 X-unknown) | |
| 1142 AC_MSG_WARN([Cannot find libraries for LDAP support: LDAP disabled]) | |
| 1143 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) | |
| 1144 AC_SUBST(CURL_DISABLE_LDAP, [1]) | |
| 1145 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 1146 AC_SUBST(CURL_DISABLE_LDAPS, [1]) | |
| 1147 ;; | |
| 1148 esac | |
| 1149 fi | |
| 1150 fi | |
| 1151 | |
| 1152 if test x$CURL_DISABLE_LDAP != x1 ; then | |
| 1153 | |
| 1154 if test "$LBERLIBNAME" ; then | |
| 1155 dnl If name is "no" then don't define this library at all | |
| 1156 dnl (it's only needed if libldap.so's dependencies are broken). | |
| 1157 if test "$LBERLIBNAME" != "no" ; then | |
| 1158 AC_CHECK_LIB("$LBERLIBNAME", ber_free,, [ | |
| 1159 AC_MSG_WARN(["$LBERLIBNAME" is not an LBER library: LDAP disabled]) | |
| 1160 AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) | |
| 1161 AC_SUBST(CURL_DISABLE_LDAP, [1]) | |
| 1162 AC_DEFINE(CURL_DISABLE_LDAPS, 1, [to disable LDAPS]) | |
| 1163 AC_SUBST(CURL_DISABLE_LDAPS, [1])]) | |
| 1164 fi | |
| 1165 fi | |
| 1166 fi | |
| 1167 | |
| 1168 if test x$CURL_DISABLE_LDAP != x1 ; then | |
| 1169 AC_CHECK_FUNCS([ldap_url_parse ldap_init_fd]) | |
| 1170 | |
| 1171 if test "$LDAPLIBNAME" = "wldap32"; then | |
| 1172 curl_ldap_msg="enabled (winldap)" | |
| 1173 AC_DEFINE(USE_WIN32_LDAP, 1, [Use Windows LDAP implementation]) | |
| 1174 else | |
| 1175 curl_ldap_msg="enabled (OpenLDAP)" | |
| 1176 if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then | |
| 1177 AC_DEFINE(USE_OPENLDAP, 1, [Use OpenLDAP-specific code]) | |
| 1178 AC_SUBST(USE_OPENLDAP, [1]) | |
| 1179 fi | |
| 1180 fi | |
| 1181 fi | |
| 1182 | |
| 1183 if test x$CURL_DISABLE_LDAPS != x1 ; then | |
| 1184 curl_ldaps_msg="enabled" | |
| 1185 fi | |
| 1186 | |
| 1187 dnl ********************************************************************** | |
| 1188 dnl Checks for IPv6 | |
| 1189 dnl ********************************************************************** | |
| 1190 | |
| 1191 AC_MSG_CHECKING([whether to enable IPv6]) | |
| 1192 AC_ARG_ENABLE(ipv6, | |
| 1193 AC_HELP_STRING([--enable-ipv6],[Enable IPv6 (with IPv4) support]) | |
| 1194 AC_HELP_STRING([--disable-ipv6],[Disable IPv6 support]), | |
| 1195 [ case "$enableval" in | |
| 1196 no) | |
| 1197 AC_MSG_RESULT(no) | |
| 1198 ipv6=no | |
| 1199 ;; | |
| 1200 *) AC_MSG_RESULT(yes) | |
| 1201 ipv6=yes | |
| 1202 ;; | |
| 1203 esac ], | |
| 1204 | |
| 1205 AC_TRY_RUN([ /* is AF_INET6 available? */ | |
| 1206 #include <sys/types.h> | |
| 1207 #ifdef HAVE_WINSOCK2_H | |
| 1208 #include <winsock2.h> | |
| 1209 #else | |
| 1210 #include <sys/socket.h> | |
| 1211 #endif | |
| 1212 #include <stdlib.h> /* for exit() */ | |
| 1213 main() | |
| 1214 { | |
| 1215 if (socket(AF_INET6, SOCK_STREAM, 0) < 0) | |
| 1216 exit(1); | |
| 1217 else | |
| 1218 exit(0); | |
| 1219 } | |
| 1220 ], | |
| 1221 AC_MSG_RESULT(yes) | |
| 1222 ipv6=yes, | |
| 1223 AC_MSG_RESULT(no) | |
| 1224 ipv6=no, | |
| 1225 AC_MSG_RESULT(yes) | |
| 1226 ipv6=yes | |
| 1227 )) | |
| 1228 | |
| 1229 if test "$ipv6" = "yes"; then | |
| 1230 curl_ipv6_msg="enabled" | |
| 1231 fi | |
| 1232 | |
| 1233 # Check if struct sockaddr_in6 have sin6_scope_id member | |
| 1234 if test "$ipv6" = yes; then | |
| 1235 AC_MSG_CHECKING([if struct sockaddr_in6 has sin6_scope_id member]) | |
| 1236 AC_TRY_COMPILE([ | |
| 1237 #include <sys/types.h> | |
| 1238 #ifdef HAVE_WINSOCK2_H | |
| 1239 #include <winsock2.h> | |
| 1240 #include <ws2tcpip.h> | |
| 1241 #else | |
| 1242 #include <netinet/in.h> | |
| 1243 #if defined (__TANDEM) | |
| 1244 # include <netinet/in6.h> | |
| 1245 #endif | |
| 1246 #endif] , | |
| 1247 struct sockaddr_in6 s; s.sin6_scope_id = 0; , have_sin6_scope_id=yes) | |
| 1248 if test "$have_sin6_scope_id" = yes; then | |
| 1249 AC_MSG_RESULT([yes]) | |
| 1250 AC_DEFINE(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID, 1, [Define to 1 if struct sockaddr_in6 has the sin6_scope_id member]) | |
| 1251 else | |
| 1252 AC_MSG_RESULT([no]) | |
| 1253 fi | |
| 1254 fi | |
| 1255 | |
| 1256 dnl ********************************************************************** | |
| 1257 dnl Check if the operating system allows programs to write to their own argv[] | |
| 1258 dnl ********************************************************************** | |
| 1259 | |
| 1260 AC_MSG_CHECKING([if argv can be written to]) | |
| 1261 CURL_RUN_IFELSE([ | |
| 1262 int main(int argc, char ** argv) { | |
| 1263 argv[0][0] = ' '; | |
| 1264 return (argv[0][0] == ' ')?0:1; | |
| 1265 } | |
| 1266 ],[ | |
| 1267 curl_cv_writable_argv=yes | |
| 1268 ],[ | |
| 1269 curl_cv_writable_argv=no | |
| 1270 ],[ | |
| 1271 curl_cv_writable_argv=cross | |
| 1272 ]) | |
| 1273 case $curl_cv_writable_argv in | |
| 1274 yes) | |
| 1275 AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv]) | |
| 1276 AC_MSG_RESULT(yes) | |
| 1277 ;; | |
| 1278 no) | |
| 1279 AC_MSG_RESULT(no) | |
| 1280 ;; | |
| 1281 *) | |
| 1282 AC_MSG_RESULT(no) | |
| 1283 AC_MSG_WARN([the previous check could not be made default was used]) | |
| 1284 ;; | |
| 1285 esac | |
| 1286 | |
| 1287 dnl ********************************************************************** | |
| 1288 dnl Check for GSS-API libraries | |
| 1289 dnl ********************************************************************** | |
| 1290 | |
| 1291 dnl check for GSS-API stuff in the /usr as default | |
| 1292 | |
| 1293 GSSAPI_ROOT="/usr" | |
| 1294 AC_ARG_WITH(gssapi-includes, | |
| 1295 AC_HELP_STRING([--with-gssapi-includes=DIR], | |
| 1296 [Specify location of GSS-API headers]), | |
| 1297 [ GSSAPI_INCS="-I$withval" | |
| 1298 want_gss="yes" ] | |
| 1299 ) | |
| 1300 | |
| 1301 AC_ARG_WITH(gssapi-libs, | |
| 1302 AC_HELP_STRING([--with-gssapi-libs=DIR], | |
| 1303 [Specify location of GSS-API libs]), | |
| 1304 [ GSSAPI_LIB_DIR="-L$withval" | |
| 1305 want_gss="yes" ] | |
| 1306 ) | |
| 1307 | |
| 1308 AC_ARG_WITH(gssapi, | |
| 1309 AC_HELP_STRING([--with-gssapi=DIR], | |
| 1310 [Where to look for GSS-API]), [ | |
| 1311 GSSAPI_ROOT="$withval" | |
| 1312 if test x"$GSSAPI_ROOT" != xno; then | |
| 1313 want_gss="yes" | |
| 1314 if test x"$GSSAPI_ROOT" = xyes; then | |
| 1315 dnl if yes, then use default root | |
| 1316 GSSAPI_ROOT="/usr" | |
| 1317 fi | |
| 1318 fi | |
| 1319 ]) | |
| 1320 | |
| 1321 : ${KRB5CONFIG:="$GSSAPI_ROOT/bin/krb5-config"} | |
| 1322 | |
| 1323 save_CPPFLAGS="$CPPFLAGS" | |
| 1324 AC_MSG_CHECKING([if GSS-API support is requested]) | |
| 1325 if test x"$want_gss" = xyes; then | |
| 1326 AC_MSG_RESULT(yes) | |
| 1327 | |
| 1328 if test -z "$GSSAPI_INCS"; then | |
| 1329 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then | |
| 1330 GSSAPI_INCS=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --cflags gssapi` | |
| 1331 elif test -f "$KRB5CONFIG"; then | |
| 1332 GSSAPI_INCS=`$KRB5CONFIG --cflags gssapi` | |
| 1333 elif test "$GSSAPI_ROOT" != "yes"; then | |
| 1334 GSSAPI_INCS="-I$GSSAPI_ROOT/include" | |
| 1335 fi | |
| 1336 fi | |
| 1337 | |
| 1338 CPPFLAGS="$CPPFLAGS $GSSAPI_INCS" | |
| 1339 | |
| 1340 AC_CHECK_HEADER(gss.h, | |
| 1341 [ | |
| 1342 dnl found in the given dirs | |
| 1343 AC_DEFINE(HAVE_GSSGNU, 1, [if you have GNU GSS]) | |
| 1344 gnu_gss=yes | |
| 1345 ], | |
| 1346 [ | |
| 1347 dnl not found, check Heimdal or MIT | |
| 1348 AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1]) | |
| 1349 AC_CHECK_HEADERS( | |
| 1350 [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h], | |
| 1351 [], | |
| 1352 [not_mit=1], | |
| 1353 [ | |
| 1354 AC_INCLUDES_DEFAULT | |
| 1355 #ifdef HAVE_GSSAPI_GSSAPI_H | |
| 1356 #include <gssapi/gssapi.h> | |
| 1357 #endif | |
| 1358 ]) | |
| 1359 if test "x$not_mit" = "x1"; then | |
| 1360 dnl MIT not found, check for Heimdal | |
| 1361 AC_CHECK_HEADER(gssapi.h, | |
| 1362 [ | |
| 1363 dnl found | |
| 1364 AC_DEFINE(HAVE_GSSHEIMDAL, 1, [if you have Heimdal]) | |
| 1365 ], | |
| 1366 [ | |
| 1367 dnl no header found, disabling GSS | |
| 1368 want_gss=no | |
| 1369 AC_MSG_WARN(disabling GSS-API support since no header files were found) | |
| 1370 ] | |
| 1371 ) | |
| 1372 else | |
| 1373 dnl MIT found | |
| 1374 AC_DEFINE(HAVE_GSSMIT, 1, [if you have MIT Kerberos]) | |
| 1375 dnl check if we have a really old MIT Kerberos version (<= 1.2) | |
| 1376 AC_MSG_CHECKING([if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE]) | |
| 1377 AC_COMPILE_IFELSE([ | |
| 1378 AC_LANG_PROGRAM([[ | |
| 1379 #include <gssapi/gssapi.h> | |
| 1380 #include <gssapi/gssapi_generic.h> | |
| 1381 #include <gssapi/gssapi_krb5.h> | |
| 1382 ]],[[ | |
| 1383 gss_import_name( | |
| 1384 (OM_uint32 *)0, | |
| 1385 (gss_buffer_t)0, | |
| 1386 GSS_C_NT_HOSTBASED_SERVICE, | |
| 1387 (gss_name_t *)0); | |
| 1388 ]]) | |
| 1389 ],[ | |
| 1390 AC_MSG_RESULT([yes]) | |
| 1391 ],[ | |
| 1392 AC_MSG_RESULT([no]) | |
| 1393 AC_DEFINE(HAVE_OLD_GSSMIT, 1, | |
| 1394 [if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE]) | |
| 1395 ]) | |
| 1396 fi | |
| 1397 ] | |
| 1398 ) | |
| 1399 else | |
| 1400 AC_MSG_RESULT(no) | |
| 1401 fi | |
| 1402 if test x"$want_gss" = xyes; then | |
| 1403 AC_DEFINE(HAVE_GSSAPI, 1, [if you have GSS-API libraries]) | |
| 1404 HAVE_GSSAPI=1 | |
| 1405 curl_gss_msg="enabled (MIT Kerberos/Heimdal)" | |
| 1406 | |
| 1407 if test -n "$gnu_gss"; then | |
| 1408 curl_gss_msg="enabled (GNU GSS)" | |
| 1409 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR" | |
| 1410 LIBS="-lgss $LIBS" | |
| 1411 elif test -z "$GSSAPI_LIB_DIR"; then | |
| 1412 case $host in | |
| 1413 *-*-darwin*) | |
| 1414 LIBS="-lgssapi_krb5 -lresolv $LIBS" | |
| 1415 ;; | |
| 1416 *) | |
| 1417 if test -n "$host_alias" -a -f "$GSSAPI_ROOT/bin/$host_alias-krb5-config"; then | |
| 1418 dnl krb5-config doesn't have --libs-only-L or similar, put everything | |
| 1419 dnl into LIBS | |
| 1420 gss_libs=`$GSSAPI_ROOT/bin/$host_alias-krb5-config --libs gssapi` | |
| 1421 LIBS="$gss_libs $LIBS" | |
| 1422 elif test -f "$KRB5CONFIG"; then | |
| 1423 dnl krb5-config doesn't have --libs-only-L or similar, put everything | |
| 1424 dnl into LIBS | |
| 1425 gss_libs=`$KRB5CONFIG --libs gssapi` | |
| 1426 LIBS="$gss_libs $LIBS" | |
| 1427 else | |
| 1428 case $host in | |
| 1429 *-hp-hpux*) | |
| 1430 gss_libname="gss" | |
| 1431 ;; | |
| 1432 *) | |
| 1433 gss_libname="gssapi" | |
| 1434 ;; | |
| 1435 esac | |
| 1436 | |
| 1437 if test "$GSSAPI_ROOT" != "yes"; then | |
| 1438 LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff" | |
| 1439 LIBS="-l$gss_libname $LIBS" | |
| 1440 else | |
| 1441 LIBS="-l$gss_libname $LIBS" | |
| 1442 fi | |
| 1443 fi | |
| 1444 ;; | |
| 1445 esac | |
| 1446 else | |
| 1447 LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR" | |
| 1448 case $host in | |
| 1449 *-hp-hpux*) | |
| 1450 LIBS="-lgss $LIBS" | |
| 1451 ;; | |
| 1452 *) | |
| 1453 LIBS="-lgssapi $LIBS" | |
| 1454 ;; | |
| 1455 esac | |
| 1456 fi | |
| 1457 else | |
| 1458 CPPFLAGS="$save_CPPFLAGS" | |
| 1459 fi | |
| 1460 | |
| 1461 build_libstubgss=no | |
| 1462 if test x"$want_gss" = "xyes"; then | |
| 1463 build_libstubgss=yes | |
| 1464 fi | |
| 1465 | |
| 1466 AM_CONDITIONAL(BUILD_STUB_GSS, test "x$build_libstubgss" = "xyes") | |
| 1467 | |
| 1468 dnl ------------------------------------------------------------- | |
| 1469 dnl parse --with-default-ssl-backend so it can be validated below | |
| 1470 dnl ------------------------------------------------------------- | |
| 1471 | |
| 1472 DEFAULT_SSL_BACKEND=no | |
| 1473 VALID_DEFAULT_SSL_BACKEND= | |
| 1474 AC_ARG_WITH(default-ssl-backend, | |
| 1475 AC_HELP_STRING([--with-default-ssl-backend=NAME],[Use NAME as default SSL backend]) | |
| 1476 AC_HELP_STRING([--without-default-ssl-backend],[Use implicit default SSL backend]), | |
| 1477 [DEFAULT_SSL_BACKEND=$withval]) | |
| 1478 case "$DEFAULT_SSL_BACKEND" in | |
| 1479 no) | |
| 1480 dnl --without-default-ssl-backend option used | |
| 1481 ;; | |
| 1482 default|yes) | |
| 1483 dnl --with-default-ssl-backend option used without name | |
| 1484 AC_MSG_ERROR([The name of the default SSL backend is required.]) | |
| 1485 ;; | |
| 1486 *) | |
| 1487 dnl --with-default-ssl-backend option used with name | |
| 1488 AC_SUBST(DEFAULT_SSL_BACKEND) | |
| 1489 dnl needs to be validated below | |
| 1490 VALID_DEFAULT_SSL_BACKEND=no | |
| 1491 ;; | |
| 1492 esac | |
| 1493 | |
| 1494 dnl ********************************************************************** | |
| 1495 | |
| 1496 dnl ------------------------------------------------- | |
| 1497 dnl check winssl option before other SSL libraries | |
| 1498 dnl ------------------------------------------------- | |
| 1499 | |
| 1500 OPT_WINSSL=no | |
| 1501 AC_ARG_WITH(winssl,dnl | |
| 1502 AC_HELP_STRING([--with-winssl],[enable Windows native SSL/TLS]) | |
| 1503 AC_HELP_STRING([--without-winssl], [disable Windows native SSL/TLS]), | |
| 1504 OPT_WINSSL=$withval) | |
| 1505 | |
| 1506 AC_ARG_WITH(schannel,dnl | |
| 1507 AC_HELP_STRING([--with-schannel],[enable Windows native SSL/TLS]) | |
| 1508 AC_HELP_STRING([--without-schannel], [disable Windows native SSL/TLS]), | |
| 1509 OPT_WINSSL=$withval) | |
| 1510 | |
| 1511 AC_MSG_CHECKING([whether to enable Windows native SSL/TLS (Windows native builds only)]) | |
| 1512 if test -z "$ssl_backends" -o "x$OPT_WINSSL" != xno; then | |
| 1513 ssl_msg= | |
| 1514 if test "x$OPT_WINSSL" != "xno" && | |
| 1515 test "x$curl_cv_native_windows" = "xyes"; then | |
| 1516 AC_MSG_RESULT(yes) | |
| 1517 AC_DEFINE(USE_SCHANNEL, 1, [to enable Windows native SSL/TLS support]) | |
| 1518 AC_SUBST(USE_SCHANNEL, [1]) | |
| 1519 ssl_msg="Windows-native" | |
| 1520 test schannel != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 1521 WINSSL_ENABLED=1 | |
| 1522 # --with-winssl implies --enable-sspi | |
| 1523 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support]) | |
| 1524 AC_SUBST(USE_WINDOWS_SSPI, [1]) | |
| 1525 curl_sspi_msg="enabled" | |
| 1526 LIBS="-lcrypt32 $LIBS" | |
| 1527 else | |
| 1528 AC_MSG_RESULT(no) | |
| 1529 fi | |
| 1530 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 1531 else | |
| 1532 AC_MSG_RESULT(no) | |
| 1533 fi | |
| 1534 | |
| 1535 OPT_SECURETRANSPORT=no | |
| 1536 AC_ARG_WITH(darwinssl,dnl | |
| 1537 AC_HELP_STRING([--with-darwinssl],[enable Apple OS native SSL/TLS]) | |
| 1538 AC_HELP_STRING([--without-darwinssl], [disable Apple OS native SSL/TLS]), | |
| 1539 OPT_SECURETRANSPORT=$withval) | |
| 1540 | |
| 1541 AC_ARG_WITH(secure-transport,dnl | |
| 1542 AC_HELP_STRING([--with-secure-transport],[enable Apple OS native SSL/TLS]) | |
| 1543 AC_HELP_STRING([--without-secure-transport], [disable Apple OS native SSL/TLS]), | |
| 1544 OPT_SECURETRANSPORT=$withval) | |
| 1545 | |
| 1546 AC_MSG_CHECKING([whether to enable Secure Transport]) | |
| 1547 if test -z "$ssl_backends" -o "x$OPT_SECURETRANSPORT" != xno; then | |
| 1548 if test "x$OPT_SECURETRANSPORT" != "xno" && | |
| 1549 test -d "/System/Library/Frameworks/Security.framework"; then | |
| 1550 AC_MSG_RESULT(yes) | |
| 1551 AC_DEFINE(USE_SECTRANSP, 1, [enable Secure Transport]) | |
| 1552 AC_SUBST(USE_SECTRANSP, [1]) | |
| 1553 ssl_msg="Secure Transport" | |
| 1554 test secure-transport != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 1555 SECURETRANSPORT_ENABLED=1 | |
| 1556 LDFLAGS="$LDFLAGS -framework CoreFoundation -framework Security" | |
| 1557 else | |
| 1558 AC_MSG_RESULT(no) | |
| 1559 fi | |
| 1560 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 1561 else | |
| 1562 AC_MSG_RESULT(no) | |
| 1563 fi | |
| 1564 | |
| 1565 OPT_AMISSL=no | |
| 1566 AC_ARG_WITH(amissl,dnl | |
| 1567 AC_HELP_STRING([--with-amissl],[enable Amiga native SSL/TLS (AmiSSL)]) | |
| 1568 AC_HELP_STRING([--without-amissl], [disable Amiga native SSL/TLS (AmiSSL)]), | |
| 1569 OPT_AMISSL=$withval) | |
| 1570 | |
| 1571 AC_MSG_CHECKING([whether to enable Amiga native SSL/TLS (AmiSSL)]) | |
| 1572 if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then | |
| 1573 if test -z "$ssl_backends" -o "x$OPT_AMISSL" != xno; then | |
| 1574 ssl_msg= | |
| 1575 if test "x$OPT_AMISSL" != "xno"; then | |
| 1576 AC_MSG_RESULT(yes) | |
| 1577 ssl_msg="AmiSSL" | |
| 1578 test amissl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 1579 AMISSL_ENABLED=1 | |
| 1580 LIBS="-lamisslauto $LIBS" | |
| 1581 AC_DEFINE(USE_AMISSL, 1, [if AmiSSL is in use]) | |
| 1582 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]) | |
| 1583 else | |
| 1584 AC_MSG_RESULT(no) | |
| 1585 fi | |
| 1586 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 1587 else | |
| 1588 AC_MSG_RESULT(no) | |
| 1589 fi | |
| 1590 else | |
| 1591 AC_MSG_RESULT(no) | |
| 1592 fi | |
| 1593 | |
| 1594 dnl ********************************************************************** | |
| 1595 dnl Check for the presence of SSL libraries and headers | |
| 1596 dnl ********************************************************************** | |
| 1597 | |
| 1598 dnl Default to compiler & linker defaults for SSL files & libraries. | |
| 1599 OPT_SSL=off | |
| 1600 dnl Default to no CA bundle | |
| 1601 ca="no" | |
| 1602 AC_ARG_WITH(ssl,dnl | |
| 1603 AC_HELP_STRING([--with-ssl=PATH],[Where to look for OpenSSL, PATH points to the SSL installation (default: /usr/local/ssl); when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) | |
| 1604 AC_HELP_STRING([--without-ssl], [disable OpenSSL]), | |
| 1605 OPT_SSL=$withval) | |
| 1606 | |
| 1607 if test -z "$ssl_backends" -o "x$OPT_SSL" != xno && | |
| 1608 test X"$OPT_SSL" != Xno; then | |
| 1609 ssl_msg= | |
| 1610 | |
| 1611 dnl backup the pre-ssl variables | |
| 1612 CLEANLDFLAGS="$LDFLAGS" | |
| 1613 CLEANCPPFLAGS="$CPPFLAGS" | |
| 1614 CLEANLIBS="$LIBS" | |
| 1615 | |
| 1616 dnl This is for Msys/Mingw | |
| 1617 case $host in | |
| 1618 *-*-msys* | *-*-mingw*) | |
| 1619 AC_MSG_CHECKING([for gdi32]) | |
| 1620 my_ac_save_LIBS=$LIBS | |
| 1621 LIBS="-lgdi32 $LIBS" | |
| 1622 AC_TRY_LINK([#include <windef.h> | |
| 1623 #include <wingdi.h>], | |
| 1624 [GdiFlush();], | |
| 1625 [ dnl worked! | |
| 1626 AC_MSG_RESULT([yes])], | |
| 1627 [ dnl failed, restore LIBS | |
| 1628 LIBS=$my_ac_save_LIBS | |
| 1629 AC_MSG_RESULT(no)] | |
| 1630 ) | |
| 1631 ;; | |
| 1632 esac | |
| 1633 | |
| 1634 case "$OPT_SSL" in | |
| 1635 yes) | |
| 1636 dnl --with-ssl (without path) used | |
| 1637 if test x$cross_compiling != xyes; then | |
| 1638 dnl only do pkg-config magic when not cross-compiling | |
| 1639 PKGTEST="yes" | |
| 1640 fi | |
| 1641 PREFIX_OPENSSL=/usr/local/ssl | |
| 1642 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff" | |
| 1643 ;; | |
| 1644 off) | |
| 1645 dnl no --with-ssl option given, just check default places | |
| 1646 if test x$cross_compiling != xyes; then | |
| 1647 dnl only do pkg-config magic when not cross-compiling | |
| 1648 PKGTEST="yes" | |
| 1649 fi | |
| 1650 PREFIX_OPENSSL= | |
| 1651 ;; | |
| 1652 *) | |
| 1653 dnl check the given --with-ssl spot | |
| 1654 PKGTEST="no" | |
| 1655 PREFIX_OPENSSL=$OPT_SSL | |
| 1656 | |
| 1657 dnl Try pkg-config even when cross-compiling. Since we | |
| 1658 dnl specify PKG_CONFIG_LIBDIR we're only looking where | |
| 1659 dnl the user told us to look | |
| 1660 OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig" | |
| 1661 if test -f "$OPENSSL_PCDIR/openssl.pc"; then | |
| 1662 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"]) | |
| 1663 PKGTEST="yes" | |
| 1664 elif test ! -f "$PREFIX_OPENSSL/include/openssl/ssl.h"; then | |
| 1665 AC_MSG_ERROR([$PREFIX_OPENSSL is a bad --with-ssl prefix!]) | |
| 1666 fi | |
| 1667 | |
| 1668 dnl in case pkg-config comes up empty, use what we got | |
| 1669 dnl via --with-ssl | |
| 1670 LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff" | |
| 1671 if test "$PREFIX_OPENSSL" != "/usr" ; then | |
| 1672 SSL_LDFLAGS="-L$LIB_OPENSSL" | |
| 1673 SSL_CPPFLAGS="-I$PREFIX_OPENSSL/include" | |
| 1674 fi | |
| 1675 SSL_CPPFLAGS="$SSL_CPPFLAGS -I$PREFIX_OPENSSL/include/openssl" | |
| 1676 ;; | |
| 1677 esac | |
| 1678 | |
| 1679 if test "$PKGTEST" = "yes"; then | |
| 1680 | |
| 1681 CURL_CHECK_PKGCONFIG(openssl, [$OPENSSL_PCDIR]) | |
| 1682 | |
| 1683 if test "$PKGCONFIG" != "no" ; then | |
| 1684 SSL_LIBS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl | |
| 1685 $PKGCONFIG --libs-only-l --libs-only-other openssl 2>/dev/null` | |
| 1686 | |
| 1687 SSL_LDFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl | |
| 1688 $PKGCONFIG --libs-only-L openssl 2>/dev/null` | |
| 1689 | |
| 1690 SSL_CPPFLAGS=`CURL_EXPORT_PCDIR([$OPENSSL_PCDIR]) dnl | |
| 1691 $PKGCONFIG --cflags-only-I openssl 2>/dev/null` | |
| 1692 | |
| 1693 AC_SUBST(SSL_LIBS) | |
| 1694 AC_MSG_NOTICE([pkg-config: SSL_LIBS: "$SSL_LIBS"]) | |
| 1695 AC_MSG_NOTICE([pkg-config: SSL_LDFLAGS: "$SSL_LDFLAGS"]) | |
| 1696 AC_MSG_NOTICE([pkg-config: SSL_CPPFLAGS: "$SSL_CPPFLAGS"]) | |
| 1697 | |
| 1698 LIB_OPENSSL=`echo $SSL_LDFLAGS | sed -e 's/-L//g'` | |
| 1699 | |
| 1700 dnl use the values pkg-config reported. This is here | |
| 1701 dnl instead of below with CPPFLAGS and LDFLAGS because we only | |
| 1702 dnl learn about this via pkg-config. If we only have | |
| 1703 dnl the argument to --with-ssl we don't know what | |
| 1704 dnl additional libs may be necessary. Hope that we | |
| 1705 dnl don't need any. | |
| 1706 LIBS="$SSL_LIBS $LIBS" | |
| 1707 fi | |
| 1708 fi | |
| 1709 | |
| 1710 dnl finally, set flags to use SSL | |
| 1711 CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS" | |
| 1712 LDFLAGS="$LDFLAGS $SSL_LDFLAGS" | |
| 1713 | |
| 1714 AC_CHECK_LIB(crypto, HMAC_Update,[ | |
| 1715 HAVECRYPTO="yes" | |
| 1716 LIBS="-lcrypto $LIBS" | |
| 1717 ],[ | |
| 1718 LDFLAGS="$CLEANLDFLAGS -L$LIB_OPENSSL" | |
| 1719 if test "$PKGCONFIG" = "no" ; then | |
| 1720 # only set this if pkg-config wasn't used | |
| 1721 CPPFLAGS="$CLEANCPPFLAGS -I$PREFIX_OPENSSL/include/openssl -I$PREFIX_OPENSSL/include" | |
| 1722 fi | |
| 1723 AC_CHECK_LIB(crypto, HMAC_Init_ex,[ | |
| 1724 HAVECRYPTO="yes" | |
| 1725 LIBS="-lcrypto $LIBS"], [ | |
| 1726 | |
| 1727 dnl still no, but what about with -ldl? | |
| 1728 AC_MSG_CHECKING([OpenSSL linking with -ldl]) | |
| 1729 LIBS="$CLEANLIBS -lcrypto -ldl" | |
| 1730 AC_TRY_LINK( | |
| 1731 [ | |
| 1732 #include <openssl/err.h> | |
| 1733 ], | |
| 1734 [ | |
| 1735 ERR_clear_error(); | |
| 1736 ], | |
| 1737 [ | |
| 1738 AC_MSG_RESULT(yes) | |
| 1739 HAVECRYPTO="yes" | |
| 1740 ], | |
| 1741 [ | |
| 1742 AC_MSG_RESULT(no) | |
| 1743 dnl ok, so what about both -ldl and -lpthread? | |
| 1744 | |
| 1745 AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread]) | |
| 1746 LIBS="$CLEANLIBS -lcrypto -ldl -lpthread" | |
| 1747 AC_TRY_LINK( | |
| 1748 [ | |
| 1749 #include <openssl/err.h> | |
| 1750 ], | |
| 1751 [ | |
| 1752 ERR_clear_error(); | |
| 1753 ], | |
| 1754 [ | |
| 1755 AC_MSG_RESULT(yes) | |
| 1756 HAVECRYPTO="yes" | |
| 1757 ], | |
| 1758 [ | |
| 1759 AC_MSG_RESULT(no) | |
| 1760 LDFLAGS="$CLEANLDFLAGS" | |
| 1761 CPPFLAGS="$CLEANCPPFLAGS" | |
| 1762 LIBS="$CLEANLIBS" | |
| 1763 | |
| 1764 ]) | |
| 1765 | |
| 1766 ]) | |
| 1767 | |
| 1768 ]) | |
| 1769 ]) | |
| 1770 | |
| 1771 if test X"$HAVECRYPTO" = X"yes"; then | |
| 1772 dnl This is only reasonable to do if crypto actually is there: check for | |
| 1773 dnl SSL libs NOTE: it is important to do this AFTER the crypto lib | |
| 1774 | |
| 1775 AC_CHECK_LIB(ssl, SSL_connect) | |
| 1776 | |
| 1777 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then | |
| 1778 dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff | |
| 1779 AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use); | |
| 1780 OLIBS=$LIBS | |
| 1781 LIBS="-lRSAglue -lrsaref $LIBS" | |
| 1782 AC_CHECK_LIB(ssl, SSL_connect) | |
| 1783 if test "$ac_cv_lib_ssl_SSL_connect" != yes; then | |
| 1784 dnl still no SSL_connect | |
| 1785 AC_MSG_RESULT(no) | |
| 1786 LIBS=$OLIBS | |
| 1787 else | |
| 1788 AC_MSG_RESULT(yes) | |
| 1789 fi | |
| 1790 | |
| 1791 else | |
| 1792 | |
| 1793 dnl Have the libraries--check for OpenSSL headers | |
| 1794 AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \ | |
| 1795 openssl/pem.h openssl/ssl.h openssl/err.h, | |
| 1796 ssl_msg="OpenSSL" | |
| 1797 test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 1798 OPENSSL_ENABLED=1 | |
| 1799 AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use])) | |
| 1800 | |
| 1801 if test $ac_cv_header_openssl_x509_h = no; then | |
| 1802 dnl we don't use the "action" part of the AC_CHECK_HEADERS macro | |
| 1803 dnl since 'err.h' might in fact find a krb4 header with the same | |
| 1804 dnl name | |
| 1805 AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h) | |
| 1806 | |
| 1807 if test $ac_cv_header_x509_h = yes && | |
| 1808 test $ac_cv_header_crypto_h = yes && | |
| 1809 test $ac_cv_header_ssl_h = yes; then | |
| 1810 dnl three matches | |
| 1811 ssl_msg="OpenSSL" | |
| 1812 OPENSSL_ENABLED=1 | |
| 1813 fi | |
| 1814 fi | |
| 1815 fi | |
| 1816 | |
| 1817 if test X"$OPENSSL_ENABLED" != X"1"; then | |
| 1818 LIBS="$CLEANLIBS" | |
| 1819 fi | |
| 1820 | |
| 1821 if test X"$OPT_SSL" != Xoff && | |
| 1822 test "$OPENSSL_ENABLED" != "1"; then | |
| 1823 AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!]) | |
| 1824 fi | |
| 1825 fi | |
| 1826 | |
| 1827 if test X"$OPENSSL_ENABLED" = X"1"; then | |
| 1828 dnl These can only exist if OpenSSL exists | |
| 1829 dnl OpenSSL_version is introduced in 3.0.0 | |
| 1830 | |
| 1831 AC_CHECK_FUNCS( RAND_egd \ | |
| 1832 SSLv2_client_method \ | |
| 1833 OpenSSL_version ) | |
| 1834 | |
| 1835 AC_MSG_CHECKING([for BoringSSL]) | |
| 1836 AC_COMPILE_IFELSE([ | |
| 1837 AC_LANG_PROGRAM([[ | |
| 1838 #include <openssl/base.h> | |
| 1839 ]],[[ | |
| 1840 #ifndef OPENSSL_IS_BORINGSSL | |
| 1841 #error not boringssl | |
| 1842 #endif | |
| 1843 ]]) | |
| 1844 ],[ | |
| 1845 AC_MSG_RESULT([yes]) | |
| 1846 AC_DEFINE_UNQUOTED(HAVE_BORINGSSL, 1, | |
| 1847 [Define to 1 if using BoringSSL.]) | |
| 1848 ssl_msg="BoringSSL" | |
| 1849 ],[ | |
| 1850 AC_MSG_RESULT([no]) | |
| 1851 ]) | |
| 1852 | |
| 1853 AC_MSG_CHECKING([for libressl]) | |
| 1854 AC_COMPILE_IFELSE([ | |
| 1855 AC_LANG_PROGRAM([[ | |
| 1856 #include <openssl/opensslv.h> | |
| 1857 ]],[[ | |
| 1858 int dummy = LIBRESSL_VERSION_NUMBER; | |
| 1859 ]]) | |
| 1860 ],[ | |
| 1861 AC_MSG_RESULT([yes]) | |
| 1862 AC_DEFINE_UNQUOTED(HAVE_LIBRESSL, 1, | |
| 1863 [Define to 1 if using libressl.]) | |
| 1864 ssl_msg="libressl" | |
| 1865 ],[ | |
| 1866 AC_MSG_RESULT([no]) | |
| 1867 ]) | |
| 1868 fi | |
| 1869 | |
| 1870 if test "$OPENSSL_ENABLED" = "1"; then | |
| 1871 if test -n "$LIB_OPENSSL"; then | |
| 1872 dnl when the ssl shared libs were found in a path that the run-time | |
| 1873 dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH | |
| 1874 dnl to prevent further configure tests to fail due to this | |
| 1875 if test "x$cross_compiling" != "xyes"; then | |
| 1876 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$LIB_OPENSSL" | |
| 1877 export CURL_LIBRARY_PATH | |
| 1878 AC_MSG_NOTICE([Added $LIB_OPENSSL to CURL_LIBRARY_PATH]) | |
| 1879 fi | |
| 1880 fi | |
| 1881 CURL_CHECK_OPENSSL_API | |
| 1882 check_for_ca_bundle=1 | |
| 1883 fi | |
| 1884 | |
| 1885 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 1886 fi | |
| 1887 | |
| 1888 if test X"$OPT_SSL" != Xoff && | |
| 1889 test X"$OPT_SSL" != Xno && | |
| 1890 test "$OPENSSL_ENABLED" != "1"; then | |
| 1891 AC_MSG_NOTICE([OPT_SSL: $OPT_SSL]) | |
| 1892 AC_MSG_NOTICE([OPENSSL_ENABLED: $OPENSSL_ENABLED]) | |
| 1893 AC_MSG_ERROR([--with-ssl was given but OpenSSL could not be detected]) | |
| 1894 fi | |
| 1895 | |
| 1896 dnl ********************************************************************** | |
| 1897 dnl Check for the random seed preferences | |
| 1898 dnl ********************************************************************** | |
| 1899 | |
| 1900 if test X"$OPENSSL_ENABLED" = X"1"; then | |
| 1901 AC_ARG_WITH(egd-socket, | |
| 1902 AC_HELP_STRING([--with-egd-socket=FILE], | |
| 1903 [Entropy Gathering Daemon socket pathname]), | |
| 1904 [ EGD_SOCKET="$withval" ] | |
| 1905 ) | |
| 1906 if test -n "$EGD_SOCKET" ; then | |
| 1907 AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET", | |
| 1908 [your Entropy Gathering Daemon socket pathname] ) | |
| 1909 fi | |
| 1910 | |
| 1911 dnl Check for user-specified random device | |
| 1912 AC_ARG_WITH(random, | |
| 1913 AC_HELP_STRING([--with-random=FILE], | |
| 1914 [read randomness from FILE (default=/dev/urandom)]), | |
| 1915 [ RANDOM_FILE="$withval" ], | |
| 1916 [ | |
| 1917 if test x$cross_compiling != xyes; then | |
| 1918 dnl Check for random device | |
| 1919 AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] ) | |
| 1920 else | |
| 1921 AC_MSG_WARN([skipped the /dev/urandom detection when cross-compiling]) | |
| 1922 fi | |
| 1923 ] | |
| 1924 ) | |
| 1925 if test -n "$RANDOM_FILE" && test X"$RANDOM_FILE" != Xno ; then | |
| 1926 AC_SUBST(RANDOM_FILE) | |
| 1927 AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE", | |
| 1928 [a suitable file to read random data from]) | |
| 1929 fi | |
| 1930 fi | |
| 1931 | |
| 1932 dnl --- | |
| 1933 dnl We require OpenSSL with SRP support. | |
| 1934 dnl --- | |
| 1935 if test "$OPENSSL_ENABLED" = "1"; then | |
| 1936 AC_CHECK_LIB(crypto, SRP_Calc_client_key, | |
| 1937 [ | |
| 1938 AC_DEFINE(HAVE_OPENSSL_SRP, 1, [if you have the function SRP_Calc_client_key]) | |
| 1939 AC_SUBST(HAVE_OPENSSL_SRP, [1]) | |
| 1940 ]) | |
| 1941 fi | |
| 1942 | |
| 1943 dnl --- | |
| 1944 dnl Whether the OpenSSL configuration will be loaded automatically | |
| 1945 dnl --- | |
| 1946 if test X"$OPENSSL_ENABLED" = X"1"; then | |
| 1947 AC_ARG_ENABLE(openssl-auto-load-config, | |
| 1948 AC_HELP_STRING([--enable-openssl-auto-load-config],[Enable automatic loading of OpenSSL configuration]) | |
| 1949 AC_HELP_STRING([--disable-openssl-auto-load-config],[Disable automatic loading of OpenSSL configuration]), | |
| 1950 [ if test X"$enableval" = X"no"; then | |
| 1951 AC_MSG_NOTICE([automatic loading of OpenSSL configuration disabled]) | |
| 1952 AC_DEFINE(CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG, 1, [if the OpenSSL configuration won't be loaded automatically]) | |
| 1953 fi | |
| 1954 ]) | |
| 1955 fi | |
| 1956 | |
| 1957 dnl ---------------------------------------------------- | |
| 1958 dnl check for GnuTLS | |
| 1959 dnl ---------------------------------------------------- | |
| 1960 | |
| 1961 dnl Default to compiler & linker defaults for GnuTLS files & libraries. | |
| 1962 OPT_GNUTLS=no | |
| 1963 | |
| 1964 AC_ARG_WITH(gnutls,dnl | |
| 1965 AC_HELP_STRING([--with-gnutls=PATH],[where to look for GnuTLS, PATH points to the installation root]) | |
| 1966 AC_HELP_STRING([--without-gnutls], [disable GnuTLS detection]), | |
| 1967 OPT_GNUTLS=$withval) | |
| 1968 | |
| 1969 if test -z "$ssl_backends" -o "x$OPT_GNUTLS" != xno; then | |
| 1970 ssl_msg= | |
| 1971 | |
| 1972 if test X"$OPT_GNUTLS" != Xno; then | |
| 1973 | |
| 1974 addld="" | |
| 1975 addlib="" | |
| 1976 gtlslib="" | |
| 1977 version="" | |
| 1978 addcflags="" | |
| 1979 | |
| 1980 if test "x$OPT_GNUTLS" = "xyes"; then | |
| 1981 dnl this is with no partiular path given | |
| 1982 CURL_CHECK_PKGCONFIG(gnutls) | |
| 1983 | |
| 1984 if test "$PKGCONFIG" != "no" ; then | |
| 1985 addlib=`$PKGCONFIG --libs-only-l gnutls` | |
| 1986 addld=`$PKGCONFIG --libs-only-L gnutls` | |
| 1987 addcflags=`$PKGCONFIG --cflags-only-I gnutls` | |
| 1988 version=`$PKGCONFIG --modversion gnutls` | |
| 1989 gtlslib=`echo $addld | $SED -e 's/-L//'` | |
| 1990 else | |
| 1991 dnl without pkg-config, we try libgnutls-config as that was how it | |
| 1992 dnl used to be done | |
| 1993 check=`libgnutls-config --version 2>/dev/null` | |
| 1994 if test -n "$check"; then | |
| 1995 addlib=`libgnutls-config --libs` | |
| 1996 addcflags=`libgnutls-config --cflags` | |
| 1997 version=`libgnutls-config --version` | |
| 1998 gtlslib=`libgnutls-config --prefix`/lib$libsuff | |
| 1999 fi | |
| 2000 fi | |
| 2001 else | |
| 2002 dnl this is with a given path, first check if there's a libgnutls-config | |
| 2003 dnl there and if not, make an educated guess | |
| 2004 cfg=$OPT_GNUTLS/bin/libgnutls-config | |
| 2005 check=`$cfg --version 2>/dev/null` | |
| 2006 if test -n "$check"; then | |
| 2007 addlib=`$cfg --libs` | |
| 2008 addcflags=`$cfg --cflags` | |
| 2009 version=`$cfg --version` | |
| 2010 gtlslib=`$cfg --prefix`/lib$libsuff | |
| 2011 else | |
| 2012 dnl without pkg-config and libgnutls-config, we guess a lot! | |
| 2013 addlib=-lgnutls | |
| 2014 addld=-L$OPT_GNUTLS/lib$libsuff | |
| 2015 addcflags=-I$OPT_GNUTLS/include | |
| 2016 version="" # we just don't know | |
| 2017 gtlslib=$OPT_GNUTLS/lib$libsuff | |
| 2018 fi | |
| 2019 fi | |
| 2020 | |
| 2021 if test -z "$version"; then | |
| 2022 dnl lots of efforts, still no go | |
| 2023 version="unknown" | |
| 2024 fi | |
| 2025 | |
| 2026 if test -n "$addlib"; then | |
| 2027 | |
| 2028 CLEANLIBS="$LIBS" | |
| 2029 CLEANCPPFLAGS="$CPPFLAGS" | |
| 2030 CLEANLDFLAGS="$LDFLAGS" | |
| 2031 | |
| 2032 LIBS="$addlib $LIBS" | |
| 2033 LDFLAGS="$LDFLAGS $addld" | |
| 2034 if test "$addcflags" != "-I/usr/include"; then | |
| 2035 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2036 fi | |
| 2037 | |
| 2038 AC_CHECK_LIB(gnutls, gnutls_check_version, | |
| 2039 [ | |
| 2040 AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled]) | |
| 2041 AC_SUBST(USE_GNUTLS, [1]) | |
| 2042 GNUTLS_ENABLED=1 | |
| 2043 USE_GNUTLS="yes" | |
| 2044 ssl_msg="GnuTLS" | |
| 2045 test gnutls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2046 ], | |
| 2047 [ | |
| 2048 LIBS="$CLEANLIBS" | |
| 2049 CPPFLAGS="$CLEANCPPFLAGS" | |
| 2050 ]) | |
| 2051 | |
| 2052 if test "x$USE_GNUTLS" = "xyes"; then | |
| 2053 AC_MSG_NOTICE([detected GnuTLS version $version]) | |
| 2054 check_for_ca_bundle=1 | |
| 2055 if test -n "$gtlslib"; then | |
| 2056 dnl when shared libs were found in a path that the run-time | |
| 2057 dnl linker doesn't search through, we need to add it to | |
| 2058 dnl CURL_LIBRARY_PATH to prevent further configure tests to fail | |
| 2059 dnl due to this | |
| 2060 if test "x$cross_compiling" != "xyes"; then | |
| 2061 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$gtlslib" | |
| 2062 export CURL_LIBRARY_PATH | |
| 2063 AC_MSG_NOTICE([Added $gtlslib to CURL_LIBRARY_PATH]) | |
| 2064 fi | |
| 2065 fi | |
| 2066 AC_CHECK_FUNCS([gnutls_certificate_set_x509_key_file2 gnutls_alpn_set_protocols gnutls_ocsp_req_init]) | |
| 2067 fi | |
| 2068 | |
| 2069 fi | |
| 2070 | |
| 2071 fi dnl GNUTLS not disabled | |
| 2072 | |
| 2073 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 2074 fi | |
| 2075 | |
| 2076 dnl --- | |
| 2077 dnl Check which crypto backend GnuTLS uses | |
| 2078 dnl --- | |
| 2079 | |
| 2080 if test "$GNUTLS_ENABLED" = "1"; then | |
| 2081 USE_GNUTLS_NETTLE= | |
| 2082 # First check if we can detect either crypto library via transitive linking | |
| 2083 AC_CHECK_LIB(gnutls, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ]) | |
| 2084 if test "$USE_GNUTLS_NETTLE" = ""; then | |
| 2085 AC_CHECK_LIB(gnutls, gcry_control, [ USE_GNUTLS_NETTLE=0 ]) | |
| 2086 fi | |
| 2087 # If not, try linking directly to both of them to see if they are available | |
| 2088 if test "$USE_GNUTLS_NETTLE" = ""; then | |
| 2089 AC_CHECK_LIB(nettle, nettle_MD5Init, [ USE_GNUTLS_NETTLE=1 ]) | |
| 2090 fi | |
| 2091 if test "$USE_GNUTLS_NETTLE" = ""; then | |
| 2092 AC_CHECK_LIB(gcrypt, gcry_control, [ USE_GNUTLS_NETTLE=0 ]) | |
| 2093 fi | |
| 2094 if test "$USE_GNUTLS_NETTLE" = ""; then | |
| 2095 AC_MSG_ERROR([GnuTLS found, but neither gcrypt nor nettle found]) | |
| 2096 fi | |
| 2097 if test "$USE_GNUTLS_NETTLE" = "1"; then | |
| 2098 AC_DEFINE(USE_GNUTLS_NETTLE, 1, [if GnuTLS uses nettle as crypto backend]) | |
| 2099 AC_SUBST(USE_GNUTLS_NETTLE, [1]) | |
| 2100 LIBS="-lnettle $LIBS" | |
| 2101 else | |
| 2102 LIBS="-lgcrypt $LIBS" | |
| 2103 fi | |
| 2104 fi | |
| 2105 | |
| 2106 dnl --- | |
| 2107 dnl We require GnuTLS with SRP support. | |
| 2108 dnl --- | |
| 2109 if test "$GNUTLS_ENABLED" = "1"; then | |
| 2110 AC_CHECK_LIB(gnutls, gnutls_srp_verifier, | |
| 2111 [ | |
| 2112 AC_DEFINE(HAVE_GNUTLS_SRP, 1, [if you have the function gnutls_srp_verifier]) | |
| 2113 AC_SUBST(HAVE_GNUTLS_SRP, [1]) | |
| 2114 ]) | |
| 2115 fi | |
| 2116 | |
| 2117 dnl ---------------------------------------------------- | |
| 2118 dnl check for mbedTLS | |
| 2119 dnl ---------------------------------------------------- | |
| 2120 | |
| 2121 OPT_MBEDTLS=no | |
| 2122 | |
| 2123 _cppflags=$CPPFLAGS | |
| 2124 _ldflags=$LDFLAGS | |
| 2125 AC_ARG_WITH(mbedtls,dnl | |
| 2126 AC_HELP_STRING([--with-mbedtls=PATH],[where to look for mbedTLS, PATH points to the installation root]) | |
| 2127 AC_HELP_STRING([--without-mbedtls], [disable mbedTLS detection]), | |
| 2128 OPT_MBEDTLS=$withval) | |
| 2129 | |
| 2130 if test -z "$ssl_backends" -o "x$OPT_MBEDTLS" != xno; then | |
| 2131 ssl_msg= | |
| 2132 | |
| 2133 if test X"$OPT_MBEDTLS" != Xno; then | |
| 2134 | |
| 2135 if test "$OPT_MBEDTLS" = "yes"; then | |
| 2136 OPT_MBEDTLS="" | |
| 2137 fi | |
| 2138 | |
| 2139 if test -z "$OPT_MBEDTLS" ; then | |
| 2140 dnl check for lib first without setting any new path | |
| 2141 | |
| 2142 AC_CHECK_LIB(mbedtls, mbedtls_havege_init, | |
| 2143 dnl libmbedtls found, set the variable | |
| 2144 [ | |
| 2145 AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled]) | |
| 2146 AC_SUBST(USE_MBEDTLS, [1]) | |
| 2147 MBEDTLS_ENABLED=1 | |
| 2148 USE_MBEDTLS="yes" | |
| 2149 ssl_msg="mbedTLS" | |
| 2150 test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2151 ], [], -lmbedx509 -lmbedcrypto) | |
| 2152 fi | |
| 2153 | |
| 2154 addld="" | |
| 2155 addlib="" | |
| 2156 addcflags="" | |
| 2157 mbedtlslib="" | |
| 2158 | |
| 2159 if test "x$USE_MBEDTLS" != "xyes"; then | |
| 2160 dnl add the path and test again | |
| 2161 addld=-L$OPT_MBEDTLS/lib$libsuff | |
| 2162 addcflags=-I$OPT_MBEDTLS/include | |
| 2163 mbedtlslib=$OPT_MBEDTLS/lib$libsuff | |
| 2164 | |
| 2165 LDFLAGS="$LDFLAGS $addld" | |
| 2166 if test "$addcflags" != "-I/usr/include"; then | |
| 2167 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2168 fi | |
| 2169 | |
| 2170 AC_CHECK_LIB(mbedtls, mbedtls_ssl_init, | |
| 2171 [ | |
| 2172 AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled]) | |
| 2173 AC_SUBST(USE_MBEDTLS, [1]) | |
| 2174 MBEDTLS_ENABLED=1 | |
| 2175 USE_MBEDTLS="yes" | |
| 2176 ssl_msg="mbedTLS" | |
| 2177 test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2178 ], | |
| 2179 [ | |
| 2180 CPPFLAGS=$_cppflags | |
| 2181 LDFLAGS=$_ldflags | |
| 2182 ], -lmbedx509 -lmbedcrypto) | |
| 2183 fi | |
| 2184 | |
| 2185 if test "x$USE_MBEDTLS" = "xyes"; then | |
| 2186 AC_MSG_NOTICE([detected mbedTLS]) | |
| 2187 check_for_ca_bundle=1 | |
| 2188 | |
| 2189 LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS" | |
| 2190 | |
| 2191 if test -n "$mbedtlslib"; then | |
| 2192 dnl when shared libs were found in a path that the run-time | |
| 2193 dnl linker doesn't search through, we need to add it to | |
| 2194 dnl CURL_LIBRARY_PATH to prevent further configure tests to fail | |
| 2195 dnl due to this | |
| 2196 if test "x$cross_compiling" != "xyes"; then | |
| 2197 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$mbedtlslib" | |
| 2198 export CURL_LIBRARY_PATH | |
| 2199 AC_MSG_NOTICE([Added $mbedtlslib to CURL_LIBRARY_PATH]) | |
| 2200 fi | |
| 2201 fi | |
| 2202 fi | |
| 2203 | |
| 2204 fi dnl mbedTLS not disabled | |
| 2205 | |
| 2206 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 2207 fi | |
| 2208 | |
| 2209 dnl ---------------------------------------------------- | |
| 2210 dnl check for wolfSSL | |
| 2211 dnl ---------------------------------------------------- | |
| 2212 | |
| 2213 dnl Default to compiler & linker defaults for wolfSSL files & libraries. | |
| 2214 OPT_WOLFSSL=no | |
| 2215 | |
| 2216 _cppflags=$CPPFLAGS | |
| 2217 _ldflags=$LDFLAGS | |
| 2218 AC_ARG_WITH(cyassl,dnl | |
| 2219 AC_HELP_STRING([--with-cyassl=PATH],[where to look for CyaSSL, PATH points to the installation root (default: system lib default)]) | |
| 2220 AC_HELP_STRING([--without-cyassl], [disable CyaSSL detection]), | |
| 2221 OPT_WOLFSSL=$withval) | |
| 2222 | |
| 2223 dnl provide --with-wolfssl as an alias for --with-cyassl | |
| 2224 AC_ARG_WITH(wolfssl,dnl | |
| 2225 AC_HELP_STRING([--with-wolfssl=PATH],[where to look for WolfSSL, PATH points to the installation root (default: system lib default)]) | |
| 2226 AC_HELP_STRING([--without-wolfssl], [disable WolfSSL detection]), | |
| 2227 OPT_WOLFSSL=$withval) | |
| 2228 | |
| 2229 if test -z "$ssl_backends" -o "x$OPT_WOLFSSL" != xno; then | |
| 2230 ssl_msg= | |
| 2231 | |
| 2232 if test X"$OPT_WOLFSSL" != Xno; then | |
| 2233 | |
| 2234 if test "$OPT_WOLFSSL" = "yes"; then | |
| 2235 OPT_WOLFSSL="" | |
| 2236 fi | |
| 2237 | |
| 2238 dnl This should be reworked to use pkg-config instead | |
| 2239 | |
| 2240 cyassllibname=cyassl | |
| 2241 | |
| 2242 if test -z "$OPT_WOLFSSL" ; then | |
| 2243 dnl check for lib in system default first | |
| 2244 | |
| 2245 AC_CHECK_LIB(cyassl, CyaSSL_Init, | |
| 2246 dnl libcyassl found, set the variable | |
| 2247 [ | |
| 2248 AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled]) | |
| 2249 AC_SUBST(USE_WOLFSSL, [1]) | |
| 2250 WOLFSSL_ENABLED=1 | |
| 2251 USE_WOLFSSL="yes" | |
| 2252 ssl_msg="CyaSSL" | |
| 2253 test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2254 ]) | |
| 2255 fi | |
| 2256 | |
| 2257 addld="" | |
| 2258 addlib="" | |
| 2259 addcflags="" | |
| 2260 cyassllib="" | |
| 2261 | |
| 2262 if test "x$USE_WOLFSSL" != "xyes"; then | |
| 2263 dnl add the path and test again | |
| 2264 addld=-L$OPT_WOLFSSL/lib$libsuff | |
| 2265 addcflags=-I$OPT_WOLFSSL/include | |
| 2266 cyassllib=$OPT_WOLFSSL/lib$libsuff | |
| 2267 | |
| 2268 LDFLAGS="$LDFLAGS $addld" | |
| 2269 if test "$addcflags" != "-I/usr/include"; then | |
| 2270 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2271 fi | |
| 2272 | |
| 2273 AC_CHECK_LIB(cyassl, CyaSSL_Init, | |
| 2274 [ | |
| 2275 AC_DEFINE(USE_WOLFSSL, 1, [if CyaSSL is enabled]) | |
| 2276 AC_SUBST(USE_WOLFSSL, [1]) | |
| 2277 WOLFSSL_ENABLED=1 | |
| 2278 USE_WOLFSSL="yes" | |
| 2279 ssl_msg="CyaSSL" | |
| 2280 test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2281 ], | |
| 2282 [ | |
| 2283 CPPFLAGS=$_cppflags | |
| 2284 LDFLAGS=$_ldflags | |
| 2285 cyassllib="" | |
| 2286 ]) | |
| 2287 fi | |
| 2288 | |
| 2289 addld="" | |
| 2290 addlib="" | |
| 2291 addcflags="" | |
| 2292 | |
| 2293 if test "x$USE_WOLFSSL" != "xyes"; then | |
| 2294 dnl libcyassl renamed to libwolfssl as of 3.4.0 | |
| 2295 addld=-L$OPT_WOLFSSL/lib$libsuff | |
| 2296 addcflags=-I$OPT_WOLFSSL/include | |
| 2297 cyassllib=$OPT_WOLFSSL/lib$libsuff | |
| 2298 | |
| 2299 LDFLAGS="$LDFLAGS $addld" | |
| 2300 if test "$addcflags" != "-I/usr/include"; then | |
| 2301 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2302 fi | |
| 2303 | |
| 2304 cyassllibname=wolfssl | |
| 2305 my_ac_save_LIBS="$LIBS" | |
| 2306 LIBS="-l$cyassllibname -lm $LIBS" | |
| 2307 | |
| 2308 AC_MSG_CHECKING([for CyaSSL_Init in -lwolfssl]) | |
| 2309 AC_LINK_IFELSE([ | |
| 2310 AC_LANG_PROGRAM([[ | |
| 2311 /* These aren't needed for detection and confuse WolfSSL. | |
| 2312 They are set up properly later if it is detected. */ | |
| 2313 #undef SIZEOF_LONG | |
| 2314 #undef SIZEOF_LONG_LONG | |
| 2315 #include <cyassl/ssl.h> | |
| 2316 ]],[[ | |
| 2317 return CyaSSL_Init(); | |
| 2318 ]]) | |
| 2319 ],[ | |
| 2320 AC_MSG_RESULT(yes) | |
| 2321 AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled]) | |
| 2322 AC_SUBST(USE_WOLFSSL, [1]) | |
| 2323 WOLFSSL_ENABLED=1 | |
| 2324 USE_WOLFSSL="yes" | |
| 2325 ssl_msg="WolfSSL" | |
| 2326 test cyassl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2327 ], | |
| 2328 [ | |
| 2329 AC_MSG_RESULT(no) | |
| 2330 CPPFLAGS=$_cppflags | |
| 2331 LDFLAGS=$_ldflags | |
| 2332 cyassllib="" | |
| 2333 ]) | |
| 2334 LIBS="$my_ac_save_LIBS" | |
| 2335 fi | |
| 2336 | |
| 2337 if test "x$USE_WOLFSSL" = "xyes"; then | |
| 2338 AC_MSG_NOTICE([detected $cyassllibname]) | |
| 2339 check_for_ca_bundle=1 | |
| 2340 | |
| 2341 dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined! | |
| 2342 AX_COMPILE_CHECK_SIZEOF(long long) | |
| 2343 | |
| 2344 LIBS="-l$cyassllibname -lm $LIBS" | |
| 2345 | |
| 2346 dnl Recent WolfSSL versions build without SSLv3 by default | |
| 2347 dnl WolfSSL needs configure --enable-opensslextra to have *get_peer* | |
| 2348 AC_CHECK_FUNCS(wolfSSLv3_client_method \ | |
| 2349 wolfSSL_get_peer_certificate \ | |
| 2350 wolfSSL_UseALPN) | |
| 2351 | |
| 2352 if test -n "$cyassllib"; then | |
| 2353 dnl when shared libs were found in a path that the run-time | |
| 2354 dnl linker doesn't search through, we need to add it to | |
| 2355 dnl CURL_LIBRARY_PATH to prevent further configure tests to fail | |
| 2356 dnl due to this | |
| 2357 if test "x$cross_compiling" != "xyes"; then | |
| 2358 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$cyassllib" | |
| 2359 export CURL_LIBRARY_PATH | |
| 2360 AC_MSG_NOTICE([Added $cyassllib to CURL_LIBRARY_PATH]) | |
| 2361 fi | |
| 2362 fi | |
| 2363 | |
| 2364 fi | |
| 2365 | |
| 2366 fi dnl wolfSSL not disabled | |
| 2367 | |
| 2368 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 2369 fi | |
| 2370 | |
| 2371 dnl ---------------------------------------------------- | |
| 2372 dnl check for MesaLink | |
| 2373 dnl ---------------------------------------------------- | |
| 2374 | |
| 2375 dnl Default to compiler & linker defaults for MesaLink files & libraries. | |
| 2376 OPT_MESALINK=no | |
| 2377 | |
| 2378 _cppflags=$CPPFLAGS | |
| 2379 _ldflags=$LDFLAGS | |
| 2380 AC_ARG_WITH(mesalink,dnl | |
| 2381 AC_HELP_STRING([--with-mesalink=PATH],[where to look for MesaLink, PATH points to the installation root]) | |
| 2382 AC_HELP_STRING([--without-mesalink], [disable MesaLink detection]), | |
| 2383 OPT_MESALINK=$withval) | |
| 2384 | |
| 2385 if test -z "$ssl_backends" -o "x$OPT_MESALINK" != xno; then | |
| 2386 ssl_msg= | |
| 2387 | |
| 2388 if test X"$OPT_MESALINK" != Xno; then | |
| 2389 | |
| 2390 if test "$OPT_MESALINK" = "yes"; then | |
| 2391 OPT_MESALINK="" | |
| 2392 fi | |
| 2393 | |
| 2394 if test -z "$OPT_MESALINK" ; then | |
| 2395 dnl check for lib first without setting any new path | |
| 2396 | |
| 2397 AC_CHECK_LIB(mesalink, mesalink_library_init, | |
| 2398 dnl libmesalink found, set the variable | |
| 2399 [ | |
| 2400 AC_DEFINE(USE_MESALINK, 1, [if MesaLink is enabled]) | |
| 2401 AC_SUBST(USE_MESALINK, [1]) | |
| 2402 MESALINK_ENABLED=1 | |
| 2403 USE_MESALINK="yes" | |
| 2404 ssl_msg="MesaLink" | |
| 2405 test mesalink != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2406 ]) | |
| 2407 fi | |
| 2408 | |
| 2409 addld="" | |
| 2410 addlib="" | |
| 2411 addcflags="" | |
| 2412 mesalinklib="" | |
| 2413 | |
| 2414 if test "x$USE_MESALINK" != "xyes"; then | |
| 2415 dnl add the path and test again | |
| 2416 addld=-L$OPT_MESALINK/lib$libsuff | |
| 2417 addcflags=-I$OPT_MESALINK/include | |
| 2418 mesalinklib=$OPT_MESALINK/lib$libsuff | |
| 2419 | |
| 2420 LDFLAGS="$LDFLAGS $addld" | |
| 2421 if test "$addcflags" != "-I/usr/include"; then | |
| 2422 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2423 fi | |
| 2424 | |
| 2425 AC_CHECK_LIB(mesalink, mesalink_library_init, | |
| 2426 [ | |
| 2427 AC_DEFINE(USE_MESALINK, 1, [if MesaLink is enabled]) | |
| 2428 AC_SUBST(USE_MESALINK, [1]) | |
| 2429 MESALINK_ENABLED=1 | |
| 2430 USE_MESALINK="yes" | |
| 2431 ssl_msg="MesaLink" | |
| 2432 test mesalink != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2433 ], | |
| 2434 [ | |
| 2435 CPPFLAGS=$_cppflags | |
| 2436 LDFLAGS=$_ldflags | |
| 2437 ]) | |
| 2438 fi | |
| 2439 | |
| 2440 if test "x$USE_MESALINK" = "xyes"; then | |
| 2441 AC_MSG_NOTICE([detected MesaLink]) | |
| 2442 | |
| 2443 LIBS="-lmesalink $LIBS" | |
| 2444 | |
| 2445 if test -n "$mesalinklib"; then | |
| 2446 dnl when shared libs were found in a path that the run-time | |
| 2447 dnl linker doesn't search through, we need to add it to | |
| 2448 dnl LD_LIBRARY_PATH to prevent further configure tests to fail | |
| 2449 dnl due to this | |
| 2450 if test "x$cross_compiling" != "xyes"; then | |
| 2451 LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$mesalinklib" | |
| 2452 export LD_LIBRARY_PATH | |
| 2453 AC_MSG_NOTICE([Added $mesalinklib to LD_LIBRARY_PATH]) | |
| 2454 fi | |
| 2455 fi | |
| 2456 fi | |
| 2457 | |
| 2458 fi dnl MesaLink not disabled | |
| 2459 | |
| 2460 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 2461 fi | |
| 2462 | |
| 2463 dnl ---------------------------------------------------- | |
| 2464 dnl NSS. Only check if GnuTLS and OpenSSL are not enabled | |
| 2465 dnl ---------------------------------------------------- | |
| 2466 | |
| 2467 dnl Default to compiler & linker defaults for NSS files & libraries. | |
| 2468 OPT_NSS=no | |
| 2469 | |
| 2470 AC_ARG_WITH(nss,dnl | |
| 2471 AC_HELP_STRING([--with-nss=PATH],[where to look for NSS, PATH points to the installation root]) | |
| 2472 AC_HELP_STRING([--without-nss], [disable NSS detection]), | |
| 2473 OPT_NSS=$withval) | |
| 2474 | |
| 2475 if test -z "$ssl_backends" -o "x$OPT_NSS" != xno; then | |
| 2476 ssl_msg= | |
| 2477 | |
| 2478 if test X"$OPT_NSS" != Xno; then | |
| 2479 | |
| 2480 addld="" | |
| 2481 addlib="" | |
| 2482 addcflags="" | |
| 2483 nssprefix="" | |
| 2484 version="" | |
| 2485 | |
| 2486 if test "x$OPT_NSS" = "xyes"; then | |
| 2487 | |
| 2488 CURL_CHECK_PKGCONFIG(nss) | |
| 2489 | |
| 2490 if test "$PKGCONFIG" != "no" ; then | |
| 2491 addlib=`$PKGCONFIG --libs nss` | |
| 2492 addcflags=`$PKGCONFIG --cflags nss` | |
| 2493 version=`$PKGCONFIG --modversion nss` | |
| 2494 nssprefix=`$PKGCONFIG --variable=prefix nss` | |
| 2495 else | |
| 2496 dnl Without pkg-config, we check for nss-config | |
| 2497 | |
| 2498 check=`nss-config --version 2>/dev/null` | |
| 2499 if test -n "$check"; then | |
| 2500 addlib=`nss-config --libs` | |
| 2501 addcflags=`nss-config --cflags` | |
| 2502 version=`nss-config --version` | |
| 2503 nssprefix=`nss-config --prefix` | |
| 2504 else | |
| 2505 addlib="-lnss3" | |
| 2506 addcflags="" | |
| 2507 version="unknown" | |
| 2508 fi | |
| 2509 fi | |
| 2510 else | |
| 2511 NSS_PCDIR="$OPT_NSS/lib/pkgconfig" | |
| 2512 if test -f "$NSS_PCDIR/nss.pc"; then | |
| 2513 CURL_CHECK_PKGCONFIG(nss, [$NSS_PCDIR]) | |
| 2514 if test "$PKGCONFIG" != "no" ; then | |
| 2515 addld=`CURL_EXPORT_PCDIR([$NSS_PCDIR]) $PKGCONFIG --libs-only-L nss` | |
| 2516 addlib=`CURL_EXPORT_PCDIR([$NSS_PCDIR]) $PKGCONFIG --libs-only-l nss` | |
| 2517 addcflags=`CURL_EXPORT_PCDIR([$NSS_PCDIR]) $PKGCONFIG --cflags nss` | |
| 2518 version=`CURL_EXPORT_PCDIR([$NSS_PCDIR]) $PKGCONFIG --modversion nss` | |
| 2519 nssprefix=`CURL_EXPORT_PCDIR([$NSS_PCDIR]) $PKGCONFIG --variable=prefix nss` | |
| 2520 fi | |
| 2521 fi | |
| 2522 fi | |
| 2523 | |
| 2524 if test -z "$addlib"; then | |
| 2525 # Without pkg-config, we'll kludge in some defaults | |
| 2526 AC_MSG_WARN([Using hard-wired libraries and compilation flags for NSS.]) | |
| 2527 addld="-L$OPT_NSS/lib" | |
| 2528 addlib="-lssl3 -lsmime3 -lnss3 -lplds4 -lplc4 -lnspr4" | |
| 2529 addcflags="-I$OPT_NSS/include" | |
| 2530 version="unknown" | |
| 2531 nssprefix=$OPT_NSS | |
| 2532 fi | |
| 2533 | |
| 2534 CLEANLDFLAGS="$LDFLAGS" | |
| 2535 CLEANLIBS="$LIBS" | |
| 2536 CLEANCPPFLAGS="$CPPFLAGS" | |
| 2537 | |
| 2538 LDFLAGS="$addld $LDFLAGS" | |
| 2539 LIBS="$addlib $LIBS" | |
| 2540 if test "$addcflags" != "-I/usr/include"; then | |
| 2541 CPPFLAGS="$CPPFLAGS $addcflags" | |
| 2542 fi | |
| 2543 | |
| 2544 dnl The function SSL_VersionRangeSet() is needed to enable TLS > 1.0 | |
| 2545 AC_CHECK_LIB(nss3, SSL_VersionRangeSet, | |
| 2546 [ | |
| 2547 AC_DEFINE(USE_NSS, 1, [if NSS is enabled]) | |
| 2548 AC_SUBST(USE_NSS, [1]) | |
| 2549 USE_NSS="yes" | |
| 2550 NSS_ENABLED=1 | |
| 2551 ssl_msg="NSS" | |
| 2552 test nss != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes | |
| 2553 ], | |
| 2554 [ | |
| 2555 LDFLAGS="$CLEANLDFLAGS" | |
| 2556 LIBS="$CLEANLIBS" | |
| 2557 CPPFLAGS="$CLEANCPPFLAGS" | |
| 2558 ]) | |
| 2559 | |
| 2560 if test "x$USE_NSS" = "xyes"; then | |
| 2561 AC_MSG_NOTICE([detected NSS version $version]) | |
| 2562 | |
| 2563 dnl PK11_CreateManagedGenericObject() was introduced in NSS 3.34 because | |
| 2564 dnl PK11_DestroyGenericObject() does not release resources allocated by | |
| 2565 dnl PK11_CreateGenericObject() early enough. | |
| 2566 AC_CHECK_FUNC(PK11_CreateManagedGenericObject, | |
| 2567 [ | |
| 2568 AC_DEFINE(HAVE_PK11_CREATEMANAGEDGENERICOBJECT, 1, | |
| 2569 [if you have the PK11_CreateManagedGenericObject function]) | |
| 2570 ]) | |
| 2571 | |
| 2572 dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS | |
| 2573 NSS_LIBS=$addlib | |
| 2574 AC_SUBST([NSS_LIBS]) | |
| 2575 | |
| 2576 dnl when shared libs were found in a path that the run-time | |
| 2577 dnl linker doesn't search through, we need to add it to | |
| 2578 dnl CURL_LIBRARY_PATH to prevent further configure tests to fail | |
| 2579 dnl due to this | |
| 2580 if test "x$cross_compiling" != "xyes"; then | |
| 2581 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$nssprefix/lib$libsuff" | |
| 2582 export CURL_LIBRARY_PATH | |
| 2583 AC_MSG_NOTICE([Added $nssprefix/lib$libsuff to CURL_LIBRARY_PATH]) | |
| 2584 fi | |
| 2585 | |
| 2586 fi dnl NSS found | |
| 2587 | |
| 2588 fi dnl NSS not disabled | |
| 2589 | |
| 2590 test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg" | |
| 2591 fi | |
| 2592 | |
| 2593 case "x$OPENSSL_ENABLED$GNUTLS_ENABLED$NSS_ENABLED$MBEDTLS_ENABLED$WOLFSSL_ENABLED$WINSSL_ENABLED$SECURETRANSPORT_ENABLED$MESALINK_ENABLED$AMISSL_ENABLED" in | |
| 2594 x) | |
| 2595 AC_MSG_WARN([SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.]) | |
| 2596 AC_MSG_WARN([Use --with-ssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-mesalink or --with-amissl to address this.]) | |
| 2597 ;; | |
| 2598 x1) | |
| 2599 # one SSL backend is enabled | |
| 2600 AC_SUBST(SSL_ENABLED) | |
| 2601 SSL_ENABLED="1" | |
| 2602 AC_MSG_NOTICE([built with one SSL backend]) | |
| 2603 ;; | |
| 2604 *) | |
| 2605 # more than one SSL backend is enabled | |
| 2606 AC_SUBST(SSL_ENABLED) | |
| 2607 SSL_ENABLED="1" | |
| 2608 AC_SUBST(CURL_WITH_MULTI_SSL) | |
| 2609 CURL_WITH_MULTI_SSL="1" | |
| 2610 AC_DEFINE(CURL_WITH_MULTI_SSL, 1, [built with multiple SSL backends]) | |
| 2611 AC_MSG_NOTICE([built with multiple SSL backends]) | |
| 2612 ;; | |
| 2613 esac | |
| 2614 | |
| 2615 if test -n "$ssl_backends"; then | |
| 2616 curl_ssl_msg="enabled ($ssl_backends)" | |
| 2617 fi | |
| 2618 | |
| 2619 if test no = "$VALID_DEFAULT_SSL_BACKEND" | |
| 2620 then | |
| 2621 if test -n "$SSL_ENABLED" | |
| 2622 then | |
| 2623 AC_MSG_ERROR([Default SSL backend $DEFAULT_SSL_BACKEND not enabled!]) | |
| 2624 else | |
| 2625 AC_MSG_ERROR([Default SSL backend requires SSL!]) | |
| 2626 fi | |
| 2627 elif test yes = "$VALID_DEFAULT_SSL_BACKEND" | |
| 2628 then | |
| 2629 AC_DEFINE_UNQUOTED([CURL_DEFAULT_SSL_BACKEND], ["$DEFAULT_SSL_BACKEND"], [Default SSL backend]) | |
| 2630 fi | |
| 2631 | |
| 2632 dnl ********************************************************************** | |
| 2633 dnl Check for the CA bundle | |
| 2634 dnl ********************************************************************** | |
| 2635 | |
| 2636 if test -n "$check_for_ca_bundle"; then | |
| 2637 CURL_CHECK_CA_BUNDLE | |
| 2638 fi | |
| 2639 | |
| 2640 dnl ********************************************************************** | |
| 2641 dnl Check for libpsl | |
| 2642 dnl ********************************************************************** | |
| 2643 | |
| 2644 AC_ARG_WITH(libpsl, | |
| 2645 AS_HELP_STRING([--without-libpsl], | |
| 2646 [disable support for libpsl cookie checking]), | |
| 2647 with_libpsl=$withval, | |
| 2648 with_libpsl=yes) | |
| 2649 if test $with_libpsl != "no"; then | |
| 2650 AC_SEARCH_LIBS(psl_builtin, psl, | |
| 2651 [curl_psl_msg="enabled"; | |
| 2652 AC_DEFINE([USE_LIBPSL], [1], [PSL support enabled]) | |
| 2653 ], | |
| 2654 [curl_psl_msg="no (libpsl not found)"; | |
| 2655 AC_MSG_WARN([libpsl was not found]) | |
| 2656 ] | |
| 2657 ) | |
| 2658 fi | |
| 2659 AM_CONDITIONAL([USE_LIBPSL], [test "$curl_psl_msg" = "enabled"]) | |
| 2660 | |
| 2661 dnl ********************************************************************** | |
| 2662 dnl Check for libmetalink | |
| 2663 dnl ********************************************************************** | |
| 2664 | |
| 2665 OPT_LIBMETALINK=no | |
| 2666 | |
| 2667 AC_ARG_WITH(libmetalink,dnl | |
| 2668 AC_HELP_STRING([--with-libmetalink=PATH],[where to look for libmetalink, PATH points to the installation root]) | |
| 2669 AC_HELP_STRING([--without-libmetalink], [disable libmetalink detection]), | |
| 2670 OPT_LIBMETALINK=$withval) | |
| 2671 | |
| 2672 if test X"$OPT_LIBMETALINK" != Xno; then | |
| 2673 | |
| 2674 addld="" | |
| 2675 addlib="" | |
| 2676 addcflags="" | |
| 2677 version="" | |
| 2678 libmetalinklib="" | |
| 2679 | |
| 2680 PKGTEST="no" | |
| 2681 if test "x$OPT_LIBMETALINK" = "xyes"; then | |
| 2682 dnl this is with no partiular path given | |
| 2683 PKGTEST="yes" | |
| 2684 CURL_CHECK_PKGCONFIG(libmetalink) | |
| 2685 else | |
| 2686 dnl When particular path is given, set PKG_CONFIG_LIBDIR using the path. | |
| 2687 LIBMETALINK_PCDIR="$OPT_LIBMETALINK/lib/pkgconfig" | |
| 2688 AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$LIBMETALINK_PCDIR"]) | |
| 2689 if test -f "$LIBMETALINK_PCDIR/libmetalink.pc"; then | |
| 2690 PKGTEST="yes" | |
| 2691 fi | |
| 2692 if test "$PKGTEST" = "yes"; then | |
| 2693 CURL_CHECK_PKGCONFIG(libmetalink, [$LIBMETALINK_PCDIR]) | |
| 2694 fi | |
| 2695 fi | |
| 2696 if test "$PKGTEST" = "yes" && test "$PKGCONFIG" != "no"; then | |
| 2697 addlib=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl | |
| 2698 $PKGCONFIG --libs-only-l libmetalink` | |
| 2699 addld=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl | |
| 2700 $PKGCONFIG --libs-only-L libmetalink` | |
| 2701 addcflags=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl | |
| 2702 $PKGCONFIG --cflags-only-I libmetalink` | |
| 2703 version=`CURL_EXPORT_PCDIR([$LIBMETALINK_PCDIR]) dnl | |
| 2704 $PKGCONFIG --modversion libmetalink` | |
| 2705 libmetalinklib=`echo $addld | $SED -e 's/-L//'` | |
| 2706 fi | |
| 2707 if test -n "$addlib"; then | |
| 2708 | |
| 2709 clean_CPPFLAGS="$CPPFLAGS" | |
| 2710 clean_LDFLAGS="$LDFLAGS" | |
| 2711 clean_LIBS="$LIBS" | |
| 2712 CPPFLAGS="$clean_CPPFLAGS $addcflags" | |
| 2713 LDFLAGS="$clean_LDFLAGS $addld" | |
| 2714 LIBS="$addlib $clean_LIBS" | |
| 2715 AC_MSG_CHECKING([if libmetalink is recent enough]) | |
| 2716 AC_LINK_IFELSE([ | |
| 2717 AC_LANG_PROGRAM([[ | |
| 2718 # include <metalink/metalink.h> | |
| 2719 ]],[[ | |
| 2720 if(0 != metalink_strerror(0)) /* added in 0.1.0 */ | |
| 2721 return 1; | |
| 2722 ]]) | |
| 2723 ],[ | |
| 2724 AC_MSG_RESULT([yes ($version)]) | |
| 2725 want_metalink="yes" | |
| 2726 ],[ | |
| 2727 AC_MSG_RESULT([no ($version)]) | |
| 2728 AC_MSG_NOTICE([libmetalink library defective or too old]) | |
| 2729 want_metalink="no" | |
| 2730 ]) | |
| 2731 CPPFLAGS="$clean_CPPFLAGS" | |
| 2732 LDFLAGS="$clean_LDFLAGS" | |
| 2733 LIBS="$clean_LIBS" | |
| 2734 if test "$want_metalink" = "yes"; then | |
| 2735 dnl finally libmetalink will be used | |
| 2736 AC_DEFINE(USE_METALINK, 1, [Define to enable metalink support]) | |
| 2737 LIBMETALINK_LIBS=$addlib | |
| 2738 LIBMETALINK_LDFLAGS=$addld | |
| 2739 LIBMETALINK_CPPFLAGS=$addcflags | |
| 2740 AC_SUBST([LIBMETALINK_LIBS]) | |
| 2741 AC_SUBST([LIBMETALINK_LDFLAGS]) | |
| 2742 AC_SUBST([LIBMETALINK_CPPFLAGS]) | |
| 2743 curl_mtlnk_msg="enabled" | |
| 2744 fi | |
| 2745 | |
| 2746 fi | |
| 2747 fi | |
| 2748 | |
| 2749 dnl ********************************************************************** | |
| 2750 dnl Check for the presence of LIBSSH2 libraries and headers | |
| 2751 dnl ********************************************************************** | |
| 2752 | |
| 2753 dnl Default to compiler & linker defaults for LIBSSH2 files & libraries. | |
| 2754 OPT_LIBSSH2=off | |
| 2755 AC_ARG_WITH(libssh2,dnl | |
| 2756 AC_HELP_STRING([--with-libssh2=PATH],[Where to look for libssh2, PATH points to the LIBSSH2 installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) | |
| 2757 AC_HELP_STRING([--with-libssh2], [enable LIBSSH2]), | |
| 2758 OPT_LIBSSH2=$withval, OPT_LIBSSH2=no) | |
| 2759 | |
| 2760 | |
| 2761 OPT_LIBSSH=off | |
| 2762 AC_ARG_WITH(libssh,dnl | |
| 2763 AC_HELP_STRING([--with-libssh=PATH],[Where to look for libssh, PATH points to the LIBSSH installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) | |
| 2764 AC_HELP_STRING([--with-libssh], [enable LIBSSH]), | |
| 2765 OPT_LIBSSH=$withval, OPT_LIBSSH=no) | |
| 2766 | |
| 2767 if test X"$OPT_LIBSSH2" != Xno; then | |
| 2768 dnl backup the pre-libssh2 variables | |
| 2769 CLEANLDFLAGS="$LDFLAGS" | |
| 2770 CLEANCPPFLAGS="$CPPFLAGS" | |
| 2771 CLEANLIBS="$LIBS" | |
| 2772 | |
| 2773 case "$OPT_LIBSSH2" in | |
| 2774 yes) | |
| 2775 dnl --with-libssh2 (without path) used | |
| 2776 CURL_CHECK_PKGCONFIG(libssh2) | |
| 2777 | |
| 2778 if test "$PKGCONFIG" != "no" ; then | |
| 2779 LIB_SSH2=`$PKGCONFIG --libs libssh2` | |
| 2780 LD_SSH2=`$PKGCONFIG --libs-only-L libssh2` | |
| 2781 CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2` | |
| 2782 version=`$PKGCONFIG --modversion libssh2` | |
| 2783 DIR_SSH2=`echo $LD_SSH2 | $SED -e 's/-L//'` | |
| 2784 fi | |
| 2785 | |
| 2786 ;; | |
| 2787 off) | |
| 2788 dnl no --with-libssh2 option given, just check default places | |
| 2789 ;; | |
| 2790 *) | |
| 2791 dnl use the given --with-libssh2 spot | |
| 2792 PREFIX_SSH2=$OPT_LIBSSH2 | |
| 2793 ;; | |
| 2794 esac | |
| 2795 | |
| 2796 dnl if given with a prefix, we set -L and -I based on that | |
| 2797 if test -n "$PREFIX_SSH2"; then | |
| 2798 LIB_SSH2="-lssh2" | |
| 2799 LD_SSH2=-L${PREFIX_SSH2}/lib$libsuff | |
| 2800 CPP_SSH2=-I${PREFIX_SSH2}/include | |
| 2801 DIR_SSH2=${PREFIX_SSH2}/lib$libsuff | |
| 2802 fi | |
| 2803 | |
| 2804 LDFLAGS="$LDFLAGS $LD_SSH2" | |
| 2805 CPPFLAGS="$CPPFLAGS $CPP_SSH2" | |
| 2806 LIBS="$LIB_SSH2 $LIBS" | |
| 2807 | |
| 2808 AC_CHECK_LIB(ssh2, libssh2_channel_open_ex) | |
| 2809 | |
| 2810 AC_CHECK_HEADERS(libssh2.h, | |
| 2811 curl_ssh_msg="enabled (libSSH2)" | |
| 2812 LIBSSH2_ENABLED=1 | |
| 2813 AC_DEFINE(USE_LIBSSH2, 1, [if libSSH2 is in use]) | |
| 2814 AC_SUBST(USE_LIBSSH2, [1]) | |
| 2815 ) | |
| 2816 | |
| 2817 if test X"$OPT_LIBSSH2" != Xoff && | |
| 2818 test "$LIBSSH2_ENABLED" != "1"; then | |
| 2819 AC_MSG_ERROR([libSSH2 libs and/or directories were not found where specified!]) | |
| 2820 fi | |
| 2821 | |
| 2822 if test "$LIBSSH2_ENABLED" = "1"; then | |
| 2823 if test -n "$DIR_SSH2"; then | |
| 2824 dnl when the libssh2 shared libs were found in a path that the run-time | |
| 2825 dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH | |
| 2826 dnl to prevent further configure tests to fail due to this | |
| 2827 | |
| 2828 if test "x$cross_compiling" != "xyes"; then | |
| 2829 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH2" | |
| 2830 export CURL_LIBRARY_PATH | |
| 2831 AC_MSG_NOTICE([Added $DIR_SSH2 to CURL_LIBRARY_PATH]) | |
| 2832 fi | |
| 2833 fi | |
| 2834 else | |
| 2835 dnl no libssh2, revert back to clean variables | |
| 2836 LDFLAGS=$CLEANLDFLAGS | |
| 2837 CPPFLAGS=$CLEANCPPFLAGS | |
| 2838 LIBS=$CLEANLIBS | |
| 2839 fi | |
| 2840 elif test X"$OPT_LIBSSH" != Xno; then | |
| 2841 dnl backup the pre-libssh variables | |
| 2842 CLEANLDFLAGS="$LDFLAGS" | |
| 2843 CLEANCPPFLAGS="$CPPFLAGS" | |
| 2844 CLEANLIBS="$LIBS" | |
| 2845 | |
| 2846 case "$OPT_LIBSSH" in | |
| 2847 yes) | |
| 2848 dnl --with-libssh (without path) used | |
| 2849 CURL_CHECK_PKGCONFIG(libssh) | |
| 2850 | |
| 2851 if test "$PKGCONFIG" != "no" ; then | |
| 2852 LIB_SSH=`$PKGCONFIG --libs-only-l libssh` | |
| 2853 LD_SSH=`$PKGCONFIG --libs-only-L libssh` | |
| 2854 CPP_SSH=`$PKGCONFIG --cflags-only-I libssh` | |
| 2855 version=`$PKGCONFIG --modversion libssh` | |
| 2856 DIR_SSH=`echo $LD_SSH | $SED -e 's/-L//'` | |
| 2857 fi | |
| 2858 | |
| 2859 ;; | |
| 2860 off) | |
| 2861 dnl no --with-libssh option given, just check default places | |
| 2862 ;; | |
| 2863 *) | |
| 2864 dnl use the given --with-libssh spot | |
| 2865 PREFIX_SSH=$OPT_LIBSSH | |
| 2866 ;; | |
| 2867 esac | |
| 2868 | |
| 2869 dnl if given with a prefix, we set -L and -I based on that | |
| 2870 if test -n "$PREFIX_SSH"; then | |
| 2871 LIB_SSH="-lssh" | |
| 2872 LD_SSH=-L${PREFIX_SSH}/lib$libsuff | |
| 2873 CPP_SSH=-I${PREFIX_SSH}/include | |
| 2874 DIR_SSH=${PREFIX_SSH}/lib$libsuff | |
| 2875 fi | |
| 2876 | |
| 2877 LDFLAGS="$LDFLAGS $LD_SSH" | |
| 2878 CPPFLAGS="$CPPFLAGS $CPP_SSH" | |
| 2879 LIBS="$LIB_SSH $LIBS" | |
| 2880 | |
| 2881 AC_CHECK_LIB(ssh, ssh_new) | |
| 2882 | |
| 2883 AC_CHECK_HEADERS(libssh/libssh.h, | |
| 2884 curl_ssh_msg="enabled (libSSH)" | |
| 2885 LIBSSH_ENABLED=1 | |
| 2886 AC_DEFINE(USE_LIBSSH, 1, [if libSSH is in use]) | |
| 2887 AC_SUBST(USE_LIBSSH, [1]) | |
| 2888 ) | |
| 2889 | |
| 2890 if test X"$OPT_LIBSSH" != Xoff && | |
| 2891 test "$LIBSSH_ENABLED" != "1"; then | |
| 2892 AC_MSG_ERROR([libSSH libs and/or directories were not found where specified!]) | |
| 2893 fi | |
| 2894 | |
| 2895 if test "$LIBSSH_ENABLED" = "1"; then | |
| 2896 if test -n "$DIR_SSH"; then | |
| 2897 dnl when the libssh shared libs were found in a path that the run-time | |
| 2898 dnl linker doesn't search through, we need to add it to CURL_LIBRARY_PATH | |
| 2899 dnl to prevent further configure tests to fail due to this | |
| 2900 | |
| 2901 if test "x$cross_compiling" != "xyes"; then | |
| 2902 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_SSH" | |
| 2903 export CURL_LIBRARY_PATH | |
| 2904 AC_MSG_NOTICE([Added $DIR_SSH to CURL_LIBRARY_PATH]) | |
| 2905 fi | |
| 2906 fi | |
| 2907 else | |
| 2908 dnl no libssh, revert back to clean variables | |
| 2909 LDFLAGS=$CLEANLDFLAGS | |
| 2910 CPPFLAGS=$CLEANCPPFLAGS | |
| 2911 LIBS=$CLEANLIBS | |
| 2912 fi | |
| 2913 fi | |
| 2914 | |
| 2915 dnl ********************************************************************** | |
| 2916 dnl Check for the presence of LIBRTMP libraries and headers | |
| 2917 dnl ********************************************************************** | |
| 2918 | |
| 2919 dnl Default to compiler & linker defaults for LIBRTMP files & libraries. | |
| 2920 OPT_LIBRTMP=off | |
| 2921 AC_ARG_WITH(librtmp,dnl | |
| 2922 AC_HELP_STRING([--with-librtmp=PATH],[Where to look for librtmp, PATH points to the LIBRTMP installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) | |
| 2923 AC_HELP_STRING([--without-librtmp], [disable LIBRTMP]), | |
| 2924 OPT_LIBRTMP=$withval) | |
| 2925 | |
| 2926 if test X"$OPT_LIBRTMP" != Xno; then | |
| 2927 dnl backup the pre-librtmp variables | |
| 2928 CLEANLDFLAGS="$LDFLAGS" | |
| 2929 CLEANCPPFLAGS="$CPPFLAGS" | |
| 2930 CLEANLIBS="$LIBS" | |
| 2931 | |
| 2932 case "$OPT_LIBRTMP" in | |
| 2933 yes) | |
| 2934 dnl --with-librtmp (without path) used | |
| 2935 CURL_CHECK_PKGCONFIG(librtmp) | |
| 2936 | |
| 2937 if test "$PKGCONFIG" != "no" ; then | |
| 2938 LIB_RTMP=`$PKGCONFIG --libs-only-l librtmp` | |
| 2939 LD_RTMP=`$PKGCONFIG --libs-only-L librtmp` | |
| 2940 CPP_RTMP=`$PKGCONFIG --cflags-only-I librtmp` | |
| 2941 version=`$PKGCONFIG --modversion librtmp` | |
| 2942 DIR_RTMP=`echo $LD_RTMP | $SED -e 's/-L//'` | |
| 2943 else | |
| 2944 dnl To avoid link errors, we do not allow --librtmp without | |
| 2945 dnl a pkgconfig file | |
| 2946 AC_MSG_ERROR([--librtmp was specified but could not find librtmp pkgconfig file.]) | |
| 2947 fi | |
| 2948 | |
| 2949 ;; | |
| 2950 off) | |
| 2951 dnl no --with-librtmp option given, just check default places | |
| 2952 LIB_RTMP="-lrtmp" | |
| 2953 ;; | |
| 2954 *) | |
| 2955 dnl use the given --with-librtmp spot | |
| 2956 LIB_RTMP="-lrtmp" | |
| 2957 PREFIX_RTMP=$OPT_LIBRTMP | |
| 2958 ;; | |
| 2959 esac | |
| 2960 | |
| 2961 dnl if given with a prefix, we set -L and -I based on that | |
| 2962 if test -n "$PREFIX_RTMP"; then | |
| 2963 LD_RTMP=-L${PREFIX_RTMP}/lib$libsuff | |
| 2964 CPP_RTMP=-I${PREFIX_RTMP}/include | |
| 2965 DIR_RTMP=${PREFIX_RTMP}/lib$libsuff | |
| 2966 fi | |
| 2967 | |
| 2968 LDFLAGS="$LDFLAGS $LD_RTMP" | |
| 2969 CPPFLAGS="$CPPFLAGS $CPP_RTMP" | |
| 2970 LIBS="$LIB_RTMP $LIBS" | |
| 2971 | |
| 2972 AC_CHECK_LIB(rtmp, RTMP_Init, | |
| 2973 [ | |
| 2974 AC_CHECK_HEADERS(librtmp/rtmp.h, | |
| 2975 curl_rtmp_msg="enabled (librtmp)" | |
| 2976 LIBRTMP_ENABLED=1 | |
| 2977 AC_DEFINE(USE_LIBRTMP, 1, [if librtmp is in use]) | |
| 2978 AC_SUBST(USE_LIBRTMP, [1]) | |
| 2979 ) | |
| 2980 ], | |
| 2981 dnl not found, revert back to clean variables | |
| 2982 LDFLAGS=$CLEANLDFLAGS | |
| 2983 CPPFLAGS=$CLEANCPPFLAGS | |
| 2984 LIBS=$CLEANLIBS | |
| 2985 ) | |
| 2986 | |
| 2987 if test X"$OPT_LIBRTMP" != Xoff && | |
| 2988 test "$LIBRTMP_ENABLED" != "1"; then | |
| 2989 AC_MSG_ERROR([librtmp libs and/or directories were not found where specified!]) | |
| 2990 fi | |
| 2991 | |
| 2992 fi | |
| 2993 | |
| 2994 dnl ********************************************************************** | |
| 2995 dnl Check for linker switch for versioned symbols | |
| 2996 dnl ********************************************************************** | |
| 2997 | |
| 2998 versioned_symbols_flavour= | |
| 2999 AC_MSG_CHECKING([whether versioned symbols are wanted]) | |
| 3000 AC_ARG_ENABLE(versioned-symbols, | |
| 3001 AC_HELP_STRING([--enable-versioned-symbols], [Enable versioned symbols in shared library]) | |
| 3002 AC_HELP_STRING([--disable-versioned-symbols], [Disable versioned symbols in shared library]), | |
| 3003 [ case "$enableval" in | |
| 3004 yes) AC_MSG_RESULT(yes) | |
| 3005 AC_MSG_CHECKING([if libraries can be versioned]) | |
| 3006 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script` | |
| 3007 if test -z "$GLD"; then | |
| 3008 AC_MSG_RESULT(no) | |
| 3009 AC_MSG_WARN([You need an ld version supporting the --version-script option]) | |
| 3010 else | |
| 3011 AC_MSG_RESULT(yes) | |
| 3012 if test "x$CURL_WITH_MULTI_SSL" = "x1"; then | |
| 3013 versioned_symbols_flavour="MULTISSL_" | |
| 3014 elif test "x$OPENSSL_ENABLED" = "x1"; then | |
| 3015 versioned_symbols_flavour="OPENSSL_" | |
| 3016 elif test "x$GNUTLS_ENABLED" = "x1"; then | |
| 3017 versioned_symbols_flavour="GNUTLS_" | |
| 3018 elif test "x$NSS_ENABLED" = "x1"; then | |
| 3019 versioned_symbols_flavour="NSS_" | |
| 3020 elif test "x$WOLFSSL_ENABLED" = "x1"; then | |
| 3021 versioned_symbols_flavour="WOLFSSL_" | |
| 3022 elif test "x$WINSSL_ENABLED" = "x1"; then | |
| 3023 versioned_symbols_flavour="SCHANNEL_" | |
| 3024 elif test "x$SECURETRANSPORT_ENABLED" = "x1"; then | |
| 3025 versioned_symbols_flavour="SECURE_TRANSPORT_" | |
| 3026 else | |
| 3027 versioned_symbols_flavour="" | |
| 3028 fi | |
| 3029 versioned_symbols="yes" | |
| 3030 fi | |
| 3031 ;; | |
| 3032 | |
| 3033 *) AC_MSG_RESULT(no) | |
| 3034 ;; | |
| 3035 esac | |
| 3036 ], [ | |
| 3037 AC_MSG_RESULT(no) | |
| 3038 ] | |
| 3039 ) | |
| 3040 | |
| 3041 AC_SUBST([CURL_LT_SHLIB_VERSIONED_FLAVOUR], | |
| 3042 ["$versioned_symbols_flavour"]) | |
| 3043 AM_CONDITIONAL([CURL_LT_SHLIB_USE_VERSIONED_SYMBOLS], | |
| 3044 [test "x$versioned_symbols" = 'xyes']) | |
| 3045 | |
| 3046 dnl ------------------------------------------------- | |
| 3047 dnl check winidn option before other IDN libraries | |
| 3048 dnl ------------------------------------------------- | |
| 3049 | |
| 3050 AC_MSG_CHECKING([whether to enable Windows native IDN (Windows native builds only)]) | |
| 3051 OPT_WINIDN="default" | |
| 3052 AC_ARG_WITH(winidn, | |
| 3053 AC_HELP_STRING([--with-winidn=PATH],[enable Windows native IDN]) | |
| 3054 AC_HELP_STRING([--without-winidn], [disable Windows native IDN]), | |
| 3055 OPT_WINIDN=$withval) | |
| 3056 case "$OPT_WINIDN" in | |
| 3057 no|default) | |
| 3058 dnl --without-winidn option used or configure option not specified | |
| 3059 want_winidn="no" | |
| 3060 AC_MSG_RESULT([no]) | |
| 3061 ;; | |
| 3062 yes) | |
| 3063 dnl --with-winidn option used without path | |
| 3064 want_winidn="yes" | |
| 3065 want_winidn_path="default" | |
| 3066 AC_MSG_RESULT([yes]) | |
| 3067 ;; | |
| 3068 *) | |
| 3069 dnl --with-winidn option used with path | |
| 3070 want_winidn="yes" | |
| 3071 want_winidn_path="$withval" | |
| 3072 AC_MSG_RESULT([yes ($withval)]) | |
| 3073 ;; | |
| 3074 esac | |
| 3075 | |
| 3076 if test "$want_winidn" = "yes"; then | |
| 3077 dnl winidn library support has been requested | |
| 3078 clean_CPPFLAGS="$CPPFLAGS" | |
| 3079 clean_LDFLAGS="$LDFLAGS" | |
| 3080 clean_LIBS="$LIBS" | |
| 3081 WINIDN_LIBS="-lnormaliz" | |
| 3082 WINIDN_CPPFLAGS="-DWINVER=0x0600" | |
| 3083 # | |
| 3084 if test "$want_winidn_path" != "default"; then | |
| 3085 dnl path has been specified | |
| 3086 dnl pkg-config not available or provides no info | |
| 3087 WINIDN_LDFLAGS="-L$want_winidn_path/lib$libsuff" | |
| 3088 WINIDN_CPPFLAGS="-I$want_winidn_path/include" | |
| 3089 WINIDN_DIR="$want_winidn_path/lib$libsuff" | |
| 3090 fi | |
| 3091 # | |
| 3092 CPPFLAGS="$CPPFLAGS $WINIDN_CPPFLAGS" | |
| 3093 LDFLAGS="$LDFLAGS $WINIDN_LDFLAGS" | |
| 3094 LIBS="$WINIDN_LIBS $LIBS" | |
| 3095 # | |
| 3096 AC_MSG_CHECKING([if IdnToUnicode can be linked]) | |
| 3097 AC_LINK_IFELSE([ | |
| 3098 AC_LANG_PROGRAM([[ | |
| 3099 #include <windows.h> | |
| 3100 ]],[[ | |
| 3101 IdnToUnicode(0, NULL, 0, NULL, 0); | |
| 3102 ]]) | |
| 3103 ],[ | |
| 3104 AC_MSG_RESULT([yes]) | |
| 3105 tst_links_winidn="yes" | |
| 3106 ],[ | |
| 3107 AC_MSG_RESULT([no]) | |
| 3108 tst_links_winidn="no" | |
| 3109 ]) | |
| 3110 # | |
| 3111 if test "$tst_links_winidn" = "yes"; then | |
| 3112 AC_DEFINE(USE_WIN32_IDN, 1, [Define to 1 if you have the `normaliz' (WinIDN) library (-lnormaliz).]) | |
| 3113 AC_DEFINE(WANT_IDN_PROTOTYPES, 1, [Define to 1 to provide own prototypes.]) | |
| 3114 AC_SUBST([IDN_ENABLED], [1]) | |
| 3115 curl_idn_msg="enabled (Windows-native)" | |
| 3116 else | |
| 3117 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled]) | |
| 3118 CPPFLAGS="$clean_CPPFLAGS" | |
| 3119 LDFLAGS="$clean_LDFLAGS" | |
| 3120 LIBS="$clean_LIBS" | |
| 3121 fi | |
| 3122 fi | |
| 3123 | |
| 3124 dnl ********************************************************************** | |
| 3125 dnl Check for the presence of IDN libraries and headers | |
| 3126 dnl ********************************************************************** | |
| 3127 | |
| 3128 AC_MSG_CHECKING([whether to build with libidn2]) | |
| 3129 OPT_IDN="default" | |
| 3130 AC_ARG_WITH(libidn2, | |
| 3131 AC_HELP_STRING([--with-libidn2=PATH],[Enable libidn2 usage]) | |
| 3132 AC_HELP_STRING([--without-libidn2],[Disable libidn2 usage]), | |
| 3133 [OPT_IDN=$withval]) | |
| 3134 case "$OPT_IDN" in | |
| 3135 no) | |
| 3136 dnl --without-libidn2 option used | |
| 3137 want_idn="no" | |
| 3138 AC_MSG_RESULT([no]) | |
| 3139 ;; | |
| 3140 default) | |
| 3141 dnl configure option not specified | |
| 3142 want_idn="yes" | |
| 3143 want_idn_path="default" | |
| 3144 AC_MSG_RESULT([(assumed) yes]) | |
| 3145 ;; | |
| 3146 yes) | |
| 3147 dnl --with-libidn2 option used without path | |
| 3148 want_idn="yes" | |
| 3149 want_idn_path="default" | |
| 3150 AC_MSG_RESULT([yes]) | |
| 3151 ;; | |
| 3152 *) | |
| 3153 dnl --with-libidn2 option used with path | |
| 3154 want_idn="yes" | |
| 3155 want_idn_path="$withval" | |
| 3156 AC_MSG_RESULT([yes ($withval)]) | |
| 3157 ;; | |
| 3158 esac | |
| 3159 | |
| 3160 if test "$want_idn" = "yes"; then | |
| 3161 dnl idn library support has been requested | |
| 3162 clean_CPPFLAGS="$CPPFLAGS" | |
| 3163 clean_LDFLAGS="$LDFLAGS" | |
| 3164 clean_LIBS="$LIBS" | |
| 3165 PKGCONFIG="no" | |
| 3166 # | |
| 3167 if test "$want_idn_path" != "default"; then | |
| 3168 dnl path has been specified | |
| 3169 IDN_PCDIR="$want_idn_path/lib$libsuff/pkgconfig" | |
| 3170 CURL_CHECK_PKGCONFIG(libidn2, [$IDN_PCDIR]) | |
| 3171 if test "$PKGCONFIG" != "no"; then | |
| 3172 IDN_LIBS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl | |
| 3173 $PKGCONFIG --libs-only-l libidn2 2>/dev/null` | |
| 3174 IDN_LDFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl | |
| 3175 $PKGCONFIG --libs-only-L libidn2 2>/dev/null` | |
| 3176 IDN_CPPFLAGS=`CURL_EXPORT_PCDIR([$IDN_PCDIR]) dnl | |
| 3177 $PKGCONFIG --cflags-only-I libidn2 2>/dev/null` | |
| 3178 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'` | |
| 3179 else | |
| 3180 dnl pkg-config not available or provides no info | |
| 3181 IDN_LIBS="-lidn2" | |
| 3182 IDN_LDFLAGS="-L$want_idn_path/lib$libsuff" | |
| 3183 IDN_CPPFLAGS="-I$want_idn_path/include" | |
| 3184 IDN_DIR="$want_idn_path/lib$libsuff" | |
| 3185 fi | |
| 3186 else | |
| 3187 dnl path not specified | |
| 3188 CURL_CHECK_PKGCONFIG(libidn2) | |
| 3189 if test "$PKGCONFIG" != "no"; then | |
| 3190 IDN_LIBS=`$PKGCONFIG --libs-only-l libidn2 2>/dev/null` | |
| 3191 IDN_LDFLAGS=`$PKGCONFIG --libs-only-L libidn2 2>/dev/null` | |
| 3192 IDN_CPPFLAGS=`$PKGCONFIG --cflags-only-I libidn2 2>/dev/null` | |
| 3193 IDN_DIR=`echo $IDN_LDFLAGS | $SED -e 's/-L//'` | |
| 3194 else | |
| 3195 dnl pkg-config not available or provides no info | |
| 3196 IDN_LIBS="-lidn2" | |
| 3197 fi | |
| 3198 fi | |
| 3199 # | |
| 3200 if test "$PKGCONFIG" != "no"; then | |
| 3201 AC_MSG_NOTICE([pkg-config: IDN_LIBS: "$IDN_LIBS"]) | |
| 3202 AC_MSG_NOTICE([pkg-config: IDN_LDFLAGS: "$IDN_LDFLAGS"]) | |
| 3203 AC_MSG_NOTICE([pkg-config: IDN_CPPFLAGS: "$IDN_CPPFLAGS"]) | |
| 3204 AC_MSG_NOTICE([pkg-config: IDN_DIR: "$IDN_DIR"]) | |
| 3205 else | |
| 3206 AC_MSG_NOTICE([IDN_LIBS: "$IDN_LIBS"]) | |
| 3207 AC_MSG_NOTICE([IDN_LDFLAGS: "$IDN_LDFLAGS"]) | |
| 3208 AC_MSG_NOTICE([IDN_CPPFLAGS: "$IDN_CPPFLAGS"]) | |
| 3209 AC_MSG_NOTICE([IDN_DIR: "$IDN_DIR"]) | |
| 3210 fi | |
| 3211 # | |
| 3212 CPPFLAGS="$CPPFLAGS $IDN_CPPFLAGS" | |
| 3213 LDFLAGS="$LDFLAGS $IDN_LDFLAGS" | |
| 3214 LIBS="$IDN_LIBS $LIBS" | |
| 3215 # | |
| 3216 AC_MSG_CHECKING([if idn2_lookup_ul can be linked]) | |
| 3217 AC_LINK_IFELSE([ | |
| 3218 AC_LANG_FUNC_LINK_TRY([idn2_lookup_ul]) | |
| 3219 ],[ | |
| 3220 AC_MSG_RESULT([yes]) | |
| 3221 tst_links_libidn="yes" | |
| 3222 ],[ | |
| 3223 AC_MSG_RESULT([no]) | |
| 3224 tst_links_libidn="no" | |
| 3225 ]) | |
| 3226 # | |
| 3227 AC_CHECK_HEADERS( idn2.h ) | |
| 3228 | |
| 3229 if test "$tst_links_libidn" = "yes"; then | |
| 3230 AC_DEFINE(HAVE_LIBIDN2, 1, [Define to 1 if you have the `idn2' library (-lidn2).]) | |
| 3231 dnl different versions of libidn have different setups of these: | |
| 3232 | |
| 3233 AC_SUBST([IDN_ENABLED], [1]) | |
| 3234 curl_idn_msg="enabled (libidn2)" | |
| 3235 if test -n "$IDN_DIR" -a "x$cross_compiling" != "xyes"; then | |
| 3236 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$IDN_DIR" | |
| 3237 export CURL_LIBRARY_PATH | |
| 3238 AC_MSG_NOTICE([Added $IDN_DIR to CURL_LIBRARY_PATH]) | |
| 3239 fi | |
| 3240 else | |
| 3241 AC_MSG_WARN([Cannot find libraries for IDN support: IDN disabled]) | |
| 3242 CPPFLAGS="$clean_CPPFLAGS" | |
| 3243 LDFLAGS="$clean_LDFLAGS" | |
| 3244 LIBS="$clean_LIBS" | |
| 3245 fi | |
| 3246 fi | |
| 3247 | |
| 3248 | |
| 3249 dnl Let's hope this split URL remains working: | |
| 3250 dnl https://www15.software.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/ \ | |
| 3251 dnl genprogc/thread_quick_ref.htm | |
| 3252 | |
| 3253 | |
| 3254 dnl ********************************************************************** | |
| 3255 dnl Check for nghttp2 | |
| 3256 dnl ********************************************************************** | |
| 3257 | |
| 3258 OPT_H2="yes" | |
| 3259 | |
| 3260 if test "x$disable_http" = "xyes"; then | |
| 3261 # without HTTP, nghttp2 is no use | |
| 3262 OPT_H2="no" | |
| 3263 fi | |
| 3264 | |
| 3265 AC_ARG_WITH(nghttp2, | |
| 3266 AC_HELP_STRING([--with-nghttp2=PATH],[Enable nghttp2 usage]) | |
| 3267 AC_HELP_STRING([--without-nghttp2],[Disable nghttp2 usage]), | |
| 3268 [OPT_H2=$withval]) | |
| 3269 case "$OPT_H2" in | |
| 3270 no) | |
| 3271 dnl --without-nghttp2 option used | |
| 3272 want_h2="no" | |
| 3273 ;; | |
| 3274 yes) | |
| 3275 dnl --with-nghttp2 option used without path | |
| 3276 want_h2="default" | |
| 3277 want_h2_path="" | |
| 3278 ;; | |
| 3279 *) | |
| 3280 dnl --with-nghttp2 option used with path | |
| 3281 want_h2="yes" | |
| 3282 want_h2_path="$withval/lib/pkgconfig" | |
| 3283 ;; | |
| 3284 esac | |
| 3285 | |
| 3286 curl_h2_msg="disabled (--with-nghttp2)" | |
| 3287 if test X"$want_h2" != Xno; then | |
| 3288 dnl backup the pre-nghttp2 variables | |
| 3289 CLEANLDFLAGS="$LDFLAGS" | |
| 3290 CLEANCPPFLAGS="$CPPFLAGS" | |
| 3291 CLEANLIBS="$LIBS" | |
| 3292 | |
| 3293 CURL_CHECK_PKGCONFIG(libnghttp2, $want_h2_path) | |
| 3294 | |
| 3295 if test "$PKGCONFIG" != "no" ; then | |
| 3296 LIB_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) | |
| 3297 $PKGCONFIG --libs-only-l libnghttp2` | |
| 3298 AC_MSG_NOTICE([-l is $LIB_H2]) | |
| 3299 | |
| 3300 CPP_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) dnl | |
| 3301 $PKGCONFIG --cflags-only-I libnghttp2` | |
| 3302 AC_MSG_NOTICE([-I is $CPP_H2]) | |
| 3303 | |
| 3304 LD_H2=`CURL_EXPORT_PCDIR([$want_h2_path]) | |
| 3305 $PKGCONFIG --libs-only-L libnghttp2` | |
| 3306 AC_MSG_NOTICE([-L is $LD_H2]) | |
| 3307 | |
| 3308 LDFLAGS="$LDFLAGS $LD_H2" | |
| 3309 CPPFLAGS="$CPPFLAGS $CPP_H2" | |
| 3310 LIBS="$LIB_H2 $LIBS" | |
| 3311 | |
| 3312 # use nghttp2_option_set_no_recv_client_magic to require nghttp2 | |
| 3313 # >= 1.0.0 | |
| 3314 AC_CHECK_LIB(nghttp2, nghttp2_option_set_no_recv_client_magic, | |
| 3315 [ | |
| 3316 AC_CHECK_HEADERS(nghttp2/nghttp2.h, | |
| 3317 curl_h2_msg="enabled (nghttp2)" | |
| 3318 NGHTTP2_ENABLED=1 | |
| 3319 AC_DEFINE(USE_NGHTTP2, 1, [if nghttp2 is in use]) | |
| 3320 AC_SUBST(USE_NGHTTP2, [1]) | |
| 3321 ) | |
| 3322 ], | |
| 3323 dnl not found, revert back to clean variables | |
| 3324 LDFLAGS=$CLEANLDFLAGS | |
| 3325 CPPFLAGS=$CLEANCPPFLAGS | |
| 3326 LIBS=$CLEANLIBS | |
| 3327 ) | |
| 3328 | |
| 3329 else | |
| 3330 dnl no nghttp2 pkg-config found, deal with it | |
| 3331 if test X"$want_h2" != Xdefault; then | |
| 3332 dnl To avoid link errors, we do not allow --with-nghttp2 without | |
| 3333 dnl a pkgconfig file | |
| 3334 AC_MSG_ERROR([--with-nghttp2 was specified but could not find libnghttp2 pkg-config file.]) | |
| 3335 fi | |
| 3336 fi | |
| 3337 | |
| 3338 fi | |
| 3339 | |
| 3340 dnl ********************************************************************** | |
| 3341 dnl Check for ngtcp2 (QUIC) | |
| 3342 dnl ********************************************************************** | |
| 3343 | |
| 3344 OPT_TCP2="yes" | |
| 3345 curl_h3_msg="disabled (--with-ngtcp2, --with-quiche)" | |
| 3346 | |
| 3347 if test "x$disable_http" = "xyes"; then | |
| 3348 # without HTTP, ngtcp2 is no use | |
| 3349 OPT_TCP2="no" | |
| 3350 fi | |
| 3351 | |
| 3352 AC_ARG_WITH(ngtcp2, | |
| 3353 AC_HELP_STRING([--with-ngtcp2=PATH],[Enable ngtcp2 usage]) | |
| 3354 AC_HELP_STRING([--without-ngtcp2],[Disable ngtcp2 usage]), | |
| 3355 [OPT_TCP2=$withval]) | |
| 3356 case "$OPT_TCP2" in | |
| 3357 no) | |
| 3358 dnl --without-ngtcp2 option used | |
| 3359 want_tcp2="no" | |
| 3360 ;; | |
| 3361 yes) | |
| 3362 dnl --with-ngtcp2 option used without path | |
| 3363 want_tcp2="default" | |
| 3364 want_tcp2_path="" | |
| 3365 ;; | |
| 3366 *) | |
| 3367 dnl --with-ngtcp2 option used with path | |
| 3368 want_tcp2="yes" | |
| 3369 want_tcp2_path="$withval/lib/pkgconfig" | |
| 3370 ;; | |
| 3371 esac | |
| 3372 | |
| 3373 curl_tcp2_msg="disabled (--with-ngtcp2)" | |
| 3374 if test X"$want_tcp2" != Xno; then | |
| 3375 dnl backup the pre-ngtcp2 variables | |
| 3376 CLEANLDFLAGS="$LDFLAGS" | |
| 3377 CLEANCPPFLAGS="$CPPFLAGS" | |
| 3378 CLEANLIBS="$LIBS" | |
| 3379 | |
| 3380 CURL_CHECK_PKGCONFIG(libngtcp2, $want_tcp2_path) | |
| 3381 | |
| 3382 if test "$PKGCONFIG" != "no" ; then | |
| 3383 LIB_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path]) | |
| 3384 $PKGCONFIG --libs-only-l libngtcp2` | |
| 3385 AC_MSG_NOTICE([-l is $LIB_TCP2]) | |
| 3386 | |
| 3387 CPP_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl | |
| 3388 $PKGCONFIG --cflags-only-I libngtcp2` | |
| 3389 AC_MSG_NOTICE([-I is $CPP_TCP2]) | |
| 3390 | |
| 3391 LD_TCP2=`CURL_EXPORT_PCDIR([$want_tcp2_path]) | |
| 3392 $PKGCONFIG --libs-only-L libngtcp2` | |
| 3393 AC_MSG_NOTICE([-L is $LD_TCP2]) | |
| 3394 | |
| 3395 LDFLAGS="$LDFLAGS $LD_TCP2" | |
| 3396 CPPFLAGS="$CPPFLAGS $CPP_TCP2" | |
| 3397 LIBS="$LIB_TCP2 $LIBS" | |
| 3398 | |
| 3399 if test "x$cross_compiling" != "xyes"; then | |
| 3400 DIR_TCP2=`echo $LD_TCP2 | $SED -e 's/-L//'` | |
| 3401 fi | |
| 3402 AC_CHECK_LIB(ngtcp2, ngtcp2_conn_client_new, | |
| 3403 [ | |
| 3404 AC_CHECK_HEADERS(ngtcp2/ngtcp2.h, | |
| 3405 NGTCP2_ENABLED=1 | |
| 3406 AC_DEFINE(USE_NGTCP2, 1, [if ngtcp2 is in use]) | |
| 3407 AC_SUBST(USE_NGTCP2, [1]) | |
| 3408 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_TCP2" | |
| 3409 export CURL_LIBRARY_PATH | |
| 3410 AC_MSG_NOTICE([Added $DIR_TCP2 to CURL_LIBRARY_PATH]) | |
| 3411 ) | |
| 3412 ], | |
| 3413 dnl not found, revert back to clean variables | |
| 3414 LDFLAGS=$CLEANLDFLAGS | |
| 3415 CPPFLAGS=$CLEANCPPFLAGS | |
| 3416 LIBS=$CLEANLIBS | |
| 3417 ) | |
| 3418 | |
| 3419 else | |
| 3420 dnl no ngtcp2 pkg-config found, deal with it | |
| 3421 if test X"$want_tcp2" != Xdefault; then | |
| 3422 dnl To avoid link errors, we do not allow --with-ngtcp2 without | |
| 3423 dnl a pkgconfig file | |
| 3424 AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2 pkg-config file.]) | |
| 3425 fi | |
| 3426 fi | |
| 3427 | |
| 3428 fi | |
| 3429 | |
| 3430 if test "x$NGTCP2_ENABLED" = "x1"; then | |
| 3431 dnl backup the pre-ngtcp2_crypto_openssl variables | |
| 3432 CLEANLDFLAGS="$LDFLAGS" | |
| 3433 CLEANCPPFLAGS="$CPPFLAGS" | |
| 3434 CLEANLIBS="$LIBS" | |
| 3435 | |
| 3436 CURL_CHECK_PKGCONFIG(libngtcp2_crypto_openssl, $want_tcp2_path) | |
| 3437 | |
| 3438 if test "$PKGCONFIG" != "no" ; then | |
| 3439 LIB_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) | |
| 3440 $PKGCONFIG --libs-only-l libngtcp2_crypto_openssl` | |
| 3441 AC_MSG_NOTICE([-l is $LIB_NGTCP2_CRYPTO_OPENSSL]) | |
| 3442 | |
| 3443 CPP_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) dnl | |
| 3444 $PKGCONFIG --cflags-only-I libngtcp2_crypto_openssl` | |
| 3445 AC_MSG_NOTICE([-I is $CPP_NGTCP2_CRYPTO_OPENSSL]) | |
| 3446 | |
| 3447 LD_NGTCP2_CRYPTO_OPENSSL=`CURL_EXPORT_PCDIR([$want_tcp2_path]) | |
| 3448 $PKGCONFIG --libs-only-L libngtcp2_crypto_openssl` | |
| 3449 AC_MSG_NOTICE([-L is $LD_NGTCP2_CRYPTO_OPENSSL]) | |
| 3450 | |
| 3451 LDFLAGS="$LDFLAGS $LD_NGTCP2_CRYPTO_OPENSSL" | |
| 3452 CPPFLAGS="$CPPFLAGS $CPP_NGTCP2_CRYPTO_OPENSSL" | |
| 3453 LIBS="$LIB_NGTCP2_CRYPTO_OPENSSL $LIBS" | |
| 3454 | |
| 3455 if test "x$cross_compiling" != "xyes"; then | |
| 3456 DIR_NGTCP2_CRYPTO_OPENSSL=`echo $LD_NGTCP2_CRYPTO_OPENSSL | $SED -e 's/-L//'` | |
| 3457 fi | |
| 3458 AC_CHECK_LIB(ngtcp2_crypto_openssl, ngtcp2_crypto_ctx_initial, | |
| 3459 [ | |
| 3460 AC_CHECK_HEADERS(ngtcp2/ngtcp2_crypto.h, | |
| 3461 NGTCP2_ENABLED=1 | |
| 3462 AC_DEFINE(USE_NGTCP2_CRYPTO_OPENSSL, 1, [if ngtcp2_crypto_openssl is in use]) | |
| 3463 AC_SUBST(USE_NGTCP2_CRYPTO_OPENSSL, [1]) | |
| 3464 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGTCP2_CRYPTO_OPENSSL" | |
| 3465 export CURL_LIBRARY_PATH | |
| 3466 AC_MSG_NOTICE([Added $DIR_NGTCP2_CRYPTO_OPENSSL to CURL_LIBRARY_PATH]) | |
| 3467 ) | |
| 3468 ], | |
| 3469 dnl not found, revert back to clean variables | |
| 3470 LDFLAGS=$CLEANLDFLAGS | |
| 3471 CPPFLAGS=$CLEANCPPFLAGS | |
| 3472 LIBS=$CLEANLIBS | |
| 3473 ) | |
| 3474 | |
| 3475 else | |
| 3476 dnl no ngtcp2_crypto_openssl pkg-config found, deal with it | |
| 3477 if test X"$want_tcp2" != Xdefault; then | |
| 3478 dnl To avoid link errors, we do not allow --with-ngtcp2 without | |
| 3479 dnl a pkgconfig file | |
| 3480 AC_MSG_ERROR([--with-ngtcp2 was specified but could not find ngtcp2_crypto_openssl pkg-config file.]) | |
| 3481 fi | |
| 3482 fi | |
| 3483 fi | |
| 3484 | |
| 3485 dnl ********************************************************************** | |
| 3486 dnl Check for nghttp3 (HTTP/3 with ngtcp2) | |
| 3487 dnl ********************************************************************** | |
| 3488 | |
| 3489 OPT_NGHTTP3="yes" | |
| 3490 | |
| 3491 if test "x$NGTCP2_ENABLED" = "x"; then | |
| 3492 # without ngtcp2, nghttp3 is of no use for us | |
| 3493 OPT_NGHTTP3="no" | |
| 3494 fi | |
| 3495 | |
| 3496 AC_ARG_WITH(nghttp3, | |
| 3497 AC_HELP_STRING([--with-nghttp3=PATH],[Enable nghttp3 usage]) | |
| 3498 AC_HELP_STRING([--without-nghttp3],[Disable nghttp3 usage]), | |
| 3499 [OPT_NGHTTP3=$withval]) | |
| 3500 case "$OPT_NGHTTP3" in | |
| 3501 no) | |
| 3502 dnl --without-nghttp3 option used | |
| 3503 want_nghttp3="no" | |
| 3504 ;; | |
| 3505 yes) | |
| 3506 dnl --with-nghttp3 option used without path | |
| 3507 want_nghttp3="default" | |
| 3508 want_nghttp3_path="" | |
| 3509 ;; | |
| 3510 *) | |
| 3511 dnl --with-nghttp3 option used with path | |
| 3512 want_nghttp3="yes" | |
| 3513 want_nghttp3_path="$withval/lib/pkgconfig" | |
| 3514 ;; | |
| 3515 esac | |
| 3516 | |
| 3517 curl_http3_msg="disabled (--with-nghttp3)" | |
| 3518 if test X"$want_nghttp3" != Xno; then | |
| 3519 dnl backup the pre-nghttp3 variables | |
| 3520 CLEANLDFLAGS="$LDFLAGS" | |
| 3521 CLEANCPPFLAGS="$CPPFLAGS" | |
| 3522 CLEANLIBS="$LIBS" | |
| 3523 | |
| 3524 CURL_CHECK_PKGCONFIG(libnghttp3, $want_nghttp3_path) | |
| 3525 | |
| 3526 if test "$PKGCONFIG" != "no" ; then | |
| 3527 LIB_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path]) | |
| 3528 $PKGCONFIG --libs-only-l libnghttp3` | |
| 3529 AC_MSG_NOTICE([-l is $LIB_NGHTTP3]) | |
| 3530 | |
| 3531 CPP_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path]) dnl | |
| 3532 $PKGCONFIG --cflags-only-I libnghttp3` | |
| 3533 AC_MSG_NOTICE([-I is $CPP_NGHTTP3]) | |
| 3534 | |
| 3535 LD_NGHTTP3=`CURL_EXPORT_PCDIR([$want_nghttp3_path]) | |
| 3536 $PKGCONFIG --libs-only-L libnghttp3` | |
| 3537 AC_MSG_NOTICE([-L is $LD_NGHTTP3]) | |
| 3538 | |
| 3539 LDFLAGS="$LDFLAGS $LD_NGHTTP3" | |
| 3540 CPPFLAGS="$CPPFLAGS $CPP_NGHTTP3" | |
| 3541 LIBS="$LIB_NGHTTP3 $LIBS" | |
| 3542 | |
| 3543 if test "x$cross_compiling" != "xyes"; then | |
| 3544 DIR_NGHTTP3=`echo $LD_NGHTTP3 | $SED -e 's/-L//'` | |
| 3545 fi | |
| 3546 AC_CHECK_LIB(nghttp3, nghttp3_conn_client_new, | |
| 3547 [ | |
| 3548 AC_CHECK_HEADERS(nghttp3/nghttp3.h, | |
| 3549 curl_h3_msg="enabled (ngtcp2 + nghttp3)" | |
| 3550 NGHTTP3_ENABLED=1 | |
| 3551 AC_DEFINE(USE_NGHTTP3, 1, [if nghttp3 is in use]) | |
| 3552 AC_SUBST(USE_NGHTTP3, [1]) | |
| 3553 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_NGHTTP3" | |
| 3554 export CURL_LIBRARY_PATH | |
| 3555 AC_MSG_NOTICE([Added $DIR_NGHTTP3 to CURL_LIBRARY_PATH]) | |
| 3556 experimental="$experimental HTTP3" | |
| 3557 ) | |
| 3558 ], | |
| 3559 dnl not found, revert back to clean variables | |
| 3560 LDFLAGS=$CLEANLDFLAGS | |
| 3561 CPPFLAGS=$CLEANCPPFLAGS | |
| 3562 LIBS=$CLEANLIBS | |
| 3563 ) | |
| 3564 | |
| 3565 else | |
| 3566 dnl no nghttp3 pkg-config found, deal with it | |
| 3567 if test X"$want_nghttp3" != Xdefault; then | |
| 3568 dnl To avoid link errors, we do not allow --with-nghttp3 without | |
| 3569 dnl a pkgconfig file | |
| 3570 AC_MSG_ERROR([--with-nghttp3 was specified but could not find nghttp3 pkg-config file.]) | |
| 3571 fi | |
| 3572 fi | |
| 3573 | |
| 3574 fi | |
| 3575 | |
| 3576 dnl ********************************************************************** | |
| 3577 dnl Check for quiche (QUIC) | |
| 3578 dnl ********************************************************************** | |
| 3579 | |
| 3580 OPT_QUICHE="yes" | |
| 3581 | |
| 3582 if test "x$disable_http" = "xyes" -o "x$USE_NGTCP" = "x1"; then | |
| 3583 # without HTTP or with ngtcp2, quiche is no use | |
| 3584 OPT_QUICHE="no" | |
| 3585 fi | |
| 3586 | |
| 3587 AC_ARG_WITH(quiche, | |
| 3588 AC_HELP_STRING([--with-quiche=PATH],[Enable quiche usage]) | |
| 3589 AC_HELP_STRING([--without-quiche],[Disable quiche usage]), | |
| 3590 [OPT_QUICHE=$withval]) | |
| 3591 case "$OPT_QUICHE" in | |
| 3592 no) | |
| 3593 dnl --without-quiche option used | |
| 3594 want_quiche="no" | |
| 3595 ;; | |
| 3596 yes) | |
| 3597 dnl --with-quiche option used without path | |
| 3598 want_quiche="default" | |
| 3599 want_quiche_path="" | |
| 3600 ;; | |
| 3601 *) | |
| 3602 dnl --with-quiche option used with path | |
| 3603 want_quiche="yes" | |
| 3604 want_quiche_path="$withval" | |
| 3605 ;; | |
| 3606 esac | |
| 3607 | |
| 3608 if test X"$want_quiche" != Xno; then | |
| 3609 dnl backup the pre-quiche variables | |
| 3610 CLEANLDFLAGS="$LDFLAGS" | |
| 3611 CLEANCPPFLAGS="$CPPFLAGS" | |
| 3612 CLEANLIBS="$LIBS" | |
| 3613 | |
| 3614 CURL_CHECK_PKGCONFIG(quiche, $want_quiche_path) | |
| 3615 | |
| 3616 if test "$PKGCONFIG" != "no" ; then | |
| 3617 LIB_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path]) | |
| 3618 $PKGCONFIG --libs-only-l quiche` | |
| 3619 AC_MSG_NOTICE([-l is $LIB_QUICHE]) | |
| 3620 | |
| 3621 CPP_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path]) dnl | |
| 3622 $PKGCONFIG --cflags-only-I quiche` | |
| 3623 AC_MSG_NOTICE([-I is $CPP_QUICHE]) | |
| 3624 | |
| 3625 LD_QUICHE=`CURL_EXPORT_PCDIR([$want_quiche_path]) | |
| 3626 $PKGCONFIG --libs-only-L quiche` | |
| 3627 AC_MSG_NOTICE([-L is $LD_QUICHE]) | |
| 3628 | |
| 3629 LDFLAGS="$LDFLAGS $LD_QUICHE" | |
| 3630 CPPFLAGS="$CPPFLAGS $CPP_QUICHE" | |
| 3631 LIBS="$LIB_QUICHE $LIBS" | |
| 3632 | |
| 3633 if test "x$cross_compiling" != "xyes"; then | |
| 3634 DIR_QUICHE=`echo $LD_QUICHE | $SED -e 's/-L//'` | |
| 3635 fi | |
| 3636 AC_CHECK_LIB(quiche, quiche_connect, | |
| 3637 [ | |
| 3638 AC_CHECK_HEADERS(quiche.h, | |
| 3639 experimental="$experimental HTTP3" | |
| 3640 AC_MSG_NOTICE([HTTP3 support is experimental]) | |
| 3641 curl_h3_msg="enabled (quiche)" | |
| 3642 QUICHE_ENABLED=1 | |
| 3643 AC_DEFINE(USE_QUICHE, 1, [if quiche is in use]) | |
| 3644 AC_SUBST(USE_QUICHE, [1]) | |
| 3645 CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$DIR_QUICHE" | |
| 3646 export CURL_LIBRARY_PATH | |
| 3647 AC_MSG_NOTICE([Added $DIR_QUICHE to CURL_LIBRARY_PATH]), | |
| 3648 ) | |
| 3649 ], | |
| 3650 dnl not found, revert back to clean variables | |
| 3651 LDFLAGS=$CLEANLDFLAGS | |
| 3652 CPPFLAGS=$CLEANCPPFLAGS | |
| 3653 LIBS=$CLEANLIBS | |
| 3654 ) | |
| 3655 else | |
| 3656 dnl no nghttp3 pkg-config found, deal with it | |
| 3657 if test X"$want_quiche" != Xdefault; then | |
| 3658 dnl To avoid link errors, we do not allow --with-nghttp3 without | |
| 3659 dnl a pkgconfig file | |
| 3660 AC_MSG_ERROR([--with-quiche was specified but could not find quiche pkg-config file.]) | |
| 3661 fi | |
| 3662 fi | |
| 3663 fi | |
| 3664 | |
| 3665 dnl ********************************************************************** | |
| 3666 dnl Check for zsh completion path | |
| 3667 dnl ********************************************************************** | |
| 3668 | |
| 3669 OPT_ZSH_FPATH=default | |
| 3670 AC_ARG_WITH(zsh-functions-dir, | |
| 3671 AC_HELP_STRING([--with-zsh-functions-dir=PATH],[Install zsh completions to PATH]) | |
| 3672 AC_HELP_STRING([--without-zsh-functions-dir],[Do not install zsh completions]), | |
| 3673 [OPT_ZSH_FPATH=$withval]) | |
| 3674 case "$OPT_ZSH_FPATH" in | |
| 3675 no) | |
| 3676 dnl --without-zsh-functions-dir option used | |
| 3677 ;; | |
| 3678 default|yes) | |
| 3679 dnl --with-zsh-functions-dir option used without path | |
| 3680 ZSH_FUNCTIONS_DIR="$datarootdir/zsh/site-functions" | |
| 3681 AC_SUBST(ZSH_FUNCTIONS_DIR) | |
| 3682 ;; | |
| 3683 *) | |
| 3684 dnl --with-zsh-functions-dir option used with path | |
| 3685 ZSH_FUNCTIONS_DIR="$withval" | |
| 3686 AC_SUBST(ZSH_FUNCTIONS_DIR) | |
| 3687 ;; | |
| 3688 esac | |
| 3689 | |
| 3690 dnl ********************************************************************** | |
| 3691 dnl Check for fish completion path | |
| 3692 dnl ********************************************************************** | |
| 3693 | |
| 3694 OPT_FISH_FPATH=default | |
| 3695 AC_ARG_WITH(fish-functions-dir, | |
| 3696 AC_HELP_STRING([--with-fish-functions-dir=PATH],[Install fish completions to PATH]) | |
| 3697 AC_HELP_STRING([--without-fish-functions-dir],[Do not install fish completions]), | |
| 3698 [OPT_FISH_FPATH=$withval]) | |
| 3699 case "$OPT_FISH_FPATH" in | |
| 3700 no) | |
| 3701 dnl --without-fish-functions-dir option used | |
| 3702 ;; | |
| 3703 default|yes) | |
| 3704 dnl --with-fish-functions-dir option used without path | |
| 3705 CURL_CHECK_PKGCONFIG(fish) | |
| 3706 if test "$PKGCONFIG" != "no" ; then | |
| 3707 FISH_FUNCTIONS_DIR="$($PKGCONFIG --variable completionsdir fish)" | |
| 3708 else | |
| 3709 FISH_FUNCTIONS_DIR="$datarootdir/fish/vendor_completions.d" | |
| 3710 fi | |
| 3711 AC_SUBST(FISH_FUNCTIONS_DIR) | |
| 3712 ;; | |
| 3713 *) | |
| 3714 dnl --with-fish-functions-dir option used with path | |
| 3715 FISH_FUNCTIONS_DIR="$withval" | |
| 3716 AC_SUBST(FISH_FUNCTIONS_DIR) | |
| 3717 ;; | |
| 3718 esac | |
| 3719 | |
| 3720 dnl ********************************************************************** | |
| 3721 dnl Back to "normal" configuring | |
| 3722 dnl ********************************************************************** | |
| 3723 | |
| 3724 dnl Checks for header files. | |
| 3725 AC_HEADER_STDC | |
| 3726 | |
| 3727 CURL_CHECK_HEADER_MALLOC | |
| 3728 CURL_CHECK_HEADER_MEMORY | |
| 3729 | |
| 3730 dnl Now check for the very most basic headers. Then we can use these | |
| 3731 dnl ones as default-headers when checking for the rest! | |
| 3732 AC_CHECK_HEADERS( | |
| 3733 sys/types.h \ | |
| 3734 sys/time.h \ | |
| 3735 sys/select.h \ | |
| 3736 sys/socket.h \ | |
| 3737 sys/ioctl.h \ | |
| 3738 sys/uio.h \ | |
| 3739 assert.h \ | |
| 3740 unistd.h \ | |
| 3741 stdlib.h \ | |
| 3742 arpa/inet.h \ | |
| 3743 net/if.h \ | |
| 3744 netinet/in.h \ | |
| 3745 netinet/in6.h \ | |
| 3746 sys/un.h \ | |
| 3747 linux/tcp.h \ | |
| 3748 netinet/tcp.h \ | |
| 3749 netdb.h \ | |
| 3750 sys/sockio.h \ | |
| 3751 sys/stat.h \ | |
| 3752 sys/param.h \ | |
| 3753 termios.h \ | |
| 3754 termio.h \ | |
| 3755 sgtty.h \ | |
| 3756 fcntl.h \ | |
| 3757 alloca.h \ | |
| 3758 time.h \ | |
| 3759 io.h \ | |
| 3760 pwd.h \ | |
| 3761 utime.h \ | |
| 3762 sys/utime.h \ | |
| 3763 sys/poll.h \ | |
| 3764 poll.h \ | |
| 3765 socket.h \ | |
| 3766 sys/resource.h \ | |
| 3767 libgen.h \ | |
| 3768 locale.h \ | |
| 3769 errno.h \ | |
| 3770 stdbool.h \ | |
| 3771 arpa/tftp.h \ | |
| 3772 sys/filio.h \ | |
| 3773 sys/wait.h \ | |
| 3774 setjmp.h, | |
| 3775 dnl to do if not found | |
| 3776 [], | |
| 3777 dnl to do if found | |
| 3778 [], | |
| 3779 dnl default includes | |
| 3780 [ | |
| 3781 #ifdef HAVE_SYS_TYPES_H | |
| 3782 #include <sys/types.h> | |
| 3783 #endif | |
| 3784 #ifdef HAVE_SYS_TIME_H | |
| 3785 #include <sys/time.h> | |
| 3786 #endif | |
| 3787 #ifdef HAVE_SYS_SELECT_H | |
| 3788 #include <sys/select.h> | |
| 3789 #endif | |
| 3790 #ifdef HAVE_SYS_SOCKET_H | |
| 3791 #include <sys/socket.h> | |
| 3792 #endif | |
| 3793 #ifdef HAVE_NETINET_IN_H | |
| 3794 #include <netinet/in.h> | |
| 3795 #endif | |
| 3796 #ifdef HAVE_NETINET_IN6_H | |
| 3797 #include <netinet/in6.h> | |
| 3798 #endif | |
| 3799 #ifdef HAVE_SYS_UN_H | |
| 3800 #include <sys/un.h> | |
| 3801 #endif | |
| 3802 ] | |
| 3803 ) | |
| 3804 | |
| 3805 | |
| 3806 dnl Checks for typedefs, structures, and compiler characteristics. | |
| 3807 AC_C_CONST | |
| 3808 CURL_CHECK_VARIADIC_MACROS | |
| 3809 AC_TYPE_SIZE_T | |
| 3810 AC_HEADER_TIME | |
| 3811 CURL_CHECK_STRUCT_TIMEVAL | |
| 3812 CURL_VERIFY_RUNTIMELIBS | |
| 3813 | |
| 3814 AX_COMPILE_CHECK_SIZEOF(size_t) | |
| 3815 AX_COMPILE_CHECK_SIZEOF(long) | |
| 3816 AX_COMPILE_CHECK_SIZEOF(int) | |
| 3817 AX_COMPILE_CHECK_SIZEOF(short) | |
| 3818 AX_COMPILE_CHECK_SIZEOF(time_t) | |
| 3819 AX_COMPILE_CHECK_SIZEOF(off_t) | |
| 3820 | |
| 3821 o=$CPPFLAGS | |
| 3822 CPPFLAGS="-I$srcdir/include $CPPFLAGS" | |
| 3823 AX_COMPILE_CHECK_SIZEOF(curl_off_t, [ | |
| 3824 #include <curl/system.h> | |
| 3825 ]) | |
| 3826 CPPFLAGS=$o | |
| 3827 | |
| 3828 AC_CHECK_TYPE(long long, | |
| 3829 [AC_DEFINE(HAVE_LONGLONG, 1, | |
| 3830 [Define to 1 if the compiler supports the 'long long' data type.])] | |
| 3831 longlong="yes" | |
| 3832 ) | |
| 3833 | |
| 3834 if test "xyes" = "x$longlong"; then | |
| 3835 AC_MSG_CHECKING([if numberLL works]) | |
| 3836 AC_COMPILE_IFELSE([ | |
| 3837 AC_LANG_PROGRAM([[ | |
| 3838 ]],[[ | |
| 3839 long long val = 1000LL; | |
| 3840 ]]) | |
| 3841 ],[ | |
| 3842 AC_MSG_RESULT([yes]) | |
| 3843 AC_DEFINE(HAVE_LL, 1, [if your compiler supports LL]) | |
| 3844 ],[ | |
| 3845 AC_MSG_RESULT([no]) | |
| 3846 ]) | |
| 3847 fi | |
| 3848 | |
| 3849 | |
| 3850 # check for ssize_t | |
| 3851 AC_CHECK_TYPE(ssize_t, , | |
| 3852 AC_DEFINE(ssize_t, int, [the signed version of size_t])) | |
| 3853 | |
| 3854 # check for bool type | |
| 3855 AC_CHECK_TYPE([bool],[ | |
| 3856 AC_DEFINE(HAVE_BOOL_T, 1, | |
| 3857 [Define to 1 if bool is an available type.]) | |
| 3858 ], ,[ | |
| 3859 #ifdef HAVE_SYS_TYPES_H | |
| 3860 #include <sys/types.h> | |
| 3861 #endif | |
| 3862 #ifdef HAVE_STDBOOL_H | |
| 3863 #include <stdbool.h> | |
| 3864 #endif | |
| 3865 ]) | |
| 3866 | |
| 3867 # check for sa_family_t | |
| 3868 AC_CHECK_TYPE(sa_family_t, | |
| 3869 AC_DEFINE(CURL_SA_FAMILY_T, sa_family_t, [IP address type in sockaddr]), | |
| 3870 [ | |
| 3871 # The windows name? | |
| 3872 AC_CHECK_TYPE(ADDRESS_FAMILY, | |
| 3873 AC_DEFINE(CURL_SA_FAMILY_T, ADDRESS_FAMILY, [IP address type in sockaddr]), | |
| 3874 AC_DEFINE(CURL_SA_FAMILY_T, unsigned short, [IP address type in sockaddr]), | |
| 3875 [ | |
| 3876 #ifdef HAVE_SYS_SOCKET_H | |
| 3877 #include <sys/socket.h> | |
| 3878 #endif | |
| 3879 ]) | |
| 3880 ], | |
| 3881 [ | |
| 3882 #ifdef HAVE_SYS_SOCKET_H | |
| 3883 #include <sys/socket.h> | |
| 3884 #endif | |
| 3885 ]) | |
| 3886 | |
| 3887 AC_MSG_CHECKING([if time_t is unsigned]) | |
| 3888 CURL_RUN_IFELSE( | |
| 3889 [ | |
| 3890 #include <time.h> | |
| 3891 #include <limits.h> | |
| 3892 time_t t = -1; | |
| 3893 return (t > 0); | |
| 3894 ],[ | |
| 3895 AC_MSG_RESULT([yes]) | |
| 3896 AC_DEFINE(HAVE_TIME_T_UNSIGNED, 1, [Define this if time_t is unsigned]) | |
| 3897 ],[ | |
| 3898 AC_MSG_RESULT([no]) | |
| 3899 ],[ | |
| 3900 dnl cross-compiling, most systems are unsigned | |
| 3901 AC_MSG_RESULT([no]) | |
| 3902 ]) | |
| 3903 | |
| 3904 CURL_CONFIGURE_PULL_SYS_POLL | |
| 3905 | |
| 3906 TYPE_IN_ADDR_T | |
| 3907 | |
| 3908 TYPE_SOCKADDR_STORAGE | |
| 3909 | |
| 3910 TYPE_SIG_ATOMIC_T | |
| 3911 | |
| 3912 AC_TYPE_SIGNAL | |
| 3913 | |
| 3914 CURL_CHECK_FUNC_SELECT | |
| 3915 | |
| 3916 CURL_CHECK_FUNC_RECV | |
| 3917 CURL_CHECK_FUNC_SEND | |
| 3918 CURL_CHECK_MSG_NOSIGNAL | |
| 3919 | |
| 3920 CURL_CHECK_FUNC_ALARM | |
| 3921 CURL_CHECK_FUNC_BASENAME | |
| 3922 CURL_CHECK_FUNC_CLOSESOCKET | |
| 3923 CURL_CHECK_FUNC_CLOSESOCKET_CAMEL | |
| 3924 CURL_CHECK_FUNC_CONNECT | |
| 3925 CURL_CHECK_FUNC_FCNTL | |
| 3926 CURL_CHECK_FUNC_FREEADDRINFO | |
| 3927 CURL_CHECK_FUNC_FREEIFADDRS | |
| 3928 CURL_CHECK_FUNC_FSETXATTR | |
| 3929 CURL_CHECK_FUNC_FTRUNCATE | |
| 3930 CURL_CHECK_FUNC_GETADDRINFO | |
| 3931 CURL_CHECK_FUNC_GAI_STRERROR | |
| 3932 CURL_CHECK_FUNC_GETHOSTBYADDR | |
| 3933 CURL_CHECK_FUNC_GETHOSTBYADDR_R | |
| 3934 CURL_CHECK_FUNC_GETHOSTBYNAME | |
| 3935 CURL_CHECK_FUNC_GETHOSTBYNAME_R | |
| 3936 CURL_CHECK_FUNC_GETHOSTNAME | |
| 3937 CURL_CHECK_FUNC_GETPEERNAME | |
| 3938 CURL_CHECK_FUNC_GETSOCKNAME | |
| 3939 CURL_CHECK_FUNC_IF_NAMETOINDEX | |
| 3940 CURL_CHECK_FUNC_GETIFADDRS | |
| 3941 CURL_CHECK_FUNC_GETSERVBYPORT_R | |
| 3942 CURL_CHECK_FUNC_GMTIME_R | |
| 3943 CURL_CHECK_FUNC_INET_NTOA_R | |
| 3944 CURL_CHECK_FUNC_INET_NTOP | |
| 3945 CURL_CHECK_FUNC_INET_PTON | |
| 3946 CURL_CHECK_FUNC_IOCTL | |
| 3947 CURL_CHECK_FUNC_IOCTLSOCKET | |
| 3948 CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL | |
| 3949 CURL_CHECK_FUNC_LOCALTIME_R | |
| 3950 CURL_CHECK_FUNC_MEMRCHR | |
| 3951 CURL_CHECK_FUNC_POLL | |
| 3952 CURL_CHECK_FUNC_SETSOCKOPT | |
| 3953 CURL_CHECK_FUNC_SIGACTION | |
| 3954 CURL_CHECK_FUNC_SIGINTERRUPT | |
| 3955 CURL_CHECK_FUNC_SIGNAL | |
| 3956 CURL_CHECK_FUNC_SIGSETJMP | |
| 3957 CURL_CHECK_FUNC_SOCKET | |
| 3958 CURL_CHECK_FUNC_SOCKETPAIR | |
| 3959 CURL_CHECK_FUNC_STRCASECMP | |
| 3960 CURL_CHECK_FUNC_STRCMPI | |
| 3961 CURL_CHECK_FUNC_STRDUP | |
| 3962 CURL_CHECK_FUNC_STRERROR_R | |
| 3963 CURL_CHECK_FUNC_STRICMP | |
| 3964 CURL_CHECK_FUNC_STRNCASECMP | |
| 3965 CURL_CHECK_FUNC_STRNCMPI | |
| 3966 CURL_CHECK_FUNC_STRNICMP | |
| 3967 CURL_CHECK_FUNC_STRSTR | |
| 3968 CURL_CHECK_FUNC_STRTOK_R | |
| 3969 CURL_CHECK_FUNC_STRTOLL | |
| 3970 CURL_CHECK_FUNC_WRITEV | |
| 3971 | |
| 3972 case $host in | |
| 3973 *msdosdjgpp) | |
| 3974 ac_cv_func_pipe=no | |
| 3975 skipcheck_pipe=yes | |
| 3976 AC_MSG_NOTICE([skip check for pipe on msdosdjgpp]) | |
| 3977 ;; | |
| 3978 esac | |
| 3979 | |
| 3980 AC_CHECK_DECLS([getpwuid_r], [], [AC_DEFINE(HAVE_DECL_GETPWUID_R_MISSING, 1, "Set if getpwuid_r() declaration is missing")], | |
| 3981 [[#include <pwd.h> | |
| 3982 #include <sys/types.h>]]) | |
| 3983 | |
| 3984 | |
| 3985 AC_CHECK_FUNCS([fnmatch \ | |
| 3986 geteuid \ | |
| 3987 getpass_r \ | |
| 3988 getppid \ | |
| 3989 getpwuid \ | |
| 3990 getpwuid_r \ | |
| 3991 getrlimit \ | |
| 3992 gettimeofday \ | |
| 3993 if_nametoindex \ | |
| 3994 mach_absolute_time \ | |
| 3995 pipe \ | |
| 3996 setlocale \ | |
| 3997 setmode \ | |
| 3998 setrlimit \ | |
| 3999 usleep \ | |
| 4000 utime \ | |
| 4001 utimes | |
| 4002 ],[ | |
| 4003 ],[ | |
| 4004 func="$ac_func" | |
| 4005 eval skipcheck=\$skipcheck_$func | |
| 4006 if test "x$skipcheck" != "xyes"; then | |
| 4007 AC_MSG_CHECKING([deeper for $func]) | |
| 4008 AC_LINK_IFELSE([ | |
| 4009 AC_LANG_PROGRAM([[ | |
| 4010 ]],[[ | |
| 4011 $func (); | |
| 4012 ]]) | |
| 4013 ],[ | |
| 4014 AC_MSG_RESULT([yes]) | |
| 4015 eval "ac_cv_func_$func=yes" | |
| 4016 AC_DEFINE_UNQUOTED(XC_SH_TR_CPP([HAVE_$func]), [1], | |
| 4017 [Define to 1 if you have the $func function.]) | |
| 4018 ],[ | |
| 4019 AC_MSG_RESULT([but still no]) | |
| 4020 ]) | |
| 4021 fi | |
| 4022 ]) | |
| 4023 | |
| 4024 if test "$ipv6" = "yes"; then | |
| 4025 if test "$curl_cv_func_getaddrinfo" = "yes"; then | |
| 4026 AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support]) | |
| 4027 IPV6_ENABLED=1 | |
| 4028 AC_SUBST(IPV6_ENABLED) | |
| 4029 fi | |
| 4030 fi | |
| 4031 | |
| 4032 CURL_CHECK_NONBLOCKING_SOCKET | |
| 4033 | |
| 4034 dnl ************************************************************ | |
| 4035 dnl nroff tool stuff | |
| 4036 dnl | |
| 4037 | |
| 4038 AC_PATH_PROG( PERL, perl, , | |
| 4039 $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin ) | |
| 4040 AC_SUBST(PERL) | |
| 4041 | |
| 4042 AC_PATH_PROGS( NROFF, gnroff nroff, , | |
| 4043 $PATH:/usr/bin/:/usr/local/bin ) | |
| 4044 AC_SUBST(NROFF) | |
| 4045 | |
| 4046 if test -n "$NROFF"; then | |
| 4047 dnl only check for nroff options if an nroff command was found | |
| 4048 | |
| 4049 AC_MSG_CHECKING([how to use *nroff to get plain text from man pages]) | |
| 4050 MANOPT="-man" | |
| 4051 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null` | |
| 4052 if test -z "$mancheck"; then | |
| 4053 MANOPT="-mandoc" | |
| 4054 mancheck=`echo foo | $NROFF $MANOPT 2>/dev/null` | |
| 4055 if test -z "$mancheck"; then | |
| 4056 MANOPT="" | |
| 4057 AC_MSG_RESULT([failed]) | |
| 4058 AC_MSG_WARN([found no *nroff option to get plaintext from man pages]) | |
| 4059 else | |
| 4060 AC_MSG_RESULT([$MANOPT]) | |
| 4061 fi | |
| 4062 else | |
| 4063 AC_MSG_RESULT([$MANOPT]) | |
| 4064 fi | |
| 4065 AC_SUBST(MANOPT) | |
| 4066 fi | |
| 4067 | |
| 4068 if test -z "$MANOPT" | |
| 4069 then | |
| 4070 dnl if no nroff tool was found, or no option that could convert man pages | |
| 4071 dnl was found, then disable the built-in manual stuff | |
| 4072 AC_MSG_WARN([disabling built-in manual]) | |
| 4073 USE_MANUAL="no"; | |
| 4074 fi | |
| 4075 | |
| 4076 dnl ************************************************************************* | |
| 4077 dnl If the manual variable still is set, then we go with providing a built-in | |
| 4078 dnl manual | |
| 4079 | |
| 4080 if test "$USE_MANUAL" = "1"; then | |
| 4081 AC_DEFINE(USE_MANUAL, 1, [If you want to build curl with the built-in manual]) | |
| 4082 curl_manual_msg="enabled" | |
| 4083 fi | |
| 4084 | |
| 4085 dnl set variable for use in automakefile(s) | |
| 4086 AM_CONDITIONAL(USE_MANUAL, test x"$USE_MANUAL" = x1) | |
| 4087 | |
| 4088 CURL_CHECK_LIB_ARES | |
| 4089 AM_CONDITIONAL(USE_EMBEDDED_ARES, test x$embedded_ares = xyes) | |
| 4090 | |
| 4091 if test "x$curl_cv_native_windows" != "xyes" && | |
| 4092 test "x$enable_shared" = "xyes"; then | |
| 4093 build_libhostname=yes | |
| 4094 else | |
| 4095 build_libhostname=no | |
| 4096 fi | |
| 4097 AM_CONDITIONAL(BUILD_LIBHOSTNAME, test x$build_libhostname = xyes) | |
| 4098 | |
| 4099 if test "x$want_ares" != xyes; then | |
| 4100 CURL_CHECK_OPTION_THREADED_RESOLVER | |
| 4101 fi | |
| 4102 | |
| 4103 dnl ************************************************************ | |
| 4104 dnl disable POSIX threads | |
| 4105 dnl | |
| 4106 AC_MSG_CHECKING([whether to use POSIX threads for threaded resolver]) | |
| 4107 AC_ARG_ENABLE(pthreads, | |
| 4108 AC_HELP_STRING([--enable-pthreads], | |
| 4109 [Enable POSIX threads (default for threaded resolver)]) | |
| 4110 AC_HELP_STRING([--disable-pthreads],[Disable POSIX threads]), | |
| 4111 [ case "$enableval" in | |
| 4112 no) AC_MSG_RESULT(no) | |
| 4113 want_pthreads=no | |
| 4114 ;; | |
| 4115 *) AC_MSG_RESULT(yes) | |
| 4116 want_pthreads=yes | |
| 4117 ;; | |
| 4118 esac ], [ | |
| 4119 AC_MSG_RESULT(auto) | |
| 4120 want_pthreads=auto | |
| 4121 ] | |
| 4122 ) | |
| 4123 | |
| 4124 dnl turn off pthreads if rt is disabled | |
| 4125 if test "$want_pthreads" != "no"; then | |
| 4126 if test "$want_pthreads" = "yes" && test "$dontwant_rt" = "yes"; then | |
| 4127 AC_MSG_ERROR([options --enable-pthreads and --disable-rt are mutually exclusive]) | |
| 4128 fi | |
| 4129 if test "$dontwant_rt" != "no"; then | |
| 4130 dnl if --enable-pthreads was explicit then warn it's being ignored | |
| 4131 if test "$want_pthreads" = "yes"; then | |
| 4132 AC_MSG_WARN([--enable-pthreads Ignored since librt is disabled.]) | |
| 4133 fi | |
| 4134 want_pthreads=no | |
| 4135 fi | |
| 4136 fi | |
| 4137 | |
| 4138 dnl turn off pthreads if no threaded resolver | |
| 4139 if test "$want_pthreads" != "no" && test "$want_thres" != "yes"; then | |
| 4140 want_pthreads=no | |
| 4141 fi | |
| 4142 | |
| 4143 dnl detect pthreads | |
| 4144 if test "$want_pthreads" != "no"; then | |
| 4145 AC_CHECK_HEADER(pthread.h, | |
| 4146 [ AC_DEFINE(HAVE_PTHREAD_H, 1, [if you have <pthread.h>]) | |
| 4147 save_CFLAGS="$CFLAGS" | |
| 4148 | |
| 4149 dnl first check for function without lib | |
| 4150 AC_CHECK_FUNC(pthread_create, [USE_THREADS_POSIX=1] ) | |
| 4151 | |
| 4152 dnl on HPUX, life is more complicated... | |
| 4153 case $host in | |
| 4154 *-hp-hpux*) | |
| 4155 dnl it doesn't actually work without -lpthread | |
| 4156 USE_THREADS_POSIX="" | |
| 4157 ;; | |
| 4158 *) | |
| 4159 ;; | |
| 4160 esac | |
| 4161 | |
| 4162 dnl if it wasn't found without lib, search for it in pthread lib | |
| 4163 if test "$USE_THREADS_POSIX" != "1" | |
| 4164 then | |
| 4165 CFLAGS="$CFLAGS -pthread" | |
| 4166 AC_CHECK_LIB(pthread, pthread_create, | |
| 4167 [USE_THREADS_POSIX=1], | |
| 4168 [ CFLAGS="$save_CFLAGS"]) | |
| 4169 fi | |
| 4170 | |
| 4171 if test "x$USE_THREADS_POSIX" = "x1" | |
| 4172 then | |
| 4173 AC_DEFINE(USE_THREADS_POSIX, 1, [if you want POSIX threaded DNS lookup]) | |
| 4174 curl_res_msg="POSIX threaded" | |
| 4175 fi | |
| 4176 ]) | |
| 4177 fi | |
| 4178 | |
| 4179 dnl threaded resolver check | |
| 4180 if test "$want_thres" = "yes" && test "x$USE_THREADS_POSIX" != "x1"; then | |
| 4181 if test "$want_pthreads" = "yes"; then | |
| 4182 AC_MSG_ERROR([--enable-pthreads but pthreads was not found]) | |
| 4183 fi | |
| 4184 dnl If native Windows fallback on Win32 threads since no POSIX threads | |
| 4185 if test "$curl_cv_native_windows" = "yes"; then | |
| 4186 USE_THREADS_WIN32=1 | |
| 4187 AC_DEFINE(USE_THREADS_WIN32, 1, [if you want Win32 threaded DNS lookup]) | |
| 4188 curl_res_msg="Win32 threaded" | |
| 4189 else | |
| 4190 AC_MSG_ERROR([Threaded resolver enabled but no thread library found]) | |
| 4191 fi | |
| 4192 fi | |
| 4193 | |
| 4194 dnl ************************************************************ | |
| 4195 dnl disable verbose text strings | |
| 4196 dnl | |
| 4197 AC_MSG_CHECKING([whether to enable verbose strings]) | |
| 4198 AC_ARG_ENABLE(verbose, | |
| 4199 AC_HELP_STRING([--enable-verbose],[Enable verbose strings]) | |
| 4200 AC_HELP_STRING([--disable-verbose],[Disable verbose strings]), | |
| 4201 [ case "$enableval" in | |
| 4202 no) | |
| 4203 AC_MSG_RESULT(no) | |
| 4204 AC_DEFINE(CURL_DISABLE_VERBOSE_STRINGS, 1, [to disable verbose strings]) | |
| 4205 curl_verbose_msg="no" | |
| 4206 ;; | |
| 4207 *) AC_MSG_RESULT(yes) | |
| 4208 ;; | |
| 4209 esac ], | |
| 4210 AC_MSG_RESULT(yes) | |
| 4211 ) | |
| 4212 | |
| 4213 dnl ************************************************************ | |
| 4214 dnl enable SSPI support | |
| 4215 dnl | |
| 4216 AC_MSG_CHECKING([whether to enable SSPI support (Windows native builds only)]) | |
| 4217 AC_ARG_ENABLE(sspi, | |
| 4218 AC_HELP_STRING([--enable-sspi],[Enable SSPI]) | |
| 4219 AC_HELP_STRING([--disable-sspi],[Disable SSPI]), | |
| 4220 [ case "$enableval" in | |
| 4221 yes) | |
| 4222 if test "$curl_cv_native_windows" = "yes"; then | |
| 4223 AC_MSG_RESULT(yes) | |
| 4224 AC_DEFINE(USE_WINDOWS_SSPI, 1, [to enable SSPI support]) | |
| 4225 AC_SUBST(USE_WINDOWS_SSPI, [1]) | |
| 4226 curl_sspi_msg="enabled" | |
| 4227 else | |
| 4228 AC_MSG_RESULT(no) | |
| 4229 AC_MSG_WARN([--enable-sspi Ignored. Only supported on native Windows builds.]) | |
| 4230 fi | |
| 4231 ;; | |
| 4232 *) | |
| 4233 if test "x$WINSSL_ENABLED" = "x1"; then | |
| 4234 # --with-winssl implies --enable-sspi | |
| 4235 AC_MSG_RESULT(yes) | |
| 4236 else | |
| 4237 AC_MSG_RESULT(no) | |
| 4238 fi | |
| 4239 ;; | |
| 4240 esac ], | |
| 4241 if test "x$WINSSL_ENABLED" = "x1"; then | |
| 4242 # --with-winssl implies --enable-sspi | |
| 4243 AC_MSG_RESULT(yes) | |
| 4244 else | |
| 4245 AC_MSG_RESULT(no) | |
| 4246 fi | |
| 4247 ) | |
| 4248 | |
| 4249 dnl ************************************************************ | |
| 4250 dnl disable cryptographic authentication | |
| 4251 dnl | |
| 4252 AC_MSG_CHECKING([whether to enable cryptographic authentication methods]) | |
| 4253 AC_ARG_ENABLE(crypto-auth, | |
| 4254 AC_HELP_STRING([--enable-crypto-auth],[Enable cryptographic authentication]) | |
| 4255 AC_HELP_STRING([--disable-crypto-auth],[Disable cryptographic authentication]), | |
| 4256 [ case "$enableval" in | |
| 4257 no) | |
| 4258 AC_MSG_RESULT(no) | |
| 4259 AC_DEFINE(CURL_DISABLE_CRYPTO_AUTH, 1, [to disable cryptographic authentication]) | |
| 4260 CURL_DISABLE_CRYPTO_AUTH=1 | |
| 4261 ;; | |
| 4262 *) AC_MSG_RESULT(yes) | |
| 4263 ;; | |
| 4264 esac ], | |
| 4265 AC_MSG_RESULT(yes) | |
| 4266 ) | |
| 4267 | |
| 4268 CURL_CHECK_OPTION_NTLM_WB | |
| 4269 | |
| 4270 CURL_CHECK_NTLM_WB | |
| 4271 | |
| 4272 dnl ************************************************************ | |
| 4273 dnl disable TLS-SRP authentication | |
| 4274 dnl | |
| 4275 AC_MSG_CHECKING([whether to enable TLS-SRP authentication]) | |
| 4276 AC_ARG_ENABLE(tls-srp, | |
| 4277 AC_HELP_STRING([--enable-tls-srp],[Enable TLS-SRP authentication]) | |
| 4278 AC_HELP_STRING([--disable-tls-srp],[Disable TLS-SRP authentication]), | |
| 4279 [ case "$enableval" in | |
| 4280 no) | |
| 4281 AC_MSG_RESULT(no) | |
| 4282 want_tls_srp=no | |
| 4283 ;; | |
| 4284 *) AC_MSG_RESULT(yes) | |
| 4285 want_tls_srp=yes | |
| 4286 ;; | |
| 4287 esac ], | |
| 4288 AC_MSG_RESULT(yes) | |
| 4289 want_tls_srp=yes | |
| 4290 ) | |
| 4291 | |
| 4292 if test "$want_tls_srp" = "yes" && ( test "x$HAVE_GNUTLS_SRP" = "x1" || test "x$HAVE_OPENSSL_SRP" = "x1") ; then | |
| 4293 AC_DEFINE(USE_TLS_SRP, 1, [Use TLS-SRP authentication]) | |
| 4294 USE_TLS_SRP=1 | |
| 4295 curl_tls_srp_msg="enabled" | |
| 4296 fi | |
| 4297 | |
| 4298 dnl ************************************************************ | |
| 4299 dnl disable Unix domain sockets support | |
| 4300 dnl | |
| 4301 AC_MSG_CHECKING([whether to enable Unix domain sockets]) | |
| 4302 AC_ARG_ENABLE(unix-sockets, | |
| 4303 AC_HELP_STRING([--enable-unix-sockets],[Enable Unix domain sockets]) | |
| 4304 AC_HELP_STRING([--disable-unix-sockets],[Disable Unix domain sockets]), | |
| 4305 [ case "$enableval" in | |
| 4306 no) AC_MSG_RESULT(no) | |
| 4307 want_unix_sockets=no | |
| 4308 ;; | |
| 4309 *) AC_MSG_RESULT(yes) | |
| 4310 want_unix_sockets=yes | |
| 4311 ;; | |
| 4312 esac ], [ | |
| 4313 AC_MSG_RESULT(auto) | |
| 4314 want_unix_sockets=auto | |
| 4315 ] | |
| 4316 ) | |
| 4317 if test "x$want_unix_sockets" != "xno"; then | |
| 4318 AC_CHECK_MEMBER([struct sockaddr_un.sun_path], [ | |
| 4319 AC_DEFINE(USE_UNIX_SOCKETS, 1, [Use Unix domain sockets]) | |
| 4320 AC_SUBST(USE_UNIX_SOCKETS, [1]) | |
| 4321 curl_unix_sockets_msg="enabled" | |
| 4322 ], [ | |
| 4323 if test "x$want_unix_sockets" = "xyes"; then | |
| 4324 AC_MSG_ERROR([--enable-unix-sockets is not available on this platform!]) | |
| 4325 fi | |
| 4326 ], [ | |
| 4327 #include <sys/un.h> | |
| 4328 ]) | |
| 4329 fi | |
| 4330 | |
| 4331 dnl ************************************************************ | |
| 4332 dnl disable cookies support | |
| 4333 dnl | |
| 4334 AC_MSG_CHECKING([whether to support cookies]) | |
| 4335 AC_ARG_ENABLE(cookies, | |
| 4336 AC_HELP_STRING([--enable-cookies],[Enable cookies support]) | |
| 4337 AC_HELP_STRING([--disable-cookies],[Disable cookies support]), | |
| 4338 [ case "$enableval" in | |
| 4339 no) | |
| 4340 AC_MSG_RESULT(no) | |
| 4341 AC_DEFINE(CURL_DISABLE_COOKIES, 1, [to disable cookies support]) | |
| 4342 ;; | |
| 4343 *) AC_MSG_RESULT(yes) | |
| 4344 ;; | |
| 4345 esac ], | |
| 4346 AC_MSG_RESULT(yes) | |
| 4347 ) | |
| 4348 | |
| 4349 dnl ************************************************************ | |
| 4350 dnl disable HTTP authentication support | |
| 4351 dnl | |
| 4352 AC_MSG_CHECKING([whether to support HTTP authentication]) | |
| 4353 AC_ARG_ENABLE(http-auth, | |
| 4354 AC_HELP_STRING([--enable-http-auth],[Enable HTTP authentication support]) | |
| 4355 AC_HELP_STRING([--disable-http-auth],[Disable HTTP authentication support]), | |
| 4356 [ case "$enableval" in | |
| 4357 no) | |
| 4358 AC_MSG_RESULT(no) | |
| 4359 AC_DEFINE(CURL_DISABLE_HTTP_AUTH, 1, [disable HTTP authentication]) | |
| 4360 ;; | |
| 4361 *) AC_MSG_RESULT(yes) | |
| 4362 ;; | |
| 4363 esac ], | |
| 4364 AC_MSG_RESULT(yes) | |
| 4365 ) | |
| 4366 | |
| 4367 dnl ************************************************************ | |
| 4368 dnl disable DoH support | |
| 4369 dnl | |
| 4370 AC_MSG_CHECKING([whether to support DoH]) | |
| 4371 AC_ARG_ENABLE(doh, | |
| 4372 AC_HELP_STRING([--enable-doh],[Enable DoH support]) | |
| 4373 AC_HELP_STRING([--disable-doh],[Disable DoH support]), | |
| 4374 [ case "$enableval" in | |
| 4375 no) | |
| 4376 AC_MSG_RESULT(no) | |
| 4377 AC_DEFINE(CURL_DISABLE_DOH, 1, [disable DoH]) | |
| 4378 ;; | |
| 4379 *) AC_MSG_RESULT(yes) | |
| 4380 ;; | |
| 4381 esac ], | |
| 4382 AC_MSG_RESULT(yes) | |
| 4383 ) | |
| 4384 | |
| 4385 dnl ************************************************************ | |
| 4386 dnl disable mime API support | |
| 4387 dnl | |
| 4388 AC_MSG_CHECKING([whether to support the MIME API]) | |
| 4389 AC_ARG_ENABLE(mime, | |
| 4390 AC_HELP_STRING([--enable-mime],[Enable mime API support]) | |
| 4391 AC_HELP_STRING([--disable-mime],[Disable mime API support]), | |
| 4392 [ case "$enableval" in | |
| 4393 no) | |
| 4394 AC_MSG_RESULT(no) | |
| 4395 AC_DEFINE(CURL_DISABLE_MIME, 1, [disable mime API]) | |
| 4396 ;; | |
| 4397 *) AC_MSG_RESULT(yes) | |
| 4398 ;; | |
| 4399 esac ], | |
| 4400 AC_MSG_RESULT(yes) | |
| 4401 ) | |
| 4402 | |
| 4403 dnl ************************************************************ | |
| 4404 dnl disable date parsing | |
| 4405 dnl | |
| 4406 AC_MSG_CHECKING([whether to support date parsing]) | |
| 4407 AC_ARG_ENABLE(dateparse, | |
| 4408 AC_HELP_STRING([--enable-dateparse],[Enable date parsing]) | |
| 4409 AC_HELP_STRING([--disable-dateparse],[Disable date parsing]), | |
| 4410 [ case "$enableval" in | |
| 4411 no) | |
| 4412 AC_MSG_RESULT(no) | |
| 4413 AC_DEFINE(CURL_DISABLE_PARSEDATE, 1, [disable date parsing]) | |
| 4414 ;; | |
| 4415 *) AC_MSG_RESULT(yes) | |
| 4416 ;; | |
| 4417 esac ], | |
| 4418 AC_MSG_RESULT(yes) | |
| 4419 ) | |
| 4420 | |
| 4421 dnl ************************************************************ | |
| 4422 dnl disable netrc | |
| 4423 dnl | |
| 4424 AC_MSG_CHECKING([whether to support netrc parsing]) | |
| 4425 AC_ARG_ENABLE(netrc, | |
| 4426 AC_HELP_STRING([--enable-netrc],[Enable netrc parsing]) | |
| 4427 AC_HELP_STRING([--disable-netrc],[Disable netrc parsing]), | |
| 4428 [ case "$enableval" in | |
| 4429 no) | |
| 4430 AC_MSG_RESULT(no) | |
| 4431 AC_DEFINE(CURL_DISABLE_NETRC, 1, [disable netrc parsing]) | |
| 4432 ;; | |
| 4433 *) AC_MSG_RESULT(yes) | |
| 4434 ;; | |
| 4435 esac ], | |
| 4436 AC_MSG_RESULT(yes) | |
| 4437 ) | |
| 4438 | |
| 4439 dnl ************************************************************ | |
| 4440 dnl disable progress-meter | |
| 4441 dnl | |
| 4442 AC_MSG_CHECKING([whether to support progress-meter]) | |
| 4443 AC_ARG_ENABLE(progress-meter, | |
| 4444 AC_HELP_STRING([--enable-progress-meter],[Enable progress-meter]) | |
| 4445 AC_HELP_STRING([--disable-progress-meter],[Disable progress-meter]), | |
| 4446 [ case "$enableval" in | |
| 4447 no) | |
| 4448 AC_MSG_RESULT(no) | |
| 4449 AC_DEFINE(CURL_DISABLE_PROGRESS_METER, 1, [disable progress-meter]) | |
| 4450 ;; | |
| 4451 *) AC_MSG_RESULT(yes) | |
| 4452 ;; | |
| 4453 esac ], | |
| 4454 AC_MSG_RESULT(yes) | |
| 4455 ) | |
| 4456 | |
| 4457 dnl ************************************************************ | |
| 4458 dnl disable shuffle DNS support | |
| 4459 dnl | |
| 4460 AC_MSG_CHECKING([whether to support DNS shuffling]) | |
| 4461 AC_ARG_ENABLE(dnsshuffle, | |
| 4462 AC_HELP_STRING([--enable-dnsshuffle],[Enable DNS shuffling]) | |
| 4463 AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS shufflinf]), | |
| 4464 [ case "$enableval" in | |
| 4465 no) | |
| 4466 AC_MSG_RESULT(no) | |
| 4467 AC_DEFINE(CURL_DISABLE_SHUFFLE_DNS, 1, [disable DNS shuffling]) | |
| 4468 ;; | |
| 4469 *) AC_MSG_RESULT(yes) | |
| 4470 ;; | |
| 4471 esac ], | |
| 4472 AC_MSG_RESULT(yes) | |
| 4473 ) | |
| 4474 | |
| 4475 dnl ************************************************************ | |
| 4476 dnl switch on/off alt-svc | |
| 4477 dnl | |
| 4478 curl_altsvc_msg="no (--enable-alt-svc)"; | |
| 4479 AC_MSG_CHECKING([whether to support alt-svc]) | |
| 4480 AC_ARG_ENABLE(alt-svc, | |
| 4481 AC_HELP_STRING([--enable-alt-svc],[Enable alt-svc support]) | |
| 4482 AC_HELP_STRING([--disable-alt-svc],[Disable alt-svc support]), | |
| 4483 [ case "$enableval" in | |
| 4484 no) | |
| 4485 AC_MSG_RESULT(no) | |
| 4486 ;; | |
| 4487 *) AC_MSG_RESULT(yes) | |
| 4488 curl_altsvc_msg="enabled"; | |
| 4489 enable_altsvc="yes" | |
| 4490 ;; | |
| 4491 esac ], | |
| 4492 AC_MSG_RESULT(no) | |
| 4493 ) | |
| 4494 | |
| 4495 if test "$enable_altsvc" = "yes"; then | |
| 4496 AC_DEFINE(USE_ALTSVC, 1, [to enable alt-svc]) | |
| 4497 experimental="$experimental alt-svc" | |
| 4498 fi | |
| 4499 | |
| 4500 dnl ************************************************************ | |
| 4501 dnl hiding of library internal symbols | |
| 4502 dnl | |
| 4503 CURL_CONFIGURE_SYMBOL_HIDING | |
| 4504 | |
| 4505 dnl | |
| 4506 dnl All the library dependencies put into $LIB apply to libcurl only. | |
| 4507 dnl | |
| 4508 LIBCURL_LIBS=$LIBS | |
| 4509 | |
| 4510 AC_SUBST(LIBCURL_LIBS) | |
| 4511 AC_SUBST(CURL_NETWORK_LIBS) | |
| 4512 AC_SUBST(CURL_NETWORK_AND_TIME_LIBS) | |
| 4513 | |
| 4514 dnl BLANK_AT_MAKETIME may be used in our Makefile.am files to blank | |
| 4515 dnl LIBS variable used in generated makefile at makefile processing | |
| 4516 dnl time. Doing this functionally prevents LIBS from being used for | |
| 4517 dnl all link targets in given makefile. | |
| 4518 BLANK_AT_MAKETIME= | |
| 4519 AC_SUBST(BLANK_AT_MAKETIME) | |
| 4520 | |
| 4521 AM_CONDITIONAL(CROSSCOMPILING, test x$cross_compiling = xyes) | |
| 4522 | |
| 4523 dnl yes or no | |
| 4524 ENABLE_SHARED="$enable_shared" | |
| 4525 AC_SUBST(ENABLE_SHARED) | |
| 4526 | |
| 4527 dnl to let curl-config output the static libraries correctly | |
| 4528 ENABLE_STATIC="$enable_static" | |
| 4529 AC_SUBST(ENABLE_STATIC) | |
| 4530 | |
| 4531 | |
| 4532 dnl | |
| 4533 dnl For keeping supported features and protocols also in pkg-config file | |
| 4534 dnl since it is more cross-compile friendly than curl-config | |
| 4535 dnl | |
| 4536 | |
| 4537 if test "x$OPENSSL_ENABLED" = "x1"; then | |
| 4538 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL" | |
| 4539 elif test -n "$SSL_ENABLED"; then | |
| 4540 SUPPORT_FEATURES="$SUPPORT_FEATURES SSL" | |
| 4541 fi | |
| 4542 if test "x$IPV6_ENABLED" = "x1"; then | |
| 4543 SUPPORT_FEATURES="$SUPPORT_FEATURES IPv6" | |
| 4544 fi | |
| 4545 if test "x$USE_UNIX_SOCKETS" = "x1"; then | |
| 4546 SUPPORT_FEATURES="$SUPPORT_FEATURES UnixSockets" | |
| 4547 fi | |
| 4548 if test "x$HAVE_LIBZ" = "x1"; then | |
| 4549 SUPPORT_FEATURES="$SUPPORT_FEATURES libz" | |
| 4550 fi | |
| 4551 if test "x$HAVE_BROTLI" = "x1"; then | |
| 4552 SUPPORT_FEATURES="$SUPPORT_FEATURES brotli" | |
| 4553 fi | |
| 4554 if test "x$USE_ARES" = "x1" -o "x$USE_THREADS_POSIX" = "x1" \ | |
| 4555 -o "x$USE_THREADS_WIN32" = "x1"; then | |
| 4556 SUPPORT_FEATURES="$SUPPORT_FEATURES AsynchDNS" | |
| 4557 fi | |
| 4558 if test "x$IDN_ENABLED" = "x1"; then | |
| 4559 SUPPORT_FEATURES="$SUPPORT_FEATURES IDN" | |
| 4560 fi | |
| 4561 if test "x$USE_WINDOWS_SSPI" = "x1"; then | |
| 4562 SUPPORT_FEATURES="$SUPPORT_FEATURES SSPI" | |
| 4563 fi | |
| 4564 | |
| 4565 if test "x$HAVE_GSSAPI" = "x1"; then | |
| 4566 SUPPORT_FEATURES="$SUPPORT_FEATURES GSS-API" | |
| 4567 fi | |
| 4568 | |
| 4569 if test "x$curl_psl_msg" = "xenabled"; then | |
| 4570 SUPPORT_FEATURES="$SUPPORT_FEATURES PSL" | |
| 4571 fi | |
| 4572 | |
| 4573 if test "x$enable_altsvc" = "xyes"; then | |
| 4574 SUPPORT_FEATURES="$SUPPORT_FEATURES alt-svc" | |
| 4575 fi | |
| 4576 | |
| 4577 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ | |
| 4578 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then | |
| 4579 SUPPORT_FEATURES="$SUPPORT_FEATURES SPNEGO" | |
| 4580 fi | |
| 4581 | |
| 4582 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" -a \ | |
| 4583 \( "x$HAVE_GSSAPI" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \); then | |
| 4584 SUPPORT_FEATURES="$SUPPORT_FEATURES Kerberos" | |
| 4585 fi | |
| 4586 | |
| 4587 if test "x$CURL_DISABLE_CRYPTO_AUTH" != "x1"; then | |
| 4588 if test "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ | |
| 4589 -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ | |
| 4590 -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1"; then | |
| 4591 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM" | |
| 4592 | |
| 4593 if test "x$CURL_DISABLE_HTTP" != "x1" -a \ | |
| 4594 "x$NTLM_WB_ENABLED" = "x1"; then | |
| 4595 SUPPORT_FEATURES="$SUPPORT_FEATURES NTLM_WB" | |
| 4596 fi | |
| 4597 fi | |
| 4598 fi | |
| 4599 | |
| 4600 if test "x$USE_TLS_SRP" = "x1"; then | |
| 4601 SUPPORT_FEATURES="$SUPPORT_FEATURES TLS-SRP" | |
| 4602 fi | |
| 4603 | |
| 4604 if test "x$USE_NGHTTP2" = "x1"; then | |
| 4605 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP2" | |
| 4606 fi | |
| 4607 | |
| 4608 if test "x$USE_NGTCP2" = "x1" -o "x$USE_QUICHE" = "x1"; then | |
| 4609 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTP3" | |
| 4610 fi | |
| 4611 | |
| 4612 if test "x$CURL_WITH_MULTI_SSL" = "x1"; then | |
| 4613 SUPPORT_FEATURES="$SUPPORT_FEATURES MultiSSL" | |
| 4614 fi | |
| 4615 | |
| 4616 if test "x$OPENSSL_ENABLED" = "x1" -o "x$GNUTLS_ENABLED" = "x1" \ | |
| 4617 -o "x$NSS_ENABLED" = "x1"; then | |
| 4618 SUPPORT_FEATURES="$SUPPORT_FEATURES HTTPS-proxy" | |
| 4619 fi | |
| 4620 | |
| 4621 AC_SUBST(SUPPORT_FEATURES) | |
| 4622 | |
| 4623 dnl For supported protocols in pkg-config file | |
| 4624 if test "x$CURL_DISABLE_HTTP" != "x1"; then | |
| 4625 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTP" | |
| 4626 if test "x$SSL_ENABLED" = "x1"; then | |
| 4627 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS HTTPS" | |
| 4628 fi | |
| 4629 fi | |
| 4630 if test "x$CURL_DISABLE_FTP" != "x1"; then | |
| 4631 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTP" | |
| 4632 if test "x$SSL_ENABLED" = "x1"; then | |
| 4633 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FTPS" | |
| 4634 fi | |
| 4635 fi | |
| 4636 if test "x$CURL_DISABLE_FILE" != "x1"; then | |
| 4637 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS FILE" | |
| 4638 fi | |
| 4639 if test "x$CURL_DISABLE_TELNET" != "x1"; then | |
| 4640 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TELNET" | |
| 4641 fi | |
| 4642 if test "x$CURL_DISABLE_LDAP" != "x1"; then | |
| 4643 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAP" | |
| 4644 if test "x$CURL_DISABLE_LDAPS" != "x1"; then | |
| 4645 if (test "x$USE_OPENLDAP" = "x1" && test "x$SSL_ENABLED" = "x1") || | |
| 4646 (test "x$USE_OPENLDAP" != "x1" && test "x$HAVE_LDAP_SSL" = "x1"); then | |
| 4647 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS LDAPS" | |
| 4648 fi | |
| 4649 fi | |
| 4650 fi | |
| 4651 if test "x$CURL_DISABLE_DICT" != "x1"; then | |
| 4652 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS DICT" | |
| 4653 fi | |
| 4654 if test "x$CURL_DISABLE_TFTP" != "x1"; then | |
| 4655 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS TFTP" | |
| 4656 fi | |
| 4657 if test "x$CURL_DISABLE_GOPHER" != "x1"; then | |
| 4658 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS GOPHER" | |
| 4659 fi | |
| 4660 if test "x$CURL_DISABLE_POP3" != "x1"; then | |
| 4661 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3" | |
| 4662 if test "x$SSL_ENABLED" = "x1"; then | |
| 4663 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS POP3S" | |
| 4664 fi | |
| 4665 fi | |
| 4666 if test "x$CURL_DISABLE_IMAP" != "x1"; then | |
| 4667 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAP" | |
| 4668 if test "x$SSL_ENABLED" = "x1"; then | |
| 4669 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS IMAPS" | |
| 4670 fi | |
| 4671 fi | |
| 4672 if test "x$CURL_DISABLE_SMB" != "x1" \ | |
| 4673 -a "x$CURL_DISABLE_CRYPTO_AUTH" != "x1" \ | |
| 4674 -a \( "x$OPENSSL_ENABLED" = "x1" -o "x$USE_WINDOWS_SSPI" = "x1" \ | |
| 4675 -o "x$GNUTLS_ENABLED" = "x1" -o "x$MBEDTLS_ENABLED" = "x1" \ | |
| 4676 -o "x$NSS_ENABLED" = "x1" -o "x$SECURETRANSPORT_ENABLED" = "x1" \); then | |
| 4677 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMB" | |
| 4678 if test "x$SSL_ENABLED" = "x1"; then | |
| 4679 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMBS" | |
| 4680 fi | |
| 4681 fi | |
| 4682 if test "x$CURL_DISABLE_SMTP" != "x1"; then | |
| 4683 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTP" | |
| 4684 if test "x$SSL_ENABLED" = "x1"; then | |
| 4685 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SMTPS" | |
| 4686 fi | |
| 4687 fi | |
| 4688 if test "x$USE_LIBSSH2" = "x1"; then | |
| 4689 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP" | |
| 4690 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP" | |
| 4691 fi | |
| 4692 if test "x$USE_LIBSSH" = "x1"; then | |
| 4693 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SCP" | |
| 4694 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS SFTP" | |
| 4695 fi | |
| 4696 if test "x$CURL_DISABLE_RTSP" != "x1"; then | |
| 4697 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTSP" | |
| 4698 fi | |
| 4699 if test "x$USE_LIBRTMP" = "x1"; then | |
| 4700 SUPPORT_PROTOCOLS="$SUPPORT_PROTOCOLS RTMP" | |
| 4701 fi | |
| 4702 | |
| 4703 dnl replace spaces with newlines | |
| 4704 dnl sort the lines | |
| 4705 dnl replace the newlines back to spaces | |
| 4706 SUPPORT_PROTOCOLS=`echo $SUPPORT_PROTOCOLS | tr ' ' '\012' | sort | tr '\012' ' '` | |
| 4707 | |
| 4708 AC_SUBST(SUPPORT_PROTOCOLS) | |
| 4709 | |
| 4710 dnl squeeze whitespace out of some variables | |
| 4711 | |
| 4712 squeeze CFLAGS | |
| 4713 squeeze CPPFLAGS | |
| 4714 squeeze DEFS | |
| 4715 squeeze LDFLAGS | |
| 4716 squeeze LIBS | |
| 4717 | |
| 4718 squeeze LIBCURL_LIBS | |
| 4719 squeeze CURL_NETWORK_LIBS | |
| 4720 squeeze CURL_NETWORK_AND_TIME_LIBS | |
| 4721 | |
| 4722 squeeze SUPPORT_FEATURES | |
| 4723 squeeze SUPPORT_PROTOCOLS | |
| 4724 | |
| 4725 XC_CHECK_BUILD_FLAGS | |
| 4726 | |
| 4727 SSL_BACKENDS=${ssl_backends} | |
| 4728 AC_SUBST(SSL_BACKENDS) | |
| 4729 | |
| 4730 if test "x$want_curldebug_assumed" = "xyes" && | |
| 4731 test "x$want_curldebug" = "xyes" && test "x$USE_ARES" = "x1"; then | |
| 4732 ac_configure_args="$ac_configure_args --enable-curldebug" | |
| 4733 fi | |
| 4734 | |
| 4735 AC_CONFIG_FILES([Makefile \ | |
| 4736 docs/Makefile \ | |
| 4737 docs/examples/Makefile \ | |
| 4738 docs/libcurl/Makefile \ | |
| 4739 docs/libcurl/opts/Makefile \ | |
| 4740 docs/cmdline-opts/Makefile \ | |
| 4741 include/Makefile \ | |
| 4742 include/curl/Makefile \ | |
| 4743 src/Makefile \ | |
| 4744 lib/Makefile \ | |
| 4745 scripts/Makefile \ | |
| 4746 lib/libcurl.vers \ | |
| 4747 tests/Makefile \ | |
| 4748 tests/certs/Makefile \ | |
| 4749 tests/certs/scripts/Makefile \ | |
| 4750 tests/data/Makefile \ | |
| 4751 tests/server/Makefile \ | |
| 4752 tests/libtest/Makefile \ | |
| 4753 tests/unit/Makefile \ | |
| 4754 packages/Makefile \ | |
| 4755 packages/vms/Makefile \ | |
| 4756 curl-config \ | |
| 4757 libcurl.pc | |
| 4758 ]) | |
| 4759 AC_OUTPUT | |
| 4760 | |
| 4761 CURL_GENERATE_CONFIGUREHELP_PM | |
| 4762 | |
| 4763 XC_AMEND_DISTCLEAN([lib src tests/unit tests/server tests/libtest docs/examples]) | |
| 4764 | |
| 4765 AC_MSG_NOTICE([Configured to build curl/libcurl: | |
| 4766 | |
| 4767 Host setup: ${host} | |
| 4768 Install prefix: ${prefix} | |
| 4769 Compiler: ${CC} | |
| 4770 CFLAGS: ${CFLAGS} | |
| 4771 CPPFLAGS: ${CPPFLAGS} | |
| 4772 LDFLAGS: ${LDFLAGS} | |
| 4773 LIBS: ${LIBS} | |
| 4774 | |
| 4775 curl version: ${CURLVERSION} | |
| 4776 SSL: ${curl_ssl_msg} | |
| 4777 SSH: ${curl_ssh_msg} | |
| 4778 zlib: ${curl_zlib_msg} | |
| 4779 brotli: ${curl_brotli_msg} | |
| 4780 GSS-API: ${curl_gss_msg} | |
| 4781 TLS-SRP: ${curl_tls_srp_msg} | |
| 4782 resolver: ${curl_res_msg} | |
| 4783 IPv6: ${curl_ipv6_msg} | |
| 4784 Unix sockets: ${curl_unix_sockets_msg} | |
| 4785 IDN: ${curl_idn_msg} | |
| 4786 Build libcurl: Shared=${enable_shared}, Static=${enable_static} | |
| 4787 Built-in manual: ${curl_manual_msg} | |
| 4788 --libcurl option: ${curl_libcurl_msg} | |
| 4789 Verbose errors: ${curl_verbose_msg} | |
| 4790 Code coverage: ${curl_coverage_msg} | |
| 4791 SSPI: ${curl_sspi_msg} | |
| 4792 ca cert bundle: ${ca}${ca_warning} | |
| 4793 ca cert path: ${capath}${capath_warning} | |
| 4794 ca fallback: ${with_ca_fallback} | |
| 4795 LDAP: ${curl_ldap_msg} | |
| 4796 LDAPS: ${curl_ldaps_msg} | |
| 4797 RTSP: ${curl_rtsp_msg} | |
| 4798 RTMP: ${curl_rtmp_msg} | |
| 4799 Metalink: ${curl_mtlnk_msg} | |
| 4800 PSL: ${curl_psl_msg} | |
| 4801 Alt-svc: ${curl_altsvc_msg} | |
| 4802 HTTP2: ${curl_h2_msg} | |
| 4803 HTTP3: ${curl_h3_msg} | |
| 4804 Protocols: ${SUPPORT_PROTOCOLS} | |
| 4805 Features: ${SUPPORT_FEATURES} | |
| 4806 ]) | |
| 4807 if test -n "$experimental"; then | |
| 4808 cat >&2 << _EOF | |
| 4809 WARNING: $experimental enabled but marked EXPERIMENTAL. Use with caution! | |
| 4810 _EOF | |
| 4811 fi |
