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 We don't know the version number "staticly" so we use a dash here AC_INIT(curl, [-], [curl-bug@haxx.se]) dnl configure script copyright AC_COPYRIGHT([Copyright (c) 1998 - 2003 Daniel Stenberg, This configure script may be copied, distributed and modified under the terms of the curl license; see COPYING for more details]) AC_CONFIG_SRCDIR([lib/urldata.h]) AM_CONFIG_HEADER(lib/config.h src/config.h tests/server/config.h ) AM_MAINTAINER_MODE 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` AM_INIT_AUTOMAKE(curl,$VERSION) 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` AC_SUBST(VERSIONNUM) 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 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 AM_PROG_LIBTOOL case $host in *-*-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 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 #include 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 )) if test "$ipv6" = "yes"; then CURL_CHECK_WORKING_GETADDRINFO fi dnl ********************************************************************** dnl Checks for libraries. dnl ********************************************************************** dnl gethostbyname in the nsl lib? AC_CHECK_FUNC(gethostbyname, , [ AC_CHECK_LIB(nsl, gethostbyname) ]) 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) ]) fi 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 dnl resolve lib? AC_CHECK_FUNC(strcasecmp, , [ AC_CHECK_LIB(resolve, strcasecmp) ]) if test "$ac_cv_lib_resolve_strcasecmp" = "$ac_cv_func_strcasecmp"; then AC_CHECK_LIB(resolve, strcasecmp, [LIBS="-lresolve $LIBS"], , -lnsl) fi dnl socket lib? AC_CHECK_FUNC(connect, , [ AC_CHECK_LIB(socket, connect) ]) dnl dl lib? AC_CHECK_FUNC(dlclose, , [ AC_CHECK_LIB(dl, dlopen) ]) 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]) fi 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_RUN_IFELSE([[ 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), AC_MSG_RESULT(no) AC_MSG_WARN([the previous check could not be made default was used]) ) 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 dnl ********************************************************************** dnl Check for GSS-API libraries dnl ********************************************************************** AC_ARG_WITH(gssapi-includes, AC_HELP_STRING([--with-gssapi-includes=DIR], [Specify location of GSSAPI header]), [ GSSAPI_INCS="-I$withval" want_gss="yes" ] ) AC_ARG_WITH(gssapi-libs, AC_HELP_STRING([--with-gssapi-libs=DIR], [Specify location of GSSAPI libs]), [ GSSAPI_LIBS="-L$withval -lgssapi" want_gss="yes" ] ) AC_ARG_WITH(gssapi, AC_HELP_STRING([--with-gssapi=DIR], [Where to look for GSSAPI]), [ GSSAPI_ROOT="$withval" want_gss="yes" ] ) AC_MSG_CHECKING([if GSSAPI support is requested]) if test x"$want_gss" = xyes; then if test -z "$GSSAPI_INCS"; then if test -f "$GSSAPI_ROOT/bin/krb5-config"; then gss_cppflags=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi` CPPFLAGS="$CPPFLAGS $gss_cppflags" else CPPFLAGS="$GSSAPI_ROOT/include" fi else CPPFLAGS="$CPPFLAGS $GSSAPI_INCS" fi if test -z "$GSSAPI_LIB_DIR"; then if test -f "$GSSAPI_ROOT/bin/krb5-config"; then gss_ldflags=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi` LDFLAGS="$LDFLAGS $gss_ldflags" else LDFLAGS="$LDFLAGS $GSSAPI_ROOT/lib -lgssapi" fi else LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR" fi AC_MSG_RESULT(yes) AC_DEFINE(GSSAPI, 1, [if you have the gssapi libraries]) else AC_MSG_RESULT(no) fi dnl Detect the pkg-config tool, as it may have extra info about the dnl openssl installation we can use. I *believe* this is what we are dnl expected to do on really recent Redhat Linux hosts. AC_PATH_PROG( PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin) if test "$PKGCONFIG" != "no" ; then AC_MSG_CHECKING([for OpenSSL options using pkg-config]) $PKGCONFIG --exists openssl SSL_EXISTS=$? if test "$SSL_EXISTS" -eq "0"; then SSL_LIBS=`$PKGCONFIG --libs-only-l openssl 2>/dev/null` SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl 2>/dev/null` SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl 2>/dev/null` LIBS="$LIBS $SSL_LIBS" CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS" LDFLAGS="$LDFLAGS $SSL_LDFLAGS" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi fi 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) 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" case "$OPT_SSL" in yes) EXTRA_SSL=/usr/local/ssl ;; off) EXTRA_SSL= ;; *) 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" ]) ]) if test "$HAVECRYPTO" = "yes"; then 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) 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 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) 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) fi 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) ]) AC_SUBST(OPENSSL_ENABLED) 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 ) 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, [HAVE_LIBZ="1" 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 set variable for use in automakefile(s) AM_CONDITIONAL(HAVE_LIBZ, test x"$HAVE_LIBZ" = x1) 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_ARG_ENABLE(thread,dnl AC_HELP_STRING([--disable-thread],[don't look for thread-safe functions]), OPT_THREAD=off 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() AC_CHECK_FUNCS( gmtime_r ) fi 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 \ unistd.h \ malloc.h \ stdlib.h \ 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 \ pwd.h \ utime.h \ sys/utime.h \ 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 #endif #ifdef HAVE_SYS_TIME_H #include #endif #ifdef HAVE_SYS_SELECT_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif ] ) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T AC_HEADER_TIME # mprintf() checks: # check for 'long double' # AC_CHECK_SIZEOF(long double, 8) # check for 'long long' # AC_CHECK_SIZEOF(long long, 4) # check for ssize_t AC_CHECK_TYPE(ssize_t, int) TYPE_SOCKLEN_T TYPE_IN_ADDR_T AC_FUNC_SELECT_ARGTYPES dnl Checks for library functions. dnl AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL dnl AC_FUNC_VPRINTF AC_CHECK_FUNCS( socket \ select \ strdup \ strstr \ strtok_r \ strftime \ uname \ strcasecmp \ stricmp \ strcmpi \ gethostbyaddr \ gettimeofday \ inet_addr \ inet_ntoa \ tcsetattr \ tcgetattr \ perror \ closesocket \ sigaction \ signal \ getpass_r \ strlcat \ getpwuid \ geteuid \ dlopen \ utime \ 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!) eval "ac_cv_func_$func=yes" def=`echo "HAVE_$func" | tr 'a-z' 'A-Z'` AC_DEFINE_UNQUOTED($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 ], [sigjmp_buf jmpenv; sigsetjmp(jmpenv, 1);], AC_MSG_RESULT(yes) AC_DEFINE(HAVE_SIGSETJMP, 1, [If you have sigsetjmp]), AC_MSG_RESULT(no) ) fi AC_PATH_PROG( PERL, perl, , $PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin ) AC_SUBST(PERL) AC_PATH_PROGS( NROFF, gnroff nroff, , $PATH:/usr/bin/:/usr/local/bin ) AC_SUBST(NROFF) 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"$OPT_SSL" = Xno then ca="no" fi if test "x$ca" != "xno"; then CURL_CA_BUNDLE='"'$ca'"' AC_SUBST(CURL_CA_BUNDLE) fi AC_MSG_RESULT([$ca]) 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 -DCURLDEBUG" CFLAGS="$CFLAGS -g" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -W -Wall -Wwrite-strings -pedantic -Wundef -Wpointer-arith -Wnested-externs" fi dnl strip off optimizer flags NEWFLAGS="" for flag in $CFLAGS; do case "$flag" in -O*) dnl echo "cut off $flag" ;; *) NEWFLAGS="$NEWFLAGS $flag" ;; esac done CFLAGS=$NEWFLAGS ;; esac ], AC_MSG_RESULT(no) ) AC_CONFIG_FILES([Makefile \ docs/Makefile \ docs/examples/Makefile \ docs/libcurl/Makefile \ include/Makefile \ include/curl/Makefile \ src/Makefile \ lib/Makefile \ tests/Makefile \ tests/data/Makefile \ tests/server/Makefile \ tests/libtest/Makefile \ packages/Makefile \ packages/Win32/Makefile \ packages/Win32/cygwin/Makefile \ packages/Linux/Makefile \ packages/Linux/RPM/Makefile \ packages/Linux/RPM/curl.spec \ packages/Linux/RPM/curl-ssl.spec \ packages/Solaris/Makefile \ packages/DOS/Makefile \ packages/EPM/curl.list \ packages/EPM/Makefile \ curl-config ]) AC_OUTPUT