Skip to content
Snippets Groups Projects
configure.in 23.1 KiB
Newer Older
  • Learn to ignore specific revisions
  • Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl $Id$
    dnl Process this file with autoconf to produce a configure script.
    
    
    dnl Ensure that this file is processed with autoconf 2.50 or newer
    dnl Don't even think about removing this check!
    AC_PREREQ(2.50)
    
    dnl First some basic init macros
    
    AC_INIT
    AC_CONFIG_SRCDIR([lib/urldata.h])
    
    AM_CONFIG_HEADER(lib/config.h src/config.h tests/server/config.h lib/ca-bundle.h)
    
    AC_PATH_PROG( SED, sed, , $PATH:/usr/bin:/usr/local/bin)
    AC_SUBST(SED)
    
    
    dnl figure out the libcurl version
    
    VERSION=`$SED -ne 's/^#define LIBCURL_VERSION "\(.*\)"/\1/p' ${srcdir}/include/curl/curl.h`
    
    AC_MSG_CHECKING([curl version])
    AC_MSG_RESULT($VERSION)
    
    dnl
    dnl we extract the numerical version for curl-config only
    
    VERSIONNUM=`$SED -ne 's/^#define LIBCURL_VERSION_NUM 0x\(.*\)/\1/p' ${srcdir}/include/curl/curl.h`
    
    dnl Solaris pkgadd support definitions
    PKGADD_PKG="HAXXcurl"
    PKGADD_NAME="cURL - a client that groks URLs"
    PKGADD_VENDOR="curl.haxx.se"
    AC_SUBST(PKGADD_PKG)
    AC_SUBST(PKGADD_NAME)
    AC_SUBST(PKGADD_VENDOR)
    
    
    
    dnl
    dnl Detect the canonical host and target build environment
    dnl
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    AC_CANONICAL_HOST
    
    dnl Get system canonical name
    
    AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
    
    
    dnl Check for AIX weirdos
    AC_AIX
    
    
    dnl Checks for programs.
    AC_PROG_CC
    
    
    dnl check for how to do large files
    
    AC_SYS_LARGEFILE
    
    dnl check for cygwin stuff
    AC_LIBTOOL_WIN32_DLL
    
    dnl libtool setup
    
      *-*-cygwin | *-*-mingw* | *-*-pw32*)
    
        need_no_undefined=yes
        ;;
      *)
        need_no_undefined=no
        ;;
    esac
    
    AM_CONDITIONAL(NO_UNDEFINED, test x$need_no_undefined = xyes)
    
    
    dnl The install stuff has already been taken care of by the automake stuff
    dnl AC_PROG_INSTALL
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    AC_PROG_MAKE_SET
    
    
    dnl ************************************************************
    dnl switch off particular protocols
    dnl
    AC_MSG_CHECKING([whether to support http])
    AC_ARG_ENABLE(http,
    
    AC_HELP_STRING([--enable-http],[Enable HTTP support])
    AC_HELP_STRING([--disable-http],[Disable HTTP support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_HTTP, 1, [to disable HTTP])
    
           AC_MSG_WARN([disable HTTP disables FTP over proxy and GOPHER too])
    
           AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable GOPHER])
    
           AC_SUBST(CURL_DISABLE_HTTP)
           AC_SUBST(CURL_DISABLE_GOPHER)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support ftp])
    AC_ARG_ENABLE(ftp,
    
    AC_HELP_STRING([--enable-ftp],[Enable FTP support])
    AC_HELP_STRING([--disable-ftp],[Disable FTP support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_FTP, 1, [to disable FTP])
    
           AC_SUBST(CURL_DISABLE_FTP)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support gopher])
    AC_ARG_ENABLE(gopher,
    
    AC_HELP_STRING([--enable-gopher],[Enable GOPHER support])
    AC_HELP_STRING([--disable-gopher],[Disable GOPHER support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_GOPHER, 1, [to disable GOPHER])
    
           AC_SUBST(CURL_DISABLE_GOPHER)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support file])
    AC_ARG_ENABLE(file,
    
    AC_HELP_STRING([--enable-file],[Enable FILE support])
    AC_HELP_STRING([--disable-file],[Disable FILE support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_FILE, 1, [to disable FILE])
    
           AC_SUBST(CURL_DISABLE_FILE)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support ldap])
    AC_ARG_ENABLE(ldap,
    
    AC_HELP_STRING([--enable-ldap],[Enable LDAP support])
    AC_HELP_STRING([--disable-ldap],[Disable LDAP support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP])
    
           AC_SUBST(CURL_DISABLE_LDAP)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support dict])
    AC_ARG_ENABLE(dict,
    
    AC_HELP_STRING([--enable-dict],[Enable DICT support])
    AC_HELP_STRING([--disable-dict],[Disable DICT support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_DICT, 1, [to disable DICT])
    
           AC_SUBST(CURL_DISABLE_DICT)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    AC_MSG_CHECKING([whether to support telnet])
    AC_ARG_ENABLE(telnet,
    
    AC_HELP_STRING([--enable-telnet],[Enable TELNET support])
    AC_HELP_STRING([--disable-telnet],[Disable TELNET support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
    
           AC_DEFINE(CURL_DISABLE_TELNET, 1, [to disable TELNET])
    
           AC_SUBST(CURL_DISABLE_TELNET)
           ;;
      *)   AC_MSG_RESULT(yes)
           ;;
      esac ],
           AC_MSG_RESULT(yes)
    )
    
    
    
    dnl **********************************************************************
    dnl Checks for IPv6
    dnl **********************************************************************
    
    AC_MSG_CHECKING([whether to enable ipv6])
    AC_ARG_ENABLE(ipv6,
    
    AC_HELP_STRING([--enable-ipv6],[Enable ipv6 (with ipv4) support])
    AC_HELP_STRING([--disable-ipv6],[Disable ipv6 support]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
           ipv6=no
           ;;
      *)   AC_MSG_RESULT(yes)
           ipv6=yes
           ;;
      esac ],
    
      AC_TRY_RUN([ /* is AF_INET6 available? */
    #include <sys/types.h>
    #include <sys/socket.h>
    main()
    {
     if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
       exit(1);
     else
       exit(0);
    }
    ],
      AC_MSG_RESULT(yes)
      ipv6=yes,
      AC_MSG_RESULT(no)
      ipv6=no,
      AC_MSG_RESULT(no)
      ipv6=no
    ))
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    if test "$ipv6" = "yes"; then
      CURL_CHECK_WORKING_GETADDRINFO
    fi
    
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl **********************************************************************
    dnl Checks for libraries.
    dnl **********************************************************************
    
    
    AC_CHECK_FUNC(gethostbyname, , [ AC_CHECK_LIB(nsl, gethostbyname) ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    if test "$ac_cv_lib_nsl_gethostbyname" != "yes" -a "$ac_cv_func_gethostbyname" != "yes"; then
      dnl gethostbyname in the socket lib?
    
      AC_CHECK_FUNC(gethostbyname, , [ AC_CHECK_LIB(socket, gethostbyname) ])
    
    dnl At least one system has been identified to require BOTH nsl and
    dnl socket libs to link properly.
    if test "$ac_cv_lib_nsl_gethostbyname" = "$ac_cv_func_gethostbyname"; then
      AC_MSG_CHECKING([trying both nsl and socket libs])
      my_ac_save_LIBS=$LIBS
      LIBS="-lnsl -lsocket $LIBS"
      AC_TRY_LINK( ,
                 [gethostbyname();],
                 my_ac_link_result=success,
                 my_ac_link_result=failure )
    
      if test "$my_ac_link_result" = "failure"; then
        AC_MSG_RESULT([no])
        AC_MSG_ERROR([couldn't find libraries for gethostbyname()])
        dnl restore LIBS
        LIBS=$my_ac_save_LIBS
      else
        AC_MSG_RESULT([yes])
      fi
    fi
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl resolve lib?
    
    AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then
      AC_CHECK_LIB(resolve, strcasecmp,
                  [LIBS="-lresolve $LIBS"],
                   ,
                   -lnsl)
    fi
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl socket lib?
    
    AC_CHECK_FUNC(connect, , [ AC_CHECK_LIB(socket, connect) ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    dnl dl lib?
    
    AC_CHECK_FUNC(dlclose, , [ AC_CHECK_LIB(dl, dlopen) ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    AC_MSG_CHECKING([whether to use libgcc])
    AC_ARG_ENABLE(libgcc,
    AC_HELP_STRING([--enable-libgcc],[use libgcc when linking]),
    [ case "$enableval" in
      yes)
            LIBS="$LIBS -lgcc"
           AC_MSG_RESULT(yes)
           ;;
      *)   AC_MSG_RESULT(no)
           ;;
      esac ],
           AC_MSG_RESULT(no)
    )
    
    
    dnl **********************************************************************
    dnl Check how non-blocking sockets are set
    dnl **********************************************************************
    AC_ARG_ENABLE(nonblocking,
    
    AC_HELP_STRING([--enable-nonblocking],[Enable detecting how to do it])
    AC_HELP_STRING([--disable-nonblocking],[Disable non-blocking socket detection]),
    
    [
      if test "$enableval" = "no" ; then
        AC_MSG_WARN([non-blocking sockets disabled])
    
        AC_DEFINE(HAVE_DISABLED_NONBLOCKING, 1,
        [to disable NON-BLOCKING connections])
    
      else
        CURL_CHECK_NONBLOCKING_SOCKET
      fi
    ],
    [
      CURL_CHECK_NONBLOCKING_SOCKET
    ])
    
    
    dnl **********************************************************************
    dnl Check for the random seed preferences 
    dnl **********************************************************************
    
    AC_ARG_WITH(egd-socket,
    
    AC_HELP_STRING([--with-egd-socket=FILE],
                   [Entropy Gathering Daemon socket pathname]),
    
        [ EGD_SOCKET="$withval" ]
    )
    if test -n "$EGD_SOCKET" ; then
    
    	AC_DEFINE_UNQUOTED(EGD_SOCKET, "$EGD_SOCKET",
            [your Entropy Gathering Daemon socket pathname] )
    
    fi
    
    dnl Check for user-specified random device
    AC_ARG_WITH(random,
    
    AC_HELP_STRING([--with-random=FILE],[read randomness from FILE (default=/dev/urandom)]),
    
        [ RANDOM_FILE="$withval" ],
        [
            dnl Check for random device
    
            AC_CHECK_FILE("/dev/urandom", [ RANDOM_FILE="/dev/urandom"] )
    
        ]
    )
    if test -n "$RANDOM_FILE" ; then
    	AC_SUBST(RANDOM_FILE)
    
    	AC_DEFINE_UNQUOTED(RANDOM_FILE, "$RANDOM_FILE",
            [a suitable file to read random data from])
    
    dnl **********************************************************************
    dnl Check if the operating system allows programs to write to their own argv[]
    dnl **********************************************************************
    
    AC_MSG_CHECKING([if argv can be written to])
    AC_TRY_RUN([
    int main(int argc, char ** argv) {
    	argv[0][0] = ' ';
    	return (argv[0][0] == ' ')?0:1;
    }
    	],
    	AC_DEFINE(HAVE_WRITABLE_ARGV, 1, [Define this symbol if your OS supports changing the contents of argv])
    	AC_MSG_RESULT(yes),
    	AC_MSG_RESULT(no)
    )
    
    
    dnl **********************************************************************
    dnl Check for the presence of Kerberos4 libraries and headers
    dnl **********************************************************************
    
    AC_ARG_WITH(krb4-includes,
    
    AC_HELP_STRING([--with-krb4-includes=DIR],
                   [Specify location of kerberos4 headers]),[
    
     CPPFLAGS="$CPPFLAGS -I$withval"
     KRB4INC="$withval"
     want_krb4=yes
     ])
    
    AC_ARG_WITH(krb4-libs,
    
    AC_HELP_STRING([--with-krb4-libs=DIR],[Specify location of kerberos4 libs]),[
    
     LDFLAGS="$LDFLAGS -L$withval"
     KRB4LIB="$withval"
     want_krb4=yes
     ])
    
    
    OPT_KRB4=off
    AC_ARG_WITH(krb4,dnl
    
    AC_HELP_STRING([--with-krb4=DIR],[where to look for Kerberos4]),[
    
      OPT_KRB4="$withval"
      if test X"$OPT_KRB4" != Xyes
      then
        LDFLAGS="$LDFLAGS -L$OPT_KRB4/lib"
        KRB4LIB="$OPT_KRB4/lib"
        CPPFLAGS="$CPPFLAGS -I$OPT_KRB4/include"
        KRB4INC="$OPT_KRB4/include"
      fi
      want_krb4="yes"
     ])
    
    AC_MSG_CHECKING([if Kerberos4 support is requested])
    
    if test "$want_krb4" = yes
    then
    
      if test "$ipv6" = "yes"; then
        echo krb4 is not compatible with IPv6
        exit 1
      fi
    
      AC_MSG_RESULT(yes)
    
      dnl Check for & handle argument to --with-krb4
    
      AC_MSG_CHECKING(where to look for Kerberos4)
      if test X"$OPT_KRB4" = Xyes
      then
        AC_MSG_RESULT([defaults])
      else
        AC_MSG_RESULT([libs in $KRB4LIB, headers in $KRB4INC])
      fi
    
      dnl Check for DES library
      AC_CHECK_LIB(des, des_pcbc_encrypt,
      [
        AC_CHECK_HEADERS(des.h)
    
        dnl resolv lib?
    
        AC_CHECK_FUNC(res_search, , [AC_CHECK_LIB(resolv, res_search)])
    
    
        dnl Check for the Kerberos4 library
        AC_CHECK_LIB(krb, krb_net_read,
        [
          dnl Check for header files
          AC_CHECK_HEADERS(krb.h)
    
          dnl we found the required libraries, add to LIBS
          LIBS="-lkrb -ldes $LIBS"
    
          dnl Check for function krb_get_our_ip_for_realm
          dnl this is needed for NAT networks
          AC_CHECK_FUNCS(krb_get_our_ip_for_realm)
    
          dnl add define KRB4
    
          AC_DEFINE(KRB4, 1,
          [if you have the Kerberos4 libraries (including -ldes)])
    
          dnl substitute it too!
          KRB4_ENABLED=1
          AC_SUBST(KRB4_ENABLED)
    
    
          dnl the krb4 stuff needs a strlcpy()
          AC_CHECK_FUNCS(strlcpy)
    
        ])
      ])
    else
      AC_MSG_RESULT(no)
    fi
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl **********************************************************************
    dnl Check for the presence of SSL libraries and headers
    dnl **********************************************************************
    
    dnl Default to compiler & linker defaults for SSL files & libraries.
    OPT_SSL=off
    AC_ARG_WITH(ssl,dnl
    
    AC_HELP_STRING([--with-ssl=PATH],[where to look for SSL, PATH points to the SSL installation (default: /usr/local/ssl)])
    
    AC_HELP_STRING([--without-ssl], [disable SSL]),
      OPT_SSL=$withval)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    if test X"$OPT_SSL" = Xno
    then
      AC_MSG_WARN(SSL/https support disabled)  
    else
    
    
      dnl Check for and handle argument to --with-ssl.
    
    
      dnl save the pre-ssl check flags for a while
      CLEANLDFLAGS="$LDFLAGS"
      CLEANCPPFLAGS="$CPPFLAGS"
    
        dnl check the given spot right away!
        EXTRA_SSL=$OPT_SSL
        LDFLAGS="$LDFLAGS -L$EXTRA_SSL/lib"
        CPPFLAGS="$CPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include"
        ;;
    
      esac
    
      AC_CHECK_LIB(crypto, CRYPTO_lock,[
         HAVECRYPTO="yes"
         ],[
         OLDLDFLAGS="$LDFLAGS"
         OLDCPPFLAGS="$CPPFLAGS"
    
         LDFLAGS="$CLEANLDFLAGS -L$EXTRA_SSL/lib"
         CPPFLAGS="$CLEANCPPFLAGS -I$EXTRA_SSL/include/openssl -I$EXTRA_SSL/include"
    
         AC_CHECK_LIB(crypto, CRYPTO_add_lock,[
           HAVECRYPTO="yes" ], [
           LDFLAGS="$OLDLDFLAGS"
           CPPFLAGS="$OLDCPPFLAGS"
           ])
        ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
        dnl This is only reasonable to do if crypto actually is there: check for
        dnl SSL libs NOTE: it is important to do this AFTER the crypto lib
    
        AC_CHECK_LIB(crypto, CRYPTO_add_lock)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
        AC_CHECK_LIB(ssl, SSL_connect)
    
    
        if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
            dnl we didn't find the SSL lib, try the RSAglue/rsaref stuff
            AC_MSG_CHECKING(for ssl with RSAglue/rsaref libs in use);
            OLIBS=$LIBS
            LIBS="$LIBS -lRSAglue -lrsaref"
            AC_CHECK_LIB(ssl, SSL_connect)
            if test "$ac_cv_lib_ssl_SSL_connect" != yes; then
                dnl still no SSL_connect
                AC_MSG_RESULT(no)
                LIBS=$OLIBS
            else
                AC_MSG_RESULT(yes)
            fi
        fi
    
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
        dnl Check for SSLeay headers
    
        AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
    
                         openssl/pem.h openssl/ssl.h openssl/err.h,
          OPENSSL_ENABLED=1)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
        if test $ac_cv_header_openssl_x509_h = no; then
    
          AC_CHECK_HEADERS(x509.h rsa.h crypto.h pem.h ssl.h err.h,
            OPENSSL_ENABLED=1)
    
        dnl If the ENGINE library seems to be around, check for the OpenSSL engine
        dnl header, it is kind of "separated" from the main SSL check
    
        AC_CHECK_FUNC(ENGINE_init, [ AC_CHECK_HEADERS(openssl/engine.h) ])
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
      fi
    
      if test X"$OPT_SSL" != Xoff &&
         test "$OPENSSL_ENABLED" != "1"; then
        AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
      fi
    
    
    
      dnl these can only exist if openssl exists
    
      AC_CHECK_FUNCS( RAND_status \
    
                      RAND_screen \
                      RAND_egd )
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    fi
    
    dnl **********************************************************************
    dnl Check for the presence of ZLIB libraries and headers
    dnl **********************************************************************
    
    dnl Check for & handle argument to --with-zlib.
    
    
    _cppflags=$CPPFLAGS
    _ldflags=$LDFLAGS
    OPT_ZLIB="/usr/local"
    AC_ARG_WITH(zlib,
    
    AC_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
    AC_HELP_STRING([--without-zlib],[disable use of zlib]),
                   [OPT_ZLIB="$withval"])
    
    case "$OPT_ZLIB" in
      no)
        AC_MSG_WARN([zlib disabled]) ;;
      *)
        dnl check for the lib first without setting any new path, since many
        dnl people have it in the default path
    
        AC_CHECK_LIB(z, inflateEnd, ,
                       [if test -d "$OPT_ZLIB"; then
                          CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include"
                          LDFLAGS="$LDFLAGS -L$OPT_ZLIB/lib"
                       fi])
    
        AC_CHECK_HEADER(zlib.h,[
          AC_CHECK_LIB(z, gzread,
    
                       AC_SUBST(HAVE_LIBZ)
                       LIBS="$LIBS -lz"
                       AC_DEFINE(HAVE_ZLIB_H, 1, [if you have the zlib.h header file])
                       AC_DEFINE(HAVE_LIBZ, 1, [If zlib is available])],
                       [ CPPFLAGS=$_cppflags
                       LDFLAGS=$_ldflags])],
          [ CPPFLAGS=$_cppflags
          LDFLAGS=$_ldflags]
        )
        ;;
    esac
    
    
    dnl Default is to try the thread-safe versions of a few functions
    OPT_THREAD=on
    
    
    dnl detect AIX 4.3 or later
    dnl see full docs on this reasoning in the lib/hostip.c source file
    AC_MSG_CHECKING([AIX 4.3 or later])
    AC_PREPROC_IFELSE([
    #if defined(_AIX) && defined(_AIX43)
    printf("just fine");
    #else
    #error "this is not AIX 4.3 or later"
    #endif
    ],
     [ AC_MSG_RESULT([yes])
       OPT_THREAD=off ],
     [ AC_MSG_RESULT([no]) ]
    )
    
    
    AC_HELP_STRING([--disable-thread],[don't look for thread-safe functions]),
    
      AC_MSG_WARN(libcurl will not get built using thread-safe functions)
    
    )
    
    if test X"$OPT_THREAD" = Xoff
    then
      AC_DEFINE(DISABLED_THREADSAFE, 1, \
    Set to explicitly specify we don't want to use thread-safe functions)
    else
    
    
      dnl dig around for gethostbyname_r()
      CURL_CHECK_GETHOSTBYNAME_R()
    
      dnl dig around for gethostbyaddr_r()
      CURL_CHECK_GETHOSTBYADDR_R()
    
      dnl poke around for inet_ntoa_r()
      CURL_CHECK_INET_NTOA_R()
    
      dnl is there a localtime_r()
      CURL_CHECK_LOCALTIME_R()
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
      AC_CHECK_FUNCS( gmtime_r )
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl **********************************************************************
    dnl Back to "normal" configuring
    dnl **********************************************************************
    
    dnl Checks for header files.
    AC_HEADER_STDC
    
    
    dnl First check for the very most basic headers. Then we can use these
    dnl ones as default-headers when checking for the rest!
    AC_CHECK_HEADERS(
            sys/types.h \
            sys/time.h \
            sys/select.h \
            sys/socket.h \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
            unistd.h \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
            arpa/inet.h \
            net/if.h \
            netinet/in.h \
            netdb.h \
            sys/sockio.h \
            sys/stat.h \
            sys/param.h \
            termios.h \
            termio.h \
            sgtty.h \
            fcntl.h \
            dlfcn.h \
            alloca.h \
            winsock.h \
            time.h \
            io.h \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
            utime.h \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
            sys/poll.h \
    
            setjmp.h,
    dnl to do if not found
    [],
    dnl to do if found
    [],
    dnl default includes
    [
    #ifdef HAVE_SYS_TYPES_H
    #include <sys/types.h>
    #endif
    #ifdef HAVE_SYS_TIME_H
    #include <sys/time.h>
    #endif
    #ifdef HAVE_SYS_SELECT_H
    #include <sys/select.h>
    #endif
    #ifdef HAVE_SYS_SOCKET_H
    #include <sys/socket.h>
    #endif
    ]
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    )
    
    dnl Checks for typedefs, structures, and compiler characteristics.
    AC_C_CONST
    AC_TYPE_SIZE_T
    AC_HEADER_TIME
    
    # mprintf() checks:
    
    # check for 'long double'
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    # check for 'long long'
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    # check for ssize_t
    AC_CHECK_TYPE(ssize_t, int)
    
    
    TYPE_IN_ADDR_T
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    dnl Checks for library functions.
    dnl AC_PROG_GCC_TRADITIONAL
    AC_TYPE_SIGNAL
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    AC_CHECK_FUNCS( socket \
                    select \
                    strdup \
                    strstr \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    strtok_r \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    strftime \
                    uname \
                    strcasecmp \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    stricmp \
                    strcmpi \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    gethostbyaddr \
                    gettimeofday \
                    inet_addr \
                    inet_ntoa \
                    tcsetattr \
                    tcgetattr \
                    perror \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    setvbuf \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    signal \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    geteuid \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
                    sigsetjmp \
    
                    poll,
    dnl if found
    [],
    dnl if not found, $ac_func is the name we check for
      func="$ac_func"
      AC_MSG_CHECKING([deeper for $func])
      AC_TRY_LINK( [],
                   [ $func ();],
                   AC_MSG_RESULT(yes!)
                   def=`echo "HAVE_$func" | tr 'a-z' 'A-Z'`
                   AC_DEFINE($def, 1, [If you have $func]),
                   AC_MSG_RESULT(but still no)
                   )
    
    
    dnl sigsetjmp() might be a macro and no function so if it isn't found already
    dnl we make an extra check here!
    if test "$ac_cv_func_sigsetjmp" != "yes"; then
      AC_MSG_CHECKING([for sigsetjmp defined as macro])
      AC_TRY_LINK( [#include <setjmp.h>],
                   [sigjmp_buf jmpenv;
                    sigsetjmp(jmpenv, 1);],
                   AC_MSG_RESULT(yes)
    
                   AC_DEFINE(HAVE_SIGSETJMP, 1, [If you have sigsetjmp]),
    
    dnl removed 'getpass' check on October 26, 2000
    
    
    if test "$ac_cv_func_select" != "yes"; then
    
      AC_MSG_ERROR(Can't work without an existing select() function)
    fi
    if test "$ac_cv_func_socket" != "yes"; then
    
      AC_MSG_ERROR(Can't work without an existing socket() function)
    fi
    
    
    AC_PATH_PROG( PERL, perl, , 
      $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
    AC_SUBST(PERL)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    AC_PATH_PROGS( NROFF, gnroff nroff, , 
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
      $PATH:/usr/bin/:/usr/local/bin )
    
    AC_SUBST(NROFF)
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    
    
    
    AC_MSG_CHECKING([CA cert bundle install path])
    
    AC_ARG_WITH(ca-bundle,
    AC_HELP_STRING([--with-ca-bundle=FILE], [File name to install the CA bundle as])
    AC_HELP_STRING([--without-ca-bundle], [Don't install the CA bundle]),
       [ ca="$withval" ],
       [
      if test "x$prefix" != xNONE; then
        ca="$prefix/share/curl/curl-ca-bundle.crt"
      else
        ca="$ac_default_prefix/share/curl/curl-ca-bundle.crt"
      fi
       ] )
    
    if test "x$ca" = "xno"; then
      dnl let's not keep "no" as path name, blank it instead
      ca=""
    else
    
      AC_DEFINE_UNQUOTED(CURL_CA_BUNDLE, "$ca", [CA bundle full path name])
    
    fi
    
    CURL_CA_BUNDLE="$ca"
    AC_SUBST(CURL_CA_BUNDLE)
    AC_MSG_RESULT([$ca])
    
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    AC_PROG_YACC
    
    dnl AC_PATH_PROG( RANLIB, ranlib, /usr/bin/ranlib, 
    dnl   $PATH:/usr/bin/:/usr/local/bin )
    dnl AC_SUBST(RANLIB)
    
    
    dnl ************************************************************
    dnl lame option to switch on debug options
    dnl
    AC_MSG_CHECKING([whether to enable debug options])
    AC_ARG_ENABLE(debug,
    
    AC_HELP_STRING([--enable-debug],[Enable pedantic debug options])
    AC_HELP_STRING([--disable-debug],[Disable debug options]),
    
    [ case "$enableval" in
      no)
           AC_MSG_RESULT(no)
           ;;
      *)   AC_MSG_RESULT(yes)
    
        CPPFLAGS="$CPPFLAGS -DMALLOCDEBUG"
    
        CFLAGS="$CFLAGS -g" 
        if test "$GCC" = "yes"; then
    
           CFLAGS="$CFLAGS -W -Wall -Wwrite-strings -pedantic -Wundef -Wpointer-arith -Wnested-externs"
    
        NEWFLAGS=""
        for flag in $CFLAGS; do
          case "$flag" in
          -O*)
            dnl echo "cut off $flag"
            ;;
          *)
            NEWFLAGS="$NEWFLAGS $flag"
            ;;
          esac
        done
        CFLAGS=$NEWFLAGS
    
    AC_CONFIG_FILES([Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    	   docs/Makefile \
    
               docs/examples/Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
               docs/libcurl/Makefile \
    
    	   include/Makefile \
    	   include/curl/Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    	   src/Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
               lib/Makefile \
    
               tests/Makefile \
    
               tests/data/Makefile \
    
               tests/server/Makefile \
    
               tests/libtest/Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    	   packages/Makefile \
    	   packages/Win32/Makefile \
    
    	   packages/Win32/cygwin/Makefile \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    	   packages/Linux/Makefile \
    	   packages/Linux/RPM/Makefile \
    
    	   packages/Linux/RPM/curl.spec \
    
    	   packages/Linux/RPM/curl-ssl.spec \
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
               packages/EPM/curl.list \
               packages/EPM/Makefile \
    
               curl-config