added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / configure.in
index d4205cfa3cf51734f64d3e7680d763c0a87094e2..fd1a4102f065306d3078efdbbc568dcbdc24d786 100644 (file)
@@ -226,24 +226,6 @@ else
 fi
 AC_SUBST(ENGINE_C)
 
-have_gnutls="no"
-AC_CHECK_LIB(gnutls, gnutls_init, [
-  AC_CHECK_HEADERS(gnutls/gnutls.h, [
-    LIBS="$LIBS -lgnutls"
-    have_gnutls="yes"
-  ])
-])
-if test x"$have_gnutls" = xno; then
-  if test x$is_win32 = xyes ; then
-    openssl_deps="-lcrypto -lgdi32"
-  else
-    openssl_deps="-lcrypto"
-  fi
-  AC_CHECK_LIB([ssl],[SSL_library_init], [
-    LIBS="$LIBS -lssl $openssl_deps"
-  ], [], $openssl_deps)
-fi
-
 dnl Now look for --enable-debug
 AC_MSG_CHECKING([whether to enable debug mode])
 AC_ARG_ENABLE([debug],
@@ -733,6 +715,53 @@ 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, [echo timestamp > stamp-h])
 
@@ -748,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