1*6236dae4SAndroid Build Coastguard Worker#*************************************************************************** 2*6236dae4SAndroid Build Coastguard Worker# _ _ ____ _ 3*6236dae4SAndroid Build Coastguard Worker# Project ___| | | | _ \| | 4*6236dae4SAndroid Build Coastguard Worker# / __| | | | |_) | | 5*6236dae4SAndroid Build Coastguard Worker# | (__| |_| | _ <| |___ 6*6236dae4SAndroid Build Coastguard Worker# \___|\___/|_| \_\_____| 7*6236dae4SAndroid Build Coastguard Worker# 8*6236dae4SAndroid Build Coastguard Worker# Copyright (C) Daniel Stenberg, <[email protected]>, et al. 9*6236dae4SAndroid Build Coastguard Worker# 10*6236dae4SAndroid Build Coastguard Worker# This software is licensed as described in the file COPYING, which 11*6236dae4SAndroid Build Coastguard Worker# you should have received as part of this distribution. The terms 12*6236dae4SAndroid Build Coastguard Worker# are also available at https://curl.se/docs/copyright.html. 13*6236dae4SAndroid Build Coastguard Worker# 14*6236dae4SAndroid Build Coastguard Worker# You may opt to use, copy, modify, merge, publish, distribute and/or sell 15*6236dae4SAndroid Build Coastguard Worker# copies of the Software, and permit persons to whom the Software is 16*6236dae4SAndroid Build Coastguard Worker# furnished to do so, under the terms of the COPYING file. 17*6236dae4SAndroid Build Coastguard Worker# 18*6236dae4SAndroid Build Coastguard Worker# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 19*6236dae4SAndroid Build Coastguard Worker# KIND, either express or implied. 20*6236dae4SAndroid Build Coastguard Worker# 21*6236dae4SAndroid Build Coastguard Worker# SPDX-License-Identifier: curl 22*6236dae4SAndroid Build Coastguard Worker# 23*6236dae4SAndroid Build Coastguard Worker#*************************************************************************** 24*6236dae4SAndroid Build Coastguard Worker 25*6236dae4SAndroid Build Coastguard Worker# File version for 'aclocal' use. Keep it a single number. 26*6236dae4SAndroid Build Coastguard Worker# serial 19 27*6236dae4SAndroid Build Coastguard Worker 28*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_THREADED_RESOLVER 29*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 30*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 31*6236dae4SAndroid Build Coastguard Workerdnl --enable-threaded-resolver or --disable-threaded-resolver, and 32*6236dae4SAndroid Build Coastguard Workerdnl set shell variable want_thres as appropriate. 33*6236dae4SAndroid Build Coastguard Worker 34*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_THREADED_RESOLVER], [ 35*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable the threaded resolver]) 36*6236dae4SAndroid Build Coastguard Worker OPT_THRES="default" 37*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(threaded_resolver, 38*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-threaded-resolver],[Enable threaded resolver]) 39*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-threaded-resolver],[Disable threaded resolver]), 40*6236dae4SAndroid Build Coastguard Worker OPT_THRES=$enableval) 41*6236dae4SAndroid Build Coastguard Worker case "$OPT_THRES" in 42*6236dae4SAndroid Build Coastguard Worker no) 43*6236dae4SAndroid Build Coastguard Worker dnl --disable-threaded-resolver option used 44*6236dae4SAndroid Build Coastguard Worker want_thres="no" 45*6236dae4SAndroid Build Coastguard Worker ;; 46*6236dae4SAndroid Build Coastguard Worker *) 47*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 48*6236dae4SAndroid Build Coastguard Worker want_thres="yes" 49*6236dae4SAndroid Build Coastguard Worker ;; 50*6236dae4SAndroid Build Coastguard Worker esac 51*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_thres]) 52*6236dae4SAndroid Build Coastguard Worker]) 53*6236dae4SAndroid Build Coastguard Worker 54*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_ARES 55*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 56*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 57*6236dae4SAndroid Build Coastguard Workerdnl --enable-ares or --disable-ares, and 58*6236dae4SAndroid Build Coastguard Workerdnl set shell variable want_ares as appropriate. 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_ARES], [ 61*6236dae4SAndroid Build Coastguard Workerdnl AC_BEFORE([$0],[CURL_CHECK_OPTION_THREADS])dnl 62*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_LIB_ARES])dnl 63*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable c-ares for DNS lookups]) 64*6236dae4SAndroid Build Coastguard Worker OPT_ARES="default" 65*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(ares, 66*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-ares@<:@=PATH@:>@],[Enable c-ares for DNS lookups]) 67*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-ares],[Disable c-ares for DNS lookups]), 68*6236dae4SAndroid Build Coastguard Worker OPT_ARES=$enableval) 69*6236dae4SAndroid Build Coastguard Worker case "$OPT_ARES" in 70*6236dae4SAndroid Build Coastguard Worker no) 71*6236dae4SAndroid Build Coastguard Worker dnl --disable-ares option used 72*6236dae4SAndroid Build Coastguard Worker want_ares="no" 73*6236dae4SAndroid Build Coastguard Worker ;; 74*6236dae4SAndroid Build Coastguard Worker default) 75*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 76*6236dae4SAndroid Build Coastguard Worker want_ares="no" 77*6236dae4SAndroid Build Coastguard Worker ;; 78*6236dae4SAndroid Build Coastguard Worker *) 79*6236dae4SAndroid Build Coastguard Worker dnl --enable-ares option used 80*6236dae4SAndroid Build Coastguard Worker want_ares="yes" 81*6236dae4SAndroid Build Coastguard Worker if test -n "$enableval" && test "$enableval" != "yes"; then 82*6236dae4SAndroid Build Coastguard Worker want_ares_path="$enableval" 83*6236dae4SAndroid Build Coastguard Worker fi 84*6236dae4SAndroid Build Coastguard Worker ;; 85*6236dae4SAndroid Build Coastguard Worker esac 86*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_ares]) 87*6236dae4SAndroid Build Coastguard Worker]) 88*6236dae4SAndroid Build Coastguard Worker 89*6236dae4SAndroid Build Coastguard Worker 90*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_CURLDEBUG 91*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 92*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 93*6236dae4SAndroid Build Coastguard Workerdnl --enable-curldebug or --disable-curldebug, and set 94*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_curldebug value as appropriate. 95*6236dae4SAndroid Build Coastguard Worker 96*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_CURLDEBUG], [ 97*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_CURLDEBUG])dnl 98*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable curl debug memory tracking]) 99*6236dae4SAndroid Build Coastguard Worker OPT_CURLDEBUG_BUILD="default" 100*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(curldebug, 101*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-curldebug],[Enable curl debug memory tracking]) 102*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-curldebug],[Disable curl debug memory tracking]), 103*6236dae4SAndroid Build Coastguard Worker OPT_CURLDEBUG_BUILD=$enableval) 104*6236dae4SAndroid Build Coastguard Worker case "$OPT_CURLDEBUG_BUILD" in 105*6236dae4SAndroid Build Coastguard Worker no) 106*6236dae4SAndroid Build Coastguard Worker dnl --disable-curldebug option used 107*6236dae4SAndroid Build Coastguard Worker want_curldebug="no" 108*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 109*6236dae4SAndroid Build Coastguard Worker ;; 110*6236dae4SAndroid Build Coastguard Worker default) 111*6236dae4SAndroid Build Coastguard Worker dnl configure's curldebug option not specified. Initially we will 112*6236dae4SAndroid Build Coastguard Worker dnl handle this as a request to use the same setting as option 113*6236dae4SAndroid Build Coastguard Worker dnl --enable-debug. IOW, initially, for debug-enabled builds 114*6236dae4SAndroid Build Coastguard Worker dnl this will be handled as a request to enable curldebug if 115*6236dae4SAndroid Build Coastguard Worker dnl possible, and for debug-disabled builds this will be handled 116*6236dae4SAndroid Build Coastguard Worker dnl as a request to disable curldebug. 117*6236dae4SAndroid Build Coastguard Worker if test "$want_debug" = "yes"; then 118*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([(assumed) yes]) 119*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking]) 120*6236dae4SAndroid Build Coastguard Worker else 121*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 122*6236dae4SAndroid Build Coastguard Worker fi 123*6236dae4SAndroid Build Coastguard Worker want_curldebug_assumed="yes" 124*6236dae4SAndroid Build Coastguard Worker want_curldebug="$want_debug" 125*6236dae4SAndroid Build Coastguard Worker ;; 126*6236dae4SAndroid Build Coastguard Worker *) 127*6236dae4SAndroid Build Coastguard Worker dnl --enable-curldebug option used. 128*6236dae4SAndroid Build Coastguard Worker dnl The use of this option value is a request to enable curl's 129*6236dae4SAndroid Build Coastguard Worker dnl debug memory tracking for the libcurl library. This can only 130*6236dae4SAndroid Build Coastguard Worker dnl be done when some requisites are simultaneously satisfied. 131*6236dae4SAndroid Build Coastguard Worker dnl Later on, these requisites are verified and if they are not 132*6236dae4SAndroid Build Coastguard Worker dnl fully satisfied the option will be ignored and act as if 133*6236dae4SAndroid Build Coastguard Worker dnl --disable-curldebug had been given setting shell variable 134*6236dae4SAndroid Build Coastguard Worker dnl want_curldebug to 'no'. 135*6236dae4SAndroid Build Coastguard Worker want_curldebug="yes" 136*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(CURLDEBUG, 1, [to enable curl debug memory tracking]) 137*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 138*6236dae4SAndroid Build Coastguard Worker ;; 139*6236dae4SAndroid Build Coastguard Worker esac 140*6236dae4SAndroid Build Coastguard Worker]) 141*6236dae4SAndroid Build Coastguard Worker 142*6236dae4SAndroid Build Coastguard Worker 143*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_DEBUG 144*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 145*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 146*6236dae4SAndroid Build Coastguard Workerdnl --enable-debug or --disable-debug, and set shell 147*6236dae4SAndroid Build Coastguard Workerdnl variable want_debug value as appropriate. 148*6236dae4SAndroid Build Coastguard Worker 149*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_DEBUG], [ 150*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_OPTION_WARNINGS])dnl 151*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_OPTION_CURLDEBUG])dnl 152*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 153*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable debug build options]) 154*6236dae4SAndroid Build Coastguard Worker OPT_DEBUG_BUILD="default" 155*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(debug, 156*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-debug],[Enable debug build options]) 157*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-debug],[Disable debug build options]), 158*6236dae4SAndroid Build Coastguard Worker OPT_DEBUG_BUILD=$enableval) 159*6236dae4SAndroid Build Coastguard Worker case "$OPT_DEBUG_BUILD" in 160*6236dae4SAndroid Build Coastguard Worker no) 161*6236dae4SAndroid Build Coastguard Worker dnl --disable-debug option used 162*6236dae4SAndroid Build Coastguard Worker want_debug="no" 163*6236dae4SAndroid Build Coastguard Worker ;; 164*6236dae4SAndroid Build Coastguard Worker default) 165*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 166*6236dae4SAndroid Build Coastguard Worker want_debug="no" 167*6236dae4SAndroid Build Coastguard Worker ;; 168*6236dae4SAndroid Build Coastguard Worker *) 169*6236dae4SAndroid Build Coastguard Worker dnl --enable-debug option used 170*6236dae4SAndroid Build Coastguard Worker want_debug="yes" 171*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(DEBUGBUILD, 1, [enable debug build options]) 172*6236dae4SAndroid Build Coastguard Worker ;; 173*6236dae4SAndroid Build Coastguard Worker esac 174*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_debug]) 175*6236dae4SAndroid Build Coastguard Worker]) 176*6236dae4SAndroid Build Coastguard Worker 177*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_OPTIMIZE 178*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 179*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 180*6236dae4SAndroid Build Coastguard Workerdnl --enable-optimize or --disable-optimize, and set 181*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_optimize value as appropriate. 182*6236dae4SAndroid Build Coastguard Worker 183*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_OPTIMIZE], [ 184*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl 185*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 186*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable compiler optimizer]) 187*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_OPTIMIZE="default" 188*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(optimize, 189*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-optimize],[Enable compiler optimizations]) 190*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-optimize],[Disable compiler optimizations]), 191*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_OPTIMIZE=$enableval) 192*6236dae4SAndroid Build Coastguard Worker case "$OPT_COMPILER_OPTIMIZE" in 193*6236dae4SAndroid Build Coastguard Worker no) 194*6236dae4SAndroid Build Coastguard Worker dnl --disable-optimize option used. We will handle this as 195*6236dae4SAndroid Build Coastguard Worker dnl a request to disable compiler optimizations if possible. 196*6236dae4SAndroid Build Coastguard Worker dnl If the compiler is known CFLAGS and CPPFLAGS will be 197*6236dae4SAndroid Build Coastguard Worker dnl overridden, otherwise this can not be honored. 198*6236dae4SAndroid Build Coastguard Worker want_optimize="no" 199*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 200*6236dae4SAndroid Build Coastguard Worker ;; 201*6236dae4SAndroid Build Coastguard Worker default) 202*6236dae4SAndroid Build Coastguard Worker dnl configure's optimize option not specified. Initially we will 203*6236dae4SAndroid Build Coastguard Worker dnl handle this as a request contrary to configure's setting 204*6236dae4SAndroid Build Coastguard Worker dnl for --enable-debug. IOW, initially, for debug-enabled builds 205*6236dae4SAndroid Build Coastguard Worker dnl this will be handled as a request to disable optimizations if 206*6236dae4SAndroid Build Coastguard Worker dnl possible, and for debug-disabled builds this will be handled 207*6236dae4SAndroid Build Coastguard Worker dnl initially as a request to enable optimizations if possible. 208*6236dae4SAndroid Build Coastguard Worker dnl Finally, if the compiler is known and CFLAGS and CPPFLAGS do 209*6236dae4SAndroid Build Coastguard Worker dnl not have any optimizer flag the request will be honored, in 210*6236dae4SAndroid Build Coastguard Worker dnl any other case the request can not be honored. 211*6236dae4SAndroid Build Coastguard Worker dnl IOW, existing optimizer flags defined in CFLAGS or CPPFLAGS 212*6236dae4SAndroid Build Coastguard Worker dnl will always take precedence over any initial assumption. 213*6236dae4SAndroid Build Coastguard Worker if test "$want_debug" = "yes"; then 214*6236dae4SAndroid Build Coastguard Worker want_optimize="assume_no" 215*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([(assumed) no]) 216*6236dae4SAndroid Build Coastguard Worker else 217*6236dae4SAndroid Build Coastguard Worker want_optimize="assume_yes" 218*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([(assumed) yes]) 219*6236dae4SAndroid Build Coastguard Worker fi 220*6236dae4SAndroid Build Coastguard Worker ;; 221*6236dae4SAndroid Build Coastguard Worker *) 222*6236dae4SAndroid Build Coastguard Worker dnl --enable-optimize option used. We will handle this as 223*6236dae4SAndroid Build Coastguard Worker dnl a request to enable compiler optimizations if possible. 224*6236dae4SAndroid Build Coastguard Worker dnl If the compiler is known CFLAGS and CPPFLAGS will be 225*6236dae4SAndroid Build Coastguard Worker dnl overridden, otherwise this can not be honored. 226*6236dae4SAndroid Build Coastguard Worker want_optimize="yes" 227*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 228*6236dae4SAndroid Build Coastguard Worker ;; 229*6236dae4SAndroid Build Coastguard Worker esac 230*6236dae4SAndroid Build Coastguard Worker]) 231*6236dae4SAndroid Build Coastguard Worker 232*6236dae4SAndroid Build Coastguard Worker 233*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_SYMBOL_HIDING 234*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 235*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 236*6236dae4SAndroid Build Coastguard Workerdnl --enable-symbol-hiding or --disable-symbol-hiding, 237*6236dae4SAndroid Build Coastguard Workerdnl setting shell variable want_symbol_hiding value. 238*6236dae4SAndroid Build Coastguard Worker 239*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_SYMBOL_HIDING], [ 240*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_COMPILER_SYMBOL_HIDING])dnl 241*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable hiding of library internal symbols]) 242*6236dae4SAndroid Build Coastguard Worker OPT_SYMBOL_HIDING="default" 243*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(symbol-hiding, 244*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-symbol-hiding],[Enable hiding of library internal symbols]) 245*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-symbol-hiding],[Disable hiding of library internal symbols]), 246*6236dae4SAndroid Build Coastguard Worker OPT_SYMBOL_HIDING=$enableval) 247*6236dae4SAndroid Build Coastguard Worker case "$OPT_SYMBOL_HIDING" in 248*6236dae4SAndroid Build Coastguard Worker no) 249*6236dae4SAndroid Build Coastguard Worker dnl --disable-symbol-hiding option used. 250*6236dae4SAndroid Build Coastguard Worker dnl This is an indication to not attempt hiding of library internal 251*6236dae4SAndroid Build Coastguard Worker dnl symbols. Default symbol visibility will be used, which normally 252*6236dae4SAndroid Build Coastguard Worker dnl exposes all library internal symbols. 253*6236dae4SAndroid Build Coastguard Worker want_symbol_hiding="no" 254*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 255*6236dae4SAndroid Build Coastguard Worker ;; 256*6236dae4SAndroid Build Coastguard Worker default) 257*6236dae4SAndroid Build Coastguard Worker dnl configure's symbol-hiding option not specified. 258*6236dae4SAndroid Build Coastguard Worker dnl Handle this as if --enable-symbol-hiding option was given. 259*6236dae4SAndroid Build Coastguard Worker want_symbol_hiding="yes" 260*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 261*6236dae4SAndroid Build Coastguard Worker ;; 262*6236dae4SAndroid Build Coastguard Worker *) 263*6236dae4SAndroid Build Coastguard Worker dnl --enable-symbol-hiding option used. 264*6236dae4SAndroid Build Coastguard Worker dnl This is an indication to attempt hiding of library internal 265*6236dae4SAndroid Build Coastguard Worker dnl symbols. This is only supported on some compilers/linkers. 266*6236dae4SAndroid Build Coastguard Worker want_symbol_hiding="yes" 267*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 268*6236dae4SAndroid Build Coastguard Worker ;; 269*6236dae4SAndroid Build Coastguard Worker esac 270*6236dae4SAndroid Build Coastguard Worker]) 271*6236dae4SAndroid Build Coastguard Worker 272*6236dae4SAndroid Build Coastguard Worker 273*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_THREADS 274*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 275*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 276*6236dae4SAndroid Build Coastguard Workerdnl --enable-threads or --disable-threads, and 277*6236dae4SAndroid Build Coastguard Workerdnl set shell variable want_threads as appropriate. 278*6236dae4SAndroid Build Coastguard Worker 279*6236dae4SAndroid Build Coastguard Workerdnl AC_DEFUN([CURL_CHECK_OPTION_THREADS], [ 280*6236dae4SAndroid Build Coastguard Workerdnl AC_BEFORE([$0],[CURL_CHECK_LIB_THREADS])dnl 281*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_CHECKING([whether to enable threads for DNS lookups]) 282*6236dae4SAndroid Build Coastguard Workerdnl OPT_THREADS="default" 283*6236dae4SAndroid Build Coastguard Workerdnl AC_ARG_ENABLE(threads, 284*6236dae4SAndroid Build Coastguard Workerdnl AS_HELP_STRING([--enable-threads@<:@=PATH@:>@],[Enable threads for DNS lookups]) 285*6236dae4SAndroid Build Coastguard Workerdnl AS_HELP_STRING([--disable-threads],[Disable threads for DNS lookups]), 286*6236dae4SAndroid Build Coastguard Workerdnl OPT_THREADS=$enableval) 287*6236dae4SAndroid Build Coastguard Workerdnl case "$OPT_THREADS" in 288*6236dae4SAndroid Build Coastguard Workerdnl no) 289*6236dae4SAndroid Build Coastguard Workerdnl dnl --disable-threads option used 290*6236dae4SAndroid Build Coastguard Workerdnl want_threads="no" 291*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_RESULT([no]) 292*6236dae4SAndroid Build Coastguard Workerdnl ;; 293*6236dae4SAndroid Build Coastguard Workerdnl default) 294*6236dae4SAndroid Build Coastguard Workerdnl dnl configure option not specified 295*6236dae4SAndroid Build Coastguard Workerdnl want_threads="no" 296*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_RESULT([(assumed) no]) 297*6236dae4SAndroid Build Coastguard Workerdnl ;; 298*6236dae4SAndroid Build Coastguard Workerdnl *) 299*6236dae4SAndroid Build Coastguard Workerdnl dnl --enable-threads option used 300*6236dae4SAndroid Build Coastguard Workerdnl want_threads="yes" 301*6236dae4SAndroid Build Coastguard Workerdnl want_threads_path="$enableval" 302*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_RESULT([yes]) 303*6236dae4SAndroid Build Coastguard Workerdnl ;; 304*6236dae4SAndroid Build Coastguard Workerdnl esac 305*6236dae4SAndroid Build Coastguard Workerdnl # 306*6236dae4SAndroid Build Coastguard Workerdnl if test "$want_ares" = "assume_yes"; then 307*6236dae4SAndroid Build Coastguard Workerdnl if test "$want_threads" = "yes"; then 308*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_CHECKING([whether to ignore c-ares enabling assumed setting]) 309*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_RESULT([yes]) 310*6236dae4SAndroid Build Coastguard Workerdnl want_ares="no" 311*6236dae4SAndroid Build Coastguard Workerdnl else 312*6236dae4SAndroid Build Coastguard Workerdnl want_ares="yes" 313*6236dae4SAndroid Build Coastguard Workerdnl fi 314*6236dae4SAndroid Build Coastguard Workerdnl fi 315*6236dae4SAndroid Build Coastguard Workerdnl if test "$want_threads" = "yes" && test "$want_ares" = "yes"; then 316*6236dae4SAndroid Build Coastguard Workerdnl AC_MSG_ERROR([options --enable-ares and --enable-threads are mutually exclusive, at most one may be enabled.]) 317*6236dae4SAndroid Build Coastguard Workerdnl fi 318*6236dae4SAndroid Build Coastguard Workerdnl ]) 319*6236dae4SAndroid Build Coastguard Worker 320*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_RT 321*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 322*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 323*6236dae4SAndroid Build Coastguard Workerdnl --disable-rt and set shell variable dontwant_rt 324*6236dae4SAndroid Build Coastguard Workerdnl as appropriate. 325*6236dae4SAndroid Build Coastguard Worker 326*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_RT], [ 327*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0], [CURL_CHECK_LIB_THREADS])dnl 328*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to disable dependency on -lrt]) 329*6236dae4SAndroid Build Coastguard Worker OPT_RT="default" 330*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(rt, 331*6236dae4SAndroid Build Coastguard Worker AS_HELP_STRING([--disable-rt],[disable dependency on -lrt]), 332*6236dae4SAndroid Build Coastguard Worker OPT_RT=$enableval) 333*6236dae4SAndroid Build Coastguard Worker case "$OPT_RT" in 334*6236dae4SAndroid Build Coastguard Worker no) 335*6236dae4SAndroid Build Coastguard Worker dnl --disable-rt used (reverse logic) 336*6236dae4SAndroid Build Coastguard Worker dontwant_rt="yes" 337*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 338*6236dae4SAndroid Build Coastguard Worker ;; 339*6236dae4SAndroid Build Coastguard Worker default) 340*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified (so not disabled) 341*6236dae4SAndroid Build Coastguard Worker dontwant_rt="no" 342*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([(assumed no)]) 343*6236dae4SAndroid Build Coastguard Worker ;; 344*6236dae4SAndroid Build Coastguard Worker *) 345*6236dae4SAndroid Build Coastguard Worker dnl --enable-rt option used (reverse logic) 346*6236dae4SAndroid Build Coastguard Worker dontwant_rt="no" 347*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 348*6236dae4SAndroid Build Coastguard Worker ;; 349*6236dae4SAndroid Build Coastguard Worker esac 350*6236dae4SAndroid Build Coastguard Worker]) 351*6236dae4SAndroid Build Coastguard Worker 352*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_WARNINGS 353*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 354*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 355*6236dae4SAndroid Build Coastguard Workerdnl --enable-warnings or --disable-warnings, and set 356*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_warnings as appropriate. 357*6236dae4SAndroid Build Coastguard Worker 358*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_WARNINGS], [ 359*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_OPTION_DEBUG])dnl 360*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_OPTION_WERROR])dnl 361*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[XC_CHECK_PROG_CC])dnl 362*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable strict compiler warnings]) 363*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_WARNINGS="default" 364*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(warnings, 365*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-warnings],[Enable strict compiler warnings]) 366*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-warnings],[Disable strict compiler warnings]), 367*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_WARNINGS=$enableval) 368*6236dae4SAndroid Build Coastguard Worker case "$OPT_COMPILER_WARNINGS" in 369*6236dae4SAndroid Build Coastguard Worker no) 370*6236dae4SAndroid Build Coastguard Worker dnl --disable-warnings option used 371*6236dae4SAndroid Build Coastguard Worker want_warnings="no" 372*6236dae4SAndroid Build Coastguard Worker ;; 373*6236dae4SAndroid Build Coastguard Worker default) 374*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified, so 375*6236dae4SAndroid Build Coastguard Worker dnl use same setting as --enable-debug 376*6236dae4SAndroid Build Coastguard Worker want_warnings="$want_debug" 377*6236dae4SAndroid Build Coastguard Worker ;; 378*6236dae4SAndroid Build Coastguard Worker *) 379*6236dae4SAndroid Build Coastguard Worker dnl --enable-warnings option used 380*6236dae4SAndroid Build Coastguard Worker want_warnings="yes" 381*6236dae4SAndroid Build Coastguard Worker ;; 382*6236dae4SAndroid Build Coastguard Worker esac 383*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_warnings]) 384*6236dae4SAndroid Build Coastguard Worker]) 385*6236dae4SAndroid Build Coastguard Worker 386*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_WERROR 387*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 388*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 389*6236dae4SAndroid Build Coastguard Workerdnl --enable-werror or --disable-werror, and set 390*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_werror as appropriate. 391*6236dae4SAndroid Build Coastguard Worker 392*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_WERROR], [ 393*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_COMPILER])dnl 394*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable compiler warnings as errors]) 395*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_WERROR="default" 396*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(werror, 397*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-werror],[Enable compiler warnings as errors]) 398*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-werror],[Disable compiler warnings as errors]), 399*6236dae4SAndroid Build Coastguard Worker OPT_COMPILER_WERROR=$enableval) 400*6236dae4SAndroid Build Coastguard Worker case "$OPT_COMPILER_WERROR" in 401*6236dae4SAndroid Build Coastguard Worker no) 402*6236dae4SAndroid Build Coastguard Worker dnl --disable-werror option used 403*6236dae4SAndroid Build Coastguard Worker want_werror="no" 404*6236dae4SAndroid Build Coastguard Worker ;; 405*6236dae4SAndroid Build Coastguard Worker default) 406*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 407*6236dae4SAndroid Build Coastguard Worker want_werror="no" 408*6236dae4SAndroid Build Coastguard Worker ;; 409*6236dae4SAndroid Build Coastguard Worker *) 410*6236dae4SAndroid Build Coastguard Worker dnl --enable-werror option used 411*6236dae4SAndroid Build Coastguard Worker want_werror="yes" 412*6236dae4SAndroid Build Coastguard Worker ;; 413*6236dae4SAndroid Build Coastguard Worker esac 414*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_werror]) 415*6236dae4SAndroid Build Coastguard Worker]) 416*6236dae4SAndroid Build Coastguard Worker 417*6236dae4SAndroid Build Coastguard Worker 418*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_NONBLOCKING_SOCKET 419*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 420*6236dae4SAndroid Build Coastguard Workerdnl Check for how to set a socket into non-blocking state. 421*6236dae4SAndroid Build Coastguard Worker 422*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_NONBLOCKING_SOCKET], [ 423*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_FUNC_FCNTL])dnl 424*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET])dnl 425*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_FUNC_IOCTLSOCKET_CAMEL])dnl 426*6236dae4SAndroid Build Coastguard Worker # 427*6236dae4SAndroid Build Coastguard Worker tst_method="unknown" 428*6236dae4SAndroid Build Coastguard Worker 429*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([how to set a socket into non-blocking mode]) 430*6236dae4SAndroid Build Coastguard Worker if test "x$curl_cv_func_fcntl_o_nonblock" = "xyes"; then 431*6236dae4SAndroid Build Coastguard Worker tst_method="fcntl O_NONBLOCK" 432*6236dae4SAndroid Build Coastguard Worker elif test "x$curl_cv_func_ioctl_fionbio" = "xyes"; then 433*6236dae4SAndroid Build Coastguard Worker tst_method="ioctl FIONBIO" 434*6236dae4SAndroid Build Coastguard Worker elif test "x$curl_cv_func_ioctlsocket_fionbio" = "xyes"; then 435*6236dae4SAndroid Build Coastguard Worker tst_method="ioctlsocket FIONBIO" 436*6236dae4SAndroid Build Coastguard Worker elif test "x$curl_cv_func_ioctlsocket_camel_fionbio" = "xyes"; then 437*6236dae4SAndroid Build Coastguard Worker tst_method="IoctlSocket FIONBIO" 438*6236dae4SAndroid Build Coastguard Worker elif test "x$curl_cv_func_setsockopt_so_nonblock" = "xyes"; then 439*6236dae4SAndroid Build Coastguard Worker tst_method="setsockopt SO_NONBLOCK" 440*6236dae4SAndroid Build Coastguard Worker fi 441*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$tst_method]) 442*6236dae4SAndroid Build Coastguard Worker if test "$tst_method" = "unknown"; then 443*6236dae4SAndroid Build Coastguard Worker AC_MSG_WARN([cannot determine non-blocking socket method.]) 444*6236dae4SAndroid Build Coastguard Worker fi 445*6236dae4SAndroid Build Coastguard Worker]) 446*6236dae4SAndroid Build Coastguard Worker 447*6236dae4SAndroid Build Coastguard Worker 448*6236dae4SAndroid Build Coastguard Workerdnl CURL_CONFIGURE_SYMBOL_HIDING 449*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 450*6236dae4SAndroid Build Coastguard Workerdnl Depending on --enable-symbol-hiding or --disable-symbol-hiding 451*6236dae4SAndroid Build Coastguard Workerdnl configure option, and compiler capability to actually honor such 452*6236dae4SAndroid Build Coastguard Workerdnl option, this will modify compiler flags as appropriate and also 453*6236dae4SAndroid Build Coastguard Workerdnl provide needed definitions for configuration and Makefile.am files. 454*6236dae4SAndroid Build Coastguard Workerdnl This macro should not be used until all compilation tests have 455*6236dae4SAndroid Build Coastguard Workerdnl been done to prevent interferences on other tests. 456*6236dae4SAndroid Build Coastguard Worker 457*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CONFIGURE_SYMBOL_HIDING], [ 458*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether hiding of library internal symbols will actually happen]) 459*6236dae4SAndroid Build Coastguard Worker CFLAG_CURL_SYMBOL_HIDING="" 460*6236dae4SAndroid Build Coastguard Worker doing_symbol_hiding="no" 461*6236dae4SAndroid Build Coastguard Worker if test "$want_symbol_hiding" = "yes" && 462*6236dae4SAndroid Build Coastguard Worker test "$supports_symbol_hiding" = "yes"; then 463*6236dae4SAndroid Build Coastguard Worker doing_symbol_hiding="yes" 464*6236dae4SAndroid Build Coastguard Worker CFLAG_CURL_SYMBOL_HIDING="$symbol_hiding_CFLAGS" 465*6236dae4SAndroid Build Coastguard Worker AC_DEFINE_UNQUOTED(CURL_EXTERN_SYMBOL, $symbol_hiding_EXTERN, 466*6236dae4SAndroid Build Coastguard Worker [Definition to make a library symbol externally visible.]) 467*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 468*6236dae4SAndroid Build Coastguard Worker else 469*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 470*6236dae4SAndroid Build Coastguard Worker fi 471*6236dae4SAndroid Build Coastguard Worker AM_CONDITIONAL(DOING_CURL_SYMBOL_HIDING, test x$doing_symbol_hiding = xyes) 472*6236dae4SAndroid Build Coastguard Worker AC_SUBST(CFLAG_CURL_SYMBOL_HIDING) 473*6236dae4SAndroid Build Coastguard Worker]) 474*6236dae4SAndroid Build Coastguard Worker 475*6236dae4SAndroid Build Coastguard Worker 476*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_LIB_ARES 477*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 478*6236dae4SAndroid Build Coastguard Workerdnl When c-ares library support has been requested, performs necessary checks 479*6236dae4SAndroid Build Coastguard Workerdnl and adjustments needed to enable support of this library. 480*6236dae4SAndroid Build Coastguard Worker 481*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_LIB_ARES], [ 482*6236dae4SAndroid Build Coastguard Worker # 483*6236dae4SAndroid Build Coastguard Worker if test "$want_ares" = "yes"; then 484*6236dae4SAndroid Build Coastguard Worker dnl c-ares library support has been requested 485*6236dae4SAndroid Build Coastguard Worker clean_CPPFLAGS="$CPPFLAGS" 486*6236dae4SAndroid Build Coastguard Worker clean_LDFLAGS="$LDFLAGS" 487*6236dae4SAndroid Build Coastguard Worker clean_LIBS="$LIBS" 488*6236dae4SAndroid Build Coastguard Worker configure_runpath=`pwd` 489*6236dae4SAndroid Build Coastguard Worker if test -n "$want_ares_path"; then 490*6236dae4SAndroid Build Coastguard Worker dnl c-ares library path has been specified 491*6236dae4SAndroid Build Coastguard Worker ARES_PCDIR="$want_ares_path/lib/pkgconfig" 492*6236dae4SAndroid Build Coastguard Worker CURL_CHECK_PKGCONFIG(libcares, [$ARES_PCDIR]) 493*6236dae4SAndroid Build Coastguard Worker if test "$PKGCONFIG" != "no" ; then 494*6236dae4SAndroid Build Coastguard Worker ares_LIBS=`CURL_EXPORT_PCDIR([$ARES_PCDIR]) 495*6236dae4SAndroid Build Coastguard Worker $PKGCONFIG --libs-only-l libcares` 496*6236dae4SAndroid Build Coastguard Worker ares_LDFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR]) 497*6236dae4SAndroid Build Coastguard Worker $PKGCONFIG --libs-only-L libcares` 498*6236dae4SAndroid Build Coastguard Worker ares_CPPFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR]) 499*6236dae4SAndroid Build Coastguard Worker $PKGCONFIG --cflags-only-I libcares` 500*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares LIBS: "$ares_LIBS"]) 501*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares LDFLAGS: "$ares_LDFLAGS"]) 502*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares CPPFLAGS: "$ares_CPPFLAGS"]) 503*6236dae4SAndroid Build Coastguard Worker else 504*6236dae4SAndroid Build Coastguard Worker dnl ... path without pkg-config 505*6236dae4SAndroid Build Coastguard Worker ares_CPPFLAGS="-I$want_ares_path/include" 506*6236dae4SAndroid Build Coastguard Worker ares_LDFLAGS="-L$want_ares_path/lib" 507*6236dae4SAndroid Build Coastguard Worker ares_LIBS="-lcares" 508*6236dae4SAndroid Build Coastguard Worker fi 509*6236dae4SAndroid Build Coastguard Worker else 510*6236dae4SAndroid Build Coastguard Worker dnl c-ares path not specified, use defaults 511*6236dae4SAndroid Build Coastguard Worker CURL_CHECK_PKGCONFIG(libcares) 512*6236dae4SAndroid Build Coastguard Worker if test "$PKGCONFIG" != "no" ; then 513*6236dae4SAndroid Build Coastguard Worker ares_LIBS=`$PKGCONFIG --libs-only-l libcares` 514*6236dae4SAndroid Build Coastguard Worker ares_LDFLAGS=`$PKGCONFIG --libs-only-L libcares` 515*6236dae4SAndroid Build Coastguard Worker ares_CPPFLAGS=`$PKGCONFIG --cflags-only-I libcares` 516*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares_LIBS: "$ares_LIBS"]) 517*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares_LDFLAGS: "$ares_LDFLAGS"]) 518*6236dae4SAndroid Build Coastguard Worker AC_MSG_NOTICE([pkg-config: ares_CPPFLAGS: "$ares_CPPFLAGS"]) 519*6236dae4SAndroid Build Coastguard Worker else 520*6236dae4SAndroid Build Coastguard Worker ares_CPPFLAGS="" 521*6236dae4SAndroid Build Coastguard Worker ares_LDFLAGS="" 522*6236dae4SAndroid Build Coastguard Worker ares_LIBS="-lcares" 523*6236dae4SAndroid Build Coastguard Worker fi 524*6236dae4SAndroid Build Coastguard Worker fi 525*6236dae4SAndroid Build Coastguard Worker # 526*6236dae4SAndroid Build Coastguard Worker CPPFLAGS="$clean_CPPFLAGS $ares_CPPFLAGS" 527*6236dae4SAndroid Build Coastguard Worker LDFLAGS="$clean_LDFLAGS $ares_LDFLAGS" 528*6236dae4SAndroid Build Coastguard Worker LIBS="$ares_LIBS $clean_LIBS" 529*6236dae4SAndroid Build Coastguard Worker # 530*6236dae4SAndroid Build Coastguard Worker 531*6236dae4SAndroid Build Coastguard Worker dnl check if c-ares new enough 532*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([that c-ares is good and recent enough]) 533*6236dae4SAndroid Build Coastguard Worker AC_LINK_IFELSE([ 534*6236dae4SAndroid Build Coastguard Worker AC_LANG_PROGRAM([[ 535*6236dae4SAndroid Build Coastguard Worker #include <ares.h> 536*6236dae4SAndroid Build Coastguard Worker /* set of dummy functions in case c-ares was built with debug */ 537*6236dae4SAndroid Build Coastguard Worker void curl_dofree() { } 538*6236dae4SAndroid Build Coastguard Worker void curl_sclose() { } 539*6236dae4SAndroid Build Coastguard Worker void curl_domalloc() { } 540*6236dae4SAndroid Build Coastguard Worker void curl_docalloc() { } 541*6236dae4SAndroid Build Coastguard Worker void curl_socket() { } 542*6236dae4SAndroid Build Coastguard Worker ]],[[ 543*6236dae4SAndroid Build Coastguard Worker ares_channel channel; 544*6236dae4SAndroid Build Coastguard Worker ares_cancel(channel); /* added in 1.2.0 */ 545*6236dae4SAndroid Build Coastguard Worker ares_process_fd(channel, 0, 0); /* added in 1.4.0 */ 546*6236dae4SAndroid Build Coastguard Worker ares_dup(&channel, channel); /* added in 1.6.0 */ 547*6236dae4SAndroid Build Coastguard Worker ]]) 548*6236dae4SAndroid Build Coastguard Worker ],[ 549*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 550*6236dae4SAndroid Build Coastguard Worker ],[ 551*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 552*6236dae4SAndroid Build Coastguard Worker AC_MSG_ERROR([c-ares library defective or too old]) 553*6236dae4SAndroid Build Coastguard Worker dnl restore initial settings 554*6236dae4SAndroid Build Coastguard Worker CPPFLAGS="$clean_CPPFLAGS" 555*6236dae4SAndroid Build Coastguard Worker LDFLAGS="$clean_LDFLAGS" 556*6236dae4SAndroid Build Coastguard Worker LIBS="$clean_LIBS" 557*6236dae4SAndroid Build Coastguard Worker # prevent usage 558*6236dae4SAndroid Build Coastguard Worker want_ares="no" 559*6236dae4SAndroid Build Coastguard Worker ]) 560*6236dae4SAndroid Build Coastguard Worker 561*6236dae4SAndroid Build Coastguard Worker if test "$want_ares" = "yes"; then 562*6236dae4SAndroid Build Coastguard Worker dnl finally c-ares will be used 563*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(USE_ARES, 1, [Define to enable c-ares support]) 564*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(CARES_NO_DEPRECATED, 1, [Ignore c-ares deprecation warnings]) 565*6236dae4SAndroid Build Coastguard Worker AC_SUBST([USE_ARES], [1]) 566*6236dae4SAndroid Build Coastguard Worker LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE libcares" 567*6236dae4SAndroid Build Coastguard Worker curl_res_msg="c-ares" 568*6236dae4SAndroid Build Coastguard Worker fi 569*6236dae4SAndroid Build Coastguard Worker fi 570*6236dae4SAndroid Build Coastguard Worker]) 571*6236dae4SAndroid Build Coastguard Worker 572*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_NTLM_WB 573*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 574*6236dae4SAndroid Build Coastguard Workerdnl Verify if configure has been invoked with option 575*6236dae4SAndroid Build Coastguard Workerdnl --enable-ntlm-wb or --disable-ntlm-wb, and set 576*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_ntlm_wb and want_ntlm_wb_file 577*6236dae4SAndroid Build Coastguard Workerdnl as appropriate. 578*6236dae4SAndroid Build Coastguard Worker 579*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_NTLM_WB], [ 580*6236dae4SAndroid Build Coastguard Worker AC_BEFORE([$0],[CURL_CHECK_NTLM_WB])dnl 581*6236dae4SAndroid Build Coastguard Worker OPT_NTLM_WB="default" 582*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(ntlm-wb, 583*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-ntlm-wb@<:@=FILE@:>@],[Enable NTLM delegation to winbind's ntlm_auth helper, where FILE is ntlm_auth's absolute filename (default: /usr/bin/ntlm_auth)]) 584*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-ntlm-wb],[Disable NTLM delegation to winbind's ntlm_auth helper]), 585*6236dae4SAndroid Build Coastguard Worker OPT_NTLM_WB=$enableval) 586*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb_file="/usr/bin/ntlm_auth" 587*6236dae4SAndroid Build Coastguard Worker case "$OPT_NTLM_WB" in 588*6236dae4SAndroid Build Coastguard Worker no) 589*6236dae4SAndroid Build Coastguard Worker dnl --disable-ntlm-wb option used 590*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb="no" 591*6236dae4SAndroid Build Coastguard Worker ;; 592*6236dae4SAndroid Build Coastguard Worker default) 593*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 594*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb="yes" 595*6236dae4SAndroid Build Coastguard Worker ;; 596*6236dae4SAndroid Build Coastguard Worker *) 597*6236dae4SAndroid Build Coastguard Worker dnl --enable-ntlm-wb option used 598*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb="yes" 599*6236dae4SAndroid Build Coastguard Worker if test -n "$enableval" && test "$enableval" != "yes"; then 600*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb_file="$enableval" 601*6236dae4SAndroid Build Coastguard Worker fi 602*6236dae4SAndroid Build Coastguard Worker ;; 603*6236dae4SAndroid Build Coastguard Worker esac 604*6236dae4SAndroid Build Coastguard Worker]) 605*6236dae4SAndroid Build Coastguard Worker 606*6236dae4SAndroid Build Coastguard Worker 607*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_NTLM_WB 608*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 609*6236dae4SAndroid Build Coastguard Workerdnl Check if support for NTLM delegation to winbind's 610*6236dae4SAndroid Build Coastguard Workerdnl ntlm_auth helper will finally be enabled depending 611*6236dae4SAndroid Build Coastguard Workerdnl on given configure options and target platform. 612*6236dae4SAndroid Build Coastguard Worker 613*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_NTLM_WB], [ 614*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_OPTION_NTLM_WB])dnl 615*6236dae4SAndroid Build Coastguard Worker AC_REQUIRE([CURL_CHECK_NATIVE_WINDOWS])dnl 616*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable NTLM delegation to winbind's helper]) 617*6236dae4SAndroid Build Coastguard Worker if test "$curl_cv_native_windows" = "yes" || 618*6236dae4SAndroid Build Coastguard Worker test "x$SSL_ENABLED" = "x"; then 619*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb_file="" 620*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb="no" 621*6236dae4SAndroid Build Coastguard Worker elif test "x$ac_cv_func_fork" != "xyes"; then 622*6236dae4SAndroid Build Coastguard Worker dnl ntlm_wb requires fork 623*6236dae4SAndroid Build Coastguard Worker want_ntlm_wb="no" 624*6236dae4SAndroid Build Coastguard Worker fi 625*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$want_ntlm_wb]) 626*6236dae4SAndroid Build Coastguard Worker if test "$want_ntlm_wb" = "yes"; then 627*6236dae4SAndroid Build Coastguard Worker AC_DEFINE(NTLM_WB_ENABLED, 1, 628*6236dae4SAndroid Build Coastguard Worker [Define to enable NTLM delegation to winbind's ntlm_auth helper.]) 629*6236dae4SAndroid Build Coastguard Worker AC_DEFINE_UNQUOTED(NTLM_WB_FILE, "$want_ntlm_wb_file", 630*6236dae4SAndroid Build Coastguard Worker [Define absolute filename for winbind's ntlm_auth helper.]) 631*6236dae4SAndroid Build Coastguard Worker NTLM_WB_ENABLED=1 632*6236dae4SAndroid Build Coastguard Worker fi 633*6236dae4SAndroid Build Coastguard Worker]) 634*6236dae4SAndroid Build Coastguard Worker 635*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_HTTPSRR 636*6236dae4SAndroid Build Coastguard Workerdnl ----------------------------------------------------- 637*6236dae4SAndroid Build Coastguard Workerdnl Verify whether configure has been invoked with option 638*6236dae4SAndroid Build Coastguard Workerdnl --enable-httpsrr or --disable-httpsrr, and set 639*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_httpsrr as appropriate. 640*6236dae4SAndroid Build Coastguard Worker 641*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_HTTPSRR], [ 642*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable HTTPSRR support]) 643*6236dae4SAndroid Build Coastguard Worker OPT_HTTPSRR="default" 644*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(httpsrr, 645*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-httpsrr],[Enable HTTPSRR support]) 646*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-httpsrr],[Disable HTTPSRR support]), 647*6236dae4SAndroid Build Coastguard Worker OPT_HTTPSRR=$enableval) 648*6236dae4SAndroid Build Coastguard Worker case "$OPT_HTTPSRR" in 649*6236dae4SAndroid Build Coastguard Worker no) 650*6236dae4SAndroid Build Coastguard Worker dnl --disable-httpsrr option used 651*6236dae4SAndroid Build Coastguard Worker want_httpsrr="no" 652*6236dae4SAndroid Build Coastguard Worker curl_httpsrr_msg="no (--enable-httpsrr)" 653*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 654*6236dae4SAndroid Build Coastguard Worker ;; 655*6236dae4SAndroid Build Coastguard Worker default) 656*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 657*6236dae4SAndroid Build Coastguard Worker want_httpsrr="no" 658*6236dae4SAndroid Build Coastguard Worker curl_httpsrr_msg="no (--enable-httpsrr)" 659*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 660*6236dae4SAndroid Build Coastguard Worker ;; 661*6236dae4SAndroid Build Coastguard Worker *) 662*6236dae4SAndroid Build Coastguard Worker dnl --enable-httpsrr option used 663*6236dae4SAndroid Build Coastguard Worker want_httpsrr="yes" 664*6236dae4SAndroid Build Coastguard Worker curl_httpsrr_msg="enabled (--disable-httpsrr)" 665*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 666*6236dae4SAndroid Build Coastguard Worker ;; 667*6236dae4SAndroid Build Coastguard Worker esac 668*6236dae4SAndroid Build Coastguard Worker]) 669*6236dae4SAndroid Build Coastguard Worker 670*6236dae4SAndroid Build Coastguard Workerdnl CURL_CHECK_OPTION_ECH 671*6236dae4SAndroid Build Coastguard Workerdnl ----------------------------------------------------- 672*6236dae4SAndroid Build Coastguard Workerdnl Verify whether configure has been invoked with option 673*6236dae4SAndroid Build Coastguard Workerdnl --enable-ech or --disable-ech, and set 674*6236dae4SAndroid Build Coastguard Workerdnl shell variable want_ech as appropriate. 675*6236dae4SAndroid Build Coastguard Worker 676*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([CURL_CHECK_OPTION_ECH], [ 677*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([whether to enable ECH support]) 678*6236dae4SAndroid Build Coastguard Worker OPT_ECH="default" 679*6236dae4SAndroid Build Coastguard Worker AC_ARG_ENABLE(ech, 680*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--enable-ech],[Enable ECH support]) 681*6236dae4SAndroid Build Coastguard WorkerAS_HELP_STRING([--disable-ech],[Disable ECH support]), 682*6236dae4SAndroid Build Coastguard Worker OPT_ECH=$enableval) 683*6236dae4SAndroid Build Coastguard Worker case "$OPT_ECH" in 684*6236dae4SAndroid Build Coastguard Worker no) 685*6236dae4SAndroid Build Coastguard Worker dnl --disable-ech option used 686*6236dae4SAndroid Build Coastguard Worker want_ech="no" 687*6236dae4SAndroid Build Coastguard Worker curl_ech_msg="no (--enable-ech)" 688*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 689*6236dae4SAndroid Build Coastguard Worker ;; 690*6236dae4SAndroid Build Coastguard Worker default) 691*6236dae4SAndroid Build Coastguard Worker dnl configure option not specified 692*6236dae4SAndroid Build Coastguard Worker want_ech="no" 693*6236dae4SAndroid Build Coastguard Worker curl_ech_msg="no (--enable-ech)" 694*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([no]) 695*6236dae4SAndroid Build Coastguard Worker ;; 696*6236dae4SAndroid Build Coastguard Worker *) 697*6236dae4SAndroid Build Coastguard Worker dnl --enable-ech option used 698*6236dae4SAndroid Build Coastguard Worker want_ech="yes" 699*6236dae4SAndroid Build Coastguard Worker curl_ech_msg="enabled (--disable-ech)" 700*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([yes]) 701*6236dae4SAndroid Build Coastguard Worker ;; 702*6236dae4SAndroid Build Coastguard Worker esac 703*6236dae4SAndroid Build Coastguard Worker]) 704*6236dae4SAndroid Build Coastguard Worker]) 705