diff options
Diffstat (limited to 'Build/source/libs/curl/configure.in')
-rw-r--r-- | Build/source/libs/curl/configure.in | 618 |
1 files changed, 618 insertions, 0 deletions
diff --git a/Build/source/libs/curl/configure.in b/Build/source/libs/curl/configure.in new file mode 100644 index 00000000000..dc31cd853bf --- /dev/null +++ b/Build/source/libs/curl/configure.in @@ -0,0 +1,618 @@ +dnl $Id: configure.in,v 1.97 2002/03/04 10:28:02 bagder Exp $ +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) + +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 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) +) + +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 ucb lib? +AC_CHECK_FUNC(gethostname, , AC_CHECK_LIB(ucb, gethostname)) + +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 +[ --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 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 Check for the OpenSSL engine header, it is kind of "separated" + dnl from the main SSL check + 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 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 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 +) + +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) + +# 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 \ + gethostname \ + gethostbyaddr \ + gettimeofday \ + inet_addr \ + inet_ntoa \ + tcsetattr \ + tcgetattr \ + perror \ + closesocket \ + setvbuf \ + sigaction \ + signal \ + getpass_r \ + strlcat \ + getpwuid \ + geteuid \ + dlopen \ + utime +) + +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_PROG_YACC + +dnl AC_PATH_PROG( RANLIB, ranlib, /usr/bin/ranlib, +dnl $PATH:/usr/bin/:/usr/local/bin ) +dnl AC_SUBST(RANLIB) + +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 + |