X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=configure.ac;h=966314a21bf420862f4803fad99902822ae525e0;hb=eab681e7f891e8a06ee0690e7989a4dca62406eb;hp=308d5f4284472e475e8ca63bec8dd089e5de5dcc;hpb=0f1dc61921eef1db8e404a5a82372e2d1cd55daa;p=NeonServV5.git diff --git a/configure.ac b/configure.ac index 308d5f4..966314a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,31 +1,82 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.67]) -AC_INIT([NeonServ], [5.0], [bugs@pk910.de], [neonserv], [http://neonserv.krypton-bouncer.de]) +AC_INIT([NeonServ], [5.6], [bugs@pk910.de], [neonserv], [http://neonserv.krypton-bouncer.de]) +AC_PREFIX_DEFAULT([~/neonserv]) +AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([foreign subdir-objects]) +AM_SILENT_RULES([yes]) AC_CONFIG_HEADERS([config.h]) +LT_INIT([disable-static]) + # Checks for programs. AC_PROG_CC AC_PROG_AWK # Checks for libraries. # Get MySQL library and include locations -AC_ARG_WITH([mysql-include-path], - [AS_HELP_STRING([--with-mysql-include-path], +AC_ARG_WITH([mysql], + [AS_HELP_STRING([--with-mysql=DIR], [location of the MySQL headers, defaults to /usr/include/mysql])], [MYSQL_CFLAGS="-I$withval"], [MYSQL_CFLAGS='-I/usr/include/mysql']) AC_SUBST([MYSQL_CFLAGS]) -AC_ARG_WITH([mysql-lib-path], - [AS_HELP_STRING([--with-mysql-lib-path], [location of the MySQL libraries])], +AC_ARG_WITH([mysql-lib], + [AS_HELP_STRING([--with-mysql-lib=DIR], [location of the MySQL libraries])], [MYSQL_LIBS="-L$withval -lmysqlclient"], [MYSQL_LIBS='-lmysqlclient']) AC_SUBST([MYSQL_LIBS]) +AC_CHECK_LIB([ws2_32], [_head_libws2_32_a], [LIBS="$LIBS -lws2_32"]) +AC_CHECK_LIB([dl], [dlopen], [LIBS="$LIBS -ldl"]) +AC_CHECK_LIB([pthread], [pthread_create], [LIBS="$LIBS -lpthread"]) +AC_CHECK_LIB([ssl], [SSL_read], [LIBS="$LIBS -lssl"]) +AC_CHECK_LIB([crypto], [X509_new], [LIBS="$LIBS -lcrypto"]) + +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, [ + AC_DEFINE([HAVE_SSL], 1, [Define if you are using SSL]) + ]) + ]) +]) + +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" + # Checks for header files. -AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h unistd.h]) +AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h unistd.h windows.h winsock2.h pthread.h sys/epoll.h sys/kevent.h openssl/ssl.h openssl/err.h openssl/rand.h]) # Checks for typedefs, structures, and compiler characteristics. @@ -33,5 +84,5 @@ AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket. AC_FUNC_MALLOC AC_CHECK_FUNCS([gethostbyname memset select socket strchr strdup strstr]) -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES(Makefile) AC_OUTPUT \ No newline at end of file