dnl $Id$ dnl Process this file with autoconf to produce a configure script. AC_INIT(lib/urldata.h) AM_CONFIG_HEADER(config.h src/config.h) AM_INIT_AUTOMAKE(curl,"7.0.1beta") dnl Checks for programs. AC_PROG_CC dnl The install stuff has already been taken care of by the automake stuff dnl AC_PROG_INSTALL AC_PROG_MAKE_SET dnl The following checks for the amount of arguments that gethostbyname_r() dnl and gethostbyaddr_r() want is shamelessly stolen from a posting I found dnl in the OpenLDAP mailing list archive, posted by dnl Juan Carlos Gomez dnl ==================================================================== dnl check no of arguments for gethostbyname_r AC_DEFUN(OL_FUNC_GETHOSTBYNAME_R_NARGS, [AC_CACHE_CHECK(number of arguments of gethostbyname_r, ol_cv_func_gethostbyname_r_nargs, [AC_TRY_COMPILE([#include #include #include #include #define BUFSIZE (sizeof(struct hostent)+10)], [struct hostent hent; char buffer[BUFSIZE]; int bufsize=BUFSIZE;int h_errno; (void)gethostbyname_r( "segovia.cs.purdue.edu", &hent, buffer, bufsize, &h_errno); return 0;], ol_cv_func_gethostbyname_r_nargs=5, ol_cv_func_gethostbyname_r_nargs=0) if test $ol_cv_func_gethostbyname_r_nargs = 0 ; then AC_TRY_COMPILE([#include #include #include #include #define BUFSIZE (sizeof(struct hostent)+10)], [struct hostent hent;struct hostent *rhent; char buffer[BUFSIZE]; int bufsize=BUFSIZE;int h_errno; (void)gethostbyname_r( "segovia.cs.purdue.edu", &hent, buffer, bufsize, &rhent, &h_errno); return 0;], ol_cv_func_gethostbyname_r_nargs=6, ol_cv_func_gethostbyname_r_nargs=0) fi ]) if test $ol_cv_func_gethostbyname_r_nargs -gt 1 ; then AC_DEFINE_UNQUOTED(GETHOSTBYNAME_R_NARGS, $ol_cv_func_gethostbyname_r_nargs) fi ])dnl dnl check no of arguments for gethostbyaddr_r AC_DEFUN(OL_FUNC_GETHOSTBYADDR_R_NARGS, [AC_CACHE_CHECK(number of arguments of gethostbyaddr_r, ol_cv_func_gethostbyaddr_r_nargs, [AC_TRY_COMPILE([#include #include #include #include #define BUFSIZE (sizeof(struct hostent)+10)], [struct hostent hent; char buffer[BUFSIZE]; struct in_addr add={0x70707070}; size_t alen=sizeof(struct in_addr); int bufsize=BUFSIZE;int h_errno; (void)gethostbyaddr_r( (void *)&(add.s_addr), alen, AF_INET, &hent, buffer, bufsize, &h_errno); return 0;], ol_cv_func_gethostbyaddr_r_nargs=7, ol_cv_func_gethostbyaddr_r_nargs=0) if test $ol_cv_func_gethostbyaddr_r_nargs = 0 ; then AC_TRY_COMPILE([#include #include #include #include #define BUFSIZE (sizeof(struct hostent)+10)], [struct hostent hent; struct hostent *rhent; char buffer[BUFSIZE]; struct in_addr add={0x70707070}; size_t alen=sizeof(struct in_addr); int bufsize=BUFSIZE;int h_errno; (void)gethostbyaddr_r( (void *)&(add.s_addr), alen, AF_INET, &hent, buffer, bufsize, &rhent, &h_errno); return 0;], ol_cv_func_gethostbyaddr_r_nargs=8, ol_cv_func_gethostbyaddr_r_nargs=0) fi ]) if test $ol_cv_func_gethostbyaddr_r_nargs -gt 1 ; then AC_DEFINE_UNQUOTED(GETHOSTBYADDR_R_NARGS, $ol_cv_func_gethostbyaddr_r_nargs) fi ])dnl dnl Check for AIX weirdos AC_AIX dnl ********************************************************************** dnl Checks for libraries. dnl ********************************************************************** dnl nsl lib? AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname)) dnl resolve lib? AC_CHECK_FUNC(strcasecmp, , AC_CHECK_LIB(resolve, strcasecmp)) dnl socket lib? AC_CHECK_FUNC(connect, , AC_CHECK_LIB(socket, connect)) dnl ucb lib? AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(ucb, gethostname)) dnl dl lib? AC_CHECK_FUNC(dlopen, , AC_CHECK_LIB(dl, dlopen)) 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 [ --with-ssl[=DIR] where to look for SSL [compiler/linker default paths] DIR points to the SSL installation [/usr/local/ssl]], OPT_SSL=$withval ) if test X"$OPT_SSL" = Xno then AC_MSG_WARN(SSL/https support disabled) else dnl Check for & handle argument to --with-ssl. AC_MSG_CHECKING(where to look for SSL) if test X"$OPT_SSL" = Xoff then AC_MSG_RESULT([defaults (or given in environment)]) else test X"$OPT_SSL" = Xyes && OPT_SSL=/usr/local/ssl LIBS="$LIBS -L$OPT_SSL/lib" CPPFLAGS="$CPPFLAGS -I$OPT_SSL/include/openssl -I$OPT_SSL/include" AC_MSG_RESULT([$OPT_SSL]) fi dnl check for crypto libs (part of SSLeay) AC_CHECK_LIB(crypto, CRYPTO_lock) if test $ac_cv_lib_crypto_CRYPTO_lock = 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(ssl, SSL_connect) 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) 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) fi fi fi dnl ********************************************************************** dnl Check for the presence of ZLIB libraries and headers dnl ********************************************************************** dnl Default to compiler & linker defaults for files & libraries. dnl OPT_ZLIB=no dnl AC_ARG_WITH(zlib,dnl dnl [ --with-zlib[=DIR] where to look for ZLIB [compiler/linker default paths] dnl DIR points to the ZLIB installation prefix [/usr/local]], dnl OPT_ZLIB=$withval, dnl ) dnl Check for & handle argument to --with-zlib. dnl dnl NOTE: We *always* look for ZLIB headers & libraries, all this option dnl does is change where we look (by adjusting LIBS and CPPFLAGS.) dnl dnl AC_MSG_CHECKING(where to look for ZLIB) dnl if test X"$OPT_ZLIB" = Xno dnl then dnl AC_MSG_RESULT([defaults (or given in environment)]) dnl else dnl test X"$OPT_ZLIB" = Xyes && OPT_ZLIB=/usr/local dnl LIBS="$LIBS -L$OPT_ZLIB/lib" dnl CPPFLAGS="$CPPFLAGS -I$OPT_ZLIB/include" dnl AC_MSG_RESULT([$OPT_ZLIB]) dnl fi dnl z lib? dnl AC_CHECK_FUNC(gzread, , AC_CHECK_LIB(z, gzread)) dnl ********************************************************************** dnl Back to "normal" configuring dnl ********************************************************************** dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS( \ unistd.h \ malloc.h \ stdlib.h \ arpa/inet.h \ net/if.h \ netinet/in.h \ netdb.h \ sys/select.h \ sys/socket.h \ sys/sockio.h \ sys/stat.h \ sys/types.h \ sys/time.h \ getopt.h \ sys/param.h \ termios.h \ termio.h \ sgtty.h \ fcntl.h \ dlfcn.h \ alloca.h \ winsock.h \ time.h \ io.h \ ) dnl Check for libz header dnl AC_CHECK_HEADERS(zlib.h) 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) dnl Get system canonical name AC_CANONICAL_HOST AC_DEFINE_UNQUOTED(OS, "${host}") dnl Checks for library functions. dnl AC_PROG_GCC_TRADITIONAL AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS( socket \ select \ strdup \ strstr \ strftime \ uname \ strcasecmp \ stricmp \ strcmpi \ gethostname \ gethostbyname_r \ gethostbyaddr \ gethostbyaddr_r \ getservbyname \ gettimeofday \ inet_addr \ inet_ntoa \ inet_ntoa_r \ tcsetattr \ tcgetattr \ perror \ getpass \ closesocket \ setvbuf \ RAND_status \ RAND_screen ) # # The *_r functions below can have a different amount of parameters depending # on various systems. Let's check how many this system wants! # if test "$ac_cv_func_gethostbyname_r" = yes ; then OL_FUNC_GETHOSTBYNAME_R_NARGS else ol_cv_func_gethostbyname_r=0 fi if test "$ac_cv_func_gethostbyaddr_r" = yes ; then OL_FUNC_GETHOSTBYADDR_R_NARGS else ol_cv_func_gethostbyaddr_r=0 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_PROG_RANLIB AC_PROG_YACC dnl AC_PATH_PROG( RANLIB, ranlib, /usr/bin/ranlib, dnl $PATH:/usr/bin/:/usr/local/bin ) dnl AC_SUBST(RANLIB) AC_OUTPUT( Makefile \ src/Makefile \ lib/Makefile ) dnl perl/checklinks.pl \ dnl perl/getlinks.pl \ dnl perl/formfind.pl \ dnl perl/recursiveftpget.pl )