mirror of
https://github.com/moparisthebest/curl
synced 2024-11-08 18:45:05 -05:00
776 lines
20 KiB
Plaintext
776 lines
20 KiB
Plaintext
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)
|
|
|
|
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)
|
|
|
|
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}")
|
|
|
|
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
|
|
|
|
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,
|
|
[ --enable-http Enable HTTP support
|
|
--disable-http Disable HTTP support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_DISABLE_HTTP)
|
|
AC_MSG_WARN([disable HTTP disables FTP over proxy and GOPHER too])
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-ftp Enable FTP support
|
|
--disable-ftp Disable FTP support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-gopher Enable GOPHER support
|
|
--disable-gopher Disable GOPHER support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-file Enable FILE support
|
|
--disable-file Disable FILE support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-ldap Enable LDAP support
|
|
--disable-ldap Disable LDAP support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-dict Enable DICT support
|
|
--disable-dict Disable DICT support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-telnet Enable TELNET support
|
|
--disable-telnet Disable TELNET support],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(CURL_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,
|
|
[ --enable-ipv6 Enable ipv6 (with ipv4) support
|
|
--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
|
|
))
|
|
|
|
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))
|
|
|
|
dnl **********************************************************************
|
|
dnl Check how non-blocking sockets are set
|
|
dnl **********************************************************************
|
|
AC_ARG_ENABLE(nonblocking,
|
|
[ --enable-nonblocking Makes the script detect how to do it
|
|
--disable-nonblocking Makes the script disable non-blocking sockets],
|
|
[
|
|
if test "$enableval" = "no" ; then
|
|
AC_MSG_WARN([non-blocking sockets disabled])
|
|
AC_DEFINE(HAVE_DISABLED_NONBLOCKING)
|
|
else
|
|
CURL_CHECK_NONBLOCKING_SOCKET
|
|
fi
|
|
],
|
|
[
|
|
CURL_CHECK_NONBLOCKING_SOCKET
|
|
])
|
|
|
|
dnl **********************************************************************
|
|
dnl Check for the random seed preferences
|
|
dnl **********************************************************************
|
|
|
|
AC_ARG_WITH(egd-socket,
|
|
[ --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")
|
|
fi
|
|
|
|
dnl Check for user-specified random device
|
|
AC_ARG_WITH(random,
|
|
[ --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")
|
|
fi
|
|
|
|
dnl **********************************************************************
|
|
dnl Check for the presence of Kerberos4 libraries and headers
|
|
dnl **********************************************************************
|
|
|
|
AC_ARG_WITH(krb4-includes,
|
|
[ --with-krb4-includes[=DIR] Specify location of kerberos4 headers],[
|
|
CPPFLAGS="$CPPFLAGS -I$withval"
|
|
KRB4INC="$withval"
|
|
want_krb4=yes
|
|
])
|
|
|
|
AC_ARG_WITH(krb4-libs,
|
|
[ --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
|
|
[ --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)
|
|
|
|
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 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,
|
|
[AM_CONDITIONAL(CONTENT_ENCODING, true)
|
|
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 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 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
|
|
AC_CHECK_HEADERS( \
|
|
unistd.h \
|
|
malloc.h \
|
|
stdlib.h \
|
|
arpa/inet.h \
|
|
net/if.h \
|
|
netinet/in.h \
|
|
netinet/if_ether.h \
|
|
netdb.h \
|
|
sys/select.h \
|
|
sys/socket.h \
|
|
sys/sockio.h \
|
|
sys/stat.h \
|
|
sys/types.h \
|
|
sys/time.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 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
|
|
|
|
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 \
|
|
setvbuf \
|
|
sigaction \
|
|
signal \
|
|
getpass_r \
|
|
strlcat \
|
|
getpwuid \
|
|
geteuid \
|
|
dlopen \
|
|
utime \
|
|
sigsetjmp \
|
|
poll
|
|
)
|
|
|
|
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),
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
fi
|
|
|
|
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)
|
|
|
|
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$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])
|
|
|
|
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,
|
|
[ --enable-debug Enable pedantic debug options
|
|
--disable-debug Disable debug options],
|
|
[ case "$enableval" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
*) AC_MSG_RESULT(yes)
|
|
|
|
CPPFLAGS="$CPPFLAGS -DMALLOCDEBUG"
|
|
CFLAGS="-W -Wall -Wwrite-strings -pedantic -Wundef -Wpointer-arith -Wcast-align -Wnested-externs -g"
|
|
;;
|
|
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 \
|
|
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/EPM/curl.list \
|
|
packages/EPM/Makefile \
|
|
curl-config
|
|
])
|
|
AC_OUTPUT
|