Annotation of embedaddon/curl/m4/curl-confopts.m4, revision 1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>