curl/configure.in

436 lines
12 KiB
Plaintext
Raw Normal View History

1999-12-29 22:20:26 +08:00
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)
2000-08-22 05:56:41 +08:00
AM_INIT_AUTOMAKE(curl,"7.1.1")
2000-07-26 17:28:29 +08:00
AM_PROG_LIBTOOL
dnl
dnl Detect the canonical host and target build environment
dnl
AC_CANONICAL_HOST
AC_CANONICAL_TARGET
1999-12-29 22:20:26 +08:00
dnl Checks for programs.
AC_PROG_CC
2000-03-22 01:12:27 +08:00
dnl The install stuff has already been taken care of by the automake stuff
dnl AC_PROG_INSTALL
1999-12-29 22:20:26 +08:00
AC_PROG_MAKE_SET
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 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
1999-12-29 22:20:26 +08:00
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
1999-12-29 22:20:26 +08:00
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 Default is to try the thread-safe versions of a few functions
OPT_THREAD=on
AC_ARG_ENABLE(thread,dnl
[ --disable-thread tell configure to not look for thread-safe functions],
OPT_THREAD=off
)
if test X"$OPT_THREAD" = Xoff
then
AC_MSG_WARN(libcurl will not get built using thread-safe functions)
AC_DEFINE(DISABLED_THREADSAFE, 1, \
Set to explicitly specify we don't want to use thread-safe functions)
else
dnl check for a few thread-safe functions
AC_CHECK_FUNCS( gethostbyname_r \
gethostbyaddr_r \
localtime_r \
inet_ntoa_r
)
if test "$ac_cv_func_gethostbyname_r" = "yes"; then
dnl **********************************************************************
dnl Time to make a check for gethostbyname_r
dnl If it exists, it may use one of three different interfaces
dnl **********************************************************************
AC_MSG_CHECKING(for gethostbyname_r)
if test -z "$ac_cv_gethostbyname_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
struct hostent h;
2000-08-22 05:56:41 +08:00
struct hostent_data hdata;
char *name;
2000-08-22 05:56:41 +08:00
int rc;
rc = gethostbyname_r(name, &h, &hdata);],
ac_cv_gethostbyname_args=3)
fi
if test -z "$ac_cv_gethostbyname_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
2000-08-22 05:56:41 +08:00
struct hostent *hp;
struct hostent h;
char *name;
2000-08-22 05:56:41 +08:00
char buffer[10];
int h_errno;
hp = gethostbyname_r(name, &h, buffer, 10, &h_errno);],
ac_cv_gethostbyname_args=5)
fi
if test -z "$ac_cv_gethostbyname_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
struct hostent h;
struct hostent *hp;
char *name;
char buf[10];
int rc;
int h_errno;
rc = gethostbyname_r(name, &h, buf, 10, &hp, &h_errno);
],
ac_cv_gethostbyname_args=6)
fi
if test -z "$ac_cv_gethostbyname_args"; then
AC_MSG_RESULT(no)
have_missing_r_funcs="$have_missing_r_funcs gethostbyname_r"
else
if test "$ac_cv_gethostbyname_args" = 3; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3)
elif test "$ac_cv_gethostbyname_args" = 5; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5)
elif test "$ac_cv_gethostbyname_args" = 6; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_6)
fi
AC_MSG_RESULT([yes, and it takes $ac_cv_gethostbyname_args arguments])
fi
dnl **********************************************************************
dnl Time to make a check for gethostbyaddr_r
dnl If it exists, it may use one of three different interfaces
dnl **********************************************************************
AC_MSG_CHECKING(for gethostbyaddr_r)
if test -z "$ac_cv_gethostbyaddr_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
char * address;
int length;
int type;
struct hostent h;
struct hostent_data hdata;
int rc;
rc = gethostbyaddr_r(address, length, type, &h, &hdata);
],
ac_cv_gethostbyaddr_args=5)
fi
if test -z "$ac_cv_gethostbyaddr_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
char * address;
int length;
int type;
struct hostent h;
char buffer[10];
int buflen;
int h_errnop;
struct hostent * hp;
hp = gethostbyaddr_r(address, length, type, &h,
buffer, buflen, &h_errnop);
],
ac_cv_gethostbyaddr_args=7)
fi
if test -z "$ac_cv_gethostbyaddr_args"; then
AC_TRY_COMPILE(
[
#include <sys/types.h>
#include <netdb.h>],
[
char * address;
int length;
int type;
struct hostent h;
char buffer[10];
int buflen;
int h_errnop;
struct hostent * hp;
int rc;
rc = gethostbyaddr_r(address, length, type, &h,
buffer, buflen, &hp, &h_errnop);
],
ac_cv_gethostbyaddr_args=8)
fi
if test -z "$ac_cv_gethostbyaddr_args"; then
AC_MSG_RESULT(no)
have_missing_r_funcs="$have_missing_r_funcs gethostbyaddr_r"
else
if test "$ac_cv_gethostbyaddr_args" = 5; then
AC_DEFINE(HAVE_GETHOSTBYADDR_R_5)
elif test "$ac_cv_gethostbyaddr_args" = 7; then
AC_DEFINE(HAVE_GETHOSTBYADDR_R_7)
elif test "$ac_cv_gethostbyaddr_args" = 8; then
AC_DEFINE(HAVE_GETHOSTBYADDR_R_8)
fi
AC_MSG_RESULT([yes, and it takes $ac_cv_gethostbyaddr_args arguments])
fi
fi
fi
1999-12-29 22:20:26 +08:00
dnl **********************************************************************
dnl Back to "normal" configuring
dnl **********************************************************************
dnl Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS( \
unistd.h \
malloc.h \
stdlib.h \
1999-12-29 22:20:26 +08:00
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 \
2000-05-25 23:18:02 +08:00
sys/time.h \
1999-12-29 22:20:26 +08:00
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
dnl AC_FUNC_VPRINTF
1999-12-29 22:20:26 +08:00
AC_CHECK_FUNCS( socket \
select \
strdup \
strstr \
strftime \
uname \
strcasecmp \
2000-05-14 21:33:53 +08:00
stricmp \
strcmpi \
1999-12-29 22:20:26 +08:00
gethostname \
gethostbyaddr \
getservbyname \
gettimeofday \
inet_addr \
inet_ntoa \
tcsetattr \
tcgetattr \
perror \
getpass \
closesocket \
setvbuf \
RAND_status \
RAND_screen
1999-12-29 22:20:26 +08:00
)
if test "$ac_cv_func_select" != "yes"; then
AC_MSG_ERROR(Can't work without an existing socket() function)
fi
2000-03-13 17:12:18 +08:00
AC_PATH_PROG( PERL, perl, ,
$PATH:/usr/local/bin/perl:/usr/bin/:/usr/local/bin )
AC_SUBST(PERL)
1999-12-29 22:20:26 +08:00
2000-01-11 07:55:47 +08:00
AC_PATH_PROGS( NROFF, gnroff nroff, ,
1999-12-29 22:20:26 +08:00
$PATH:/usr/bin/:/usr/local/bin )
2000-05-22 22:12:12 +08:00
AC_SUBST(NROFF)
1999-12-29 22:20:26 +08:00
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 \
curl.spec \
curl-ssl.spec \
2000-07-26 17:28:29 +08:00
docs/Makefile \
2000-08-01 06:42:34 +08:00
include/Makefile \
include/curl/Makefile \
1999-12-29 22:20:26 +08:00
src/Makefile \
lib/Makefile )
dnl perl/checklinks.pl \
dnl perl/getlinks.pl \
dnl perl/formfind.pl \
dnl perl/recursiveftpget.pl )