+do_have_ssl="no";
+AC_CHECK_LIB(ssl, SSL_read, [
+ AC_CHECK_LIB(crypto, X509_new, [
+ AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h openssl/rand.h, [
+ do_have_ssl="yes";
+ ])
+ ])
+])
+
+if test x"$do_have_ssl" = xyes; then
+ LIBS="$LIBS -lssl -lcrypto"
+ AC_DEFINE([HAVE_SSL], 1, [Define if you are using SSL])
+fi
+
+do_have_threads="no";
+AC_CHECK_LIB(pthread, pthread_create, [
+ AC_CHECK_HEADERS(pthread.h, [
+ do_have_threads="yes"
+ ])
+])
+
+AC_ARG_ENABLE([threads],
+ [AS_HELP_STRING([--enable-threads], [use threads if possible])],
+ [
+ if test x"$do_have_threads" = xyes; then
+ LIBS="$LIBS -lpthread"
+ AC_DEFINE([HAVE_THREADS], 1, [Define if you have Threads])
+ fi
+ ],
+ [])
+
+AC_ARG_ENABLE([memory-debug],
+ [AS_HELP_STRING([--enable-memory-debug], [run memory debugger])],
+ [
+ AC_DEFINE([ENABLE_MEMORY_DEBUG], 1, [Define if you enable memoryDebug.c])
+ ],
+ [])
+
+AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug], [debug mode (compile using -O0 -Wall -Wshadow -Werror)])],
+ [CFLAGS='-g -O0 -Wall -Wshadow -Werror'],
+ [CFLAGS='-g -O2'])
+
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+