X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=configure.in;h=fd1a4102f065306d3078efdbbc568dcbdc24d786;hp=cbcc5fef84be5cee5a4f9ce76b1823e9cc1b3530;hb=refs%2Fheads%2Fupstream;hpb=24802f6c45f69adf1e8000a96b7fe1a55f706a7c diff --git a/configure.in b/configure.in index cbcc5fe..fd1a410 100644 --- a/configure.in +++ b/configure.in @@ -74,10 +74,35 @@ AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UID_T unet_CHECK_TYPE_SIZES -AC_CHECK_TYPE(socklen_t, unsigned int) AC_CHECK_TYPE(struct sockaddr_in6, [unet_have_sockaddr_in6="yes"], [unet_have_sockaddr_in6="no"], [#include #include ]) +dnl Check for socklen_t. In traditional BSD this is an int, but some +dnl OSes use a different type. Test until we find something that will +dnl work properly. Test borrowed from a patch submitted for Python. +AC_CHECK_TYPE([socklen_t], ,[ + AC_MSG_CHECKING([for socklen_t equivalent]) + AC_CACHE_VAL([curl_cv_socklen_t_equiv], + [ +dnl Systems have either "struct sockaddr*" or "void*" as second +dnl arg to getpeername. + curl_cv_socklen_t_equiv= + for arg2 in "struct sockaddr" void ; do + for t in int size_t unsigned long "unsigned long" ; do + AC_TRY_COMPILE([#include +#include +int getpeername (int $arg2 *, $t *);],[$t len; + getpeername(0, 0, &len);], [curl_cv_socklen_t_equiv="$t" + break]) + done + done + ]) + AC_MSG_RESULT($curl_cv_socklen_t_equiv) + AC_DEFINE_UNQUOTED(socklen_t, $curl_cv_socklen_t_equiv, + [type to use in place of socklen_t if not defined])], + [#include +#include]) + dnl Checks for library functions. AC_CHECK_FUNCS([kqueue setrlimit getrusage times]) @@ -107,14 +132,6 @@ else AC_MSG_ERROR([Cannot use $LEX as flex.]) fi -if test -z "$LEXLIB" ; then - AC_MSG_FAILURE([Cannot find a library with yywrap() in, but flex was found. - It's possible the compiler you're using ($CC) is incompatible with the - installed library.]) -fi - -LIBS="$LEXLIB $LIBS" - dnl YACC - ditto AC_PROG_YACC dnl The autoconf docs say $YACC defaults to 'yacc'. This seems to be true, @@ -146,6 +163,7 @@ case "$host" in else unet_poll_syscall=no fi + AC_DEFINE([IRCU_SOLARIS], 1, [Define if building on Solaris]) ;; *-sunos*) @@ -684,7 +702,12 @@ AC_ARG_WITH([maxcon], [unet_cv_with_maxcon=$unet_maxcon])]) if test x"$unet_cv_with_maxcon" = xyes -o x"$unet_cv_with_maxcon" = xno; then + if test "$unet_maxcon" -lt 32; then + AC_MSG_ERROR([Maximum connections (number of open files minus 4) must be at least 32.]) + fi unet_cv_with_maxcon=$unet_maxcon +elif test "$unet_cv_with_maxcon" -lt 32; then + AC_MSG_ERROR([Maximum connections (--with-maxcon) must be at least 32.]) fi AC_MSG_RESULT([$unet_cv_with_maxcon]) @@ -692,8 +715,55 @@ AC_MSG_RESULT([$unet_cv_with_maxcon]) AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $unet_cv_with_maxcon, [Maximum number of network connections]) +unet_cv_enable_gnutls="no" +unet_cv_enable_openssl="yes" + +AC_MSG_CHECKING([for GnuTLS]) +AC_ARG_ENABLE([gnutls], + [ --enable-gnutls Enables GnuTLS ssl backend.], + [unet_cv_enable_gnutls=$enable_gnutls], +) +AC_MSG_RESULT([$unet_cv_enable_gnutls]) + +AC_MSG_CHECKING([for OpenSSL]) +AC_ARG_ENABLE([openssl], + [ --enable-openssl Enables OpenSSL ssl backend.], + [unet_cv_enable_openssl=$enable_openssl], +) +AC_MSG_RESULT([$unet_cv_enable_openssl]) + +if test x"$unet_cv_enable_gnutls" = xyes; then + unet_cv_enable_gnutls="no"; + AC_CHECK_LIB(gnutls, gnutls_init, [ + AC_CHECK_HEADERS(gnutls/gnutls.h, [ + unet_cv_enable_gnutls="yes"; + ]) + ]) +fi + +if test x"$unet_cv_enable_openssl" = xyes; then + unet_cv_enable_openssl="no"; + AC_CHECK_LIB(ssl, SSL_read, [ + AC_CHECK_LIB(crypto, X509_new, [ + AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h, [ + unet_cv_enable_openssl="yes"; + ]) + ]) + ]) +fi + +if test x"$unet_cv_enable_gnutls" = xyes; then + LIBS="$LIBS -lgnutls" + AC_DEFINE([HAVE_GNUTLS], 1, [Define if you are using GnuTLS]) +fi + +if test x"$unet_cv_enable_openssl" = xyes ; then + LIBS="$LIBS -lssl -lcrypto" + AC_DEFINE([HAVE_OPENSSL], 1, [Define if you are using OpenSSL]) +fi + dnl Finally really generate all output files: -AC_OUTPUT(Makefile ircd/Makefile ircd/test/Makefile doc/Makefile, [echo timestamp > stamp-h]) +AC_OUTPUT(Makefile ircd/Makefile ircd/test/Makefile, [echo timestamp > stamp-h]) dnl Report configuration AC_OUTPUT_COMMANDS([echo " @@ -707,6 +777,8 @@ ircu is now hopefully configured for your system. Profile: $unet_cv_enable_profile Owner/mode: $unet_cv_with_owner.$unet_cv_with_group ($unet_cv_with_mode) Chroot: $unet_cv_with_chroot + OpenSSL: $unet_cv_enable_openssl + GnuTLS: $unet_cv_enable_gnutls Domain: $unet_cv_with_domain DPath: $unet_cv_with_dpath