mirror of
https://github.com/curl/curl.git
synced 2024-11-21 01:16:58 +08:00
95ddb16768
and gethostbyaddr_r()
320 lines
10 KiB
Plaintext
320 lines
10 KiB
Plaintext
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 <gomez@cthulhu.engr.sgi.com>
|
|
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 <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <netdb.h>
|
|
#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 <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <netdb.h>
|
|
#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 <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <netdb.h>
|
|
#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 <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <netdb.h>
|
|
#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 )
|
|
|
|
|
|
|