|
- # -*- Autoconf -*-
- # Process this file with autoconf to produce a configure script.
-
- AC_PREREQ(2.52)
- AC_INIT(libircclient, 1.3, gyunaev@ulduzsoft.com)
- AC_CONFIG_SRCDIR([include/libircclient.h])
- AC_CONFIG_HEADER([src/config.h])
-
- # Check for command-line
- AC_ARG_ENABLE([debug],
- [AS_HELP_STRING([--enable-debug],
- [compile with debug information (no)])],
- [use_debug=$enableval],
- [use_debug=no])
-
- AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared],
- [build a shared library (no)])],
- [build_shared=$enableval],
- [build_shared=no])
-
- AC_ARG_ENABLE([threads],
- [AS_HELP_STRING([--enable-threads],
- [compile with multithread support (yes)])],
- [use_threads=$enableval],
- [use_threads=yes])
-
- AC_ARG_ENABLE([ipv6],
- [AS_HELP_STRING([--enable-ipv6],
- [compile with IPv6 support (no)])],
- [use_ipv6=$enableval],
- [use_ipv6=no])
-
- AC_ARG_ENABLE([openssl],
- [AS_HELP_STRING([--enable-openssl],
- [compile with OpenSSL support (no)])],
- [use_openssl=$enableval],
- [use_openssl=no])
-
- # Checks for programs.
- AC_PROG_CXX
- AC_PROG_CC
- AC_CHECK_TOOL(AR, ar, :)
- AC_PROG_RANLIB
-
- # Checks for header files.
- AC_HEADER_STDC
-
- # Checks for typedefs, structures, and compiler characteristics.
- AC_HEADER_STDBOOL
- AC_C_CONST
- AC_TYPE_SIZE_T
- AC_HEADER_TIME
-
- # Checks for library functions.
- AC_FUNC_MALLOC
- AC_FUNC_SELECT_ARGTYPES
- AC_FUNC_STAT
- AC_CHECK_FUNCS([localtime_r socket])
-
- AC_CHECK_LIB(socket, socket, AC_DEFINE(HAVE_SOCKET) LIBS="$LIBS -lsocket")
-
- if test "$use_debug" = "yes"; then
- CFLAGS="${CFLAGS} -g -DENABLE_DEBUG"
- else
- CFLAGS="${CFLAGS} -O3"
- fi
-
- # Choosing the target
- TARGET="static"
- if test "$build_shared" = "yes"; then
- CFLAGS="$CFLAGS -fpic"
- TARGET="shared"
- fi
-
- if test "$use_ipv6" = "yes"; then
- AC_CHECK_FUNCS([getaddrinfo inet_pton])
- AC_CHECK_LIB(nsl, getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO) LIBS="$LIBS -lnsl")
- CFLAGS="$CFLAGS -DENABLE_IPV6"
- else
- AC_CHECK_FUNCS([gethostbyname_r inet_ntoa])
- AC_CHECK_LIB(nsl, inet_ntoa, AC_DEFINE(HAVE_INET_NTOA) LIBS="$LIBS -lnsl")
- fi
-
- if test "$use_threads" = "yes"; then
- CFLAGS="$CFLAGS -DENABLE_THREADS -D_REENTRANT"
- fi
-
-
- # Checking for mingw
- AC_MSG_CHECKING([For MinGW32])
- case "$host" in
- *-*-mingw*)
- AC_MSG_RESULT([yes])
- CFLAGS="$CFLAGS -DWIN32_DLL"
- LIBS="$LIBS -lz -lwsock32 -lgdi32 -lkernel32" # for openssl
- TARGET="shared_mingw"
- ;;
- *) AC_MSG_RESULT([no]) ;;
- esac
-
- if test "$use_openssl" = "yes"; then
- AC_CHECK_LIB(crypto, [CRYPTO_free], [], [AC_MSG_ERROR([OpenSSL not found (libcrypto)])])
- AC_CHECK_LIB(ssl, [SSL_CTX_new], [], [AC_MSG_ERROR([OpenSSL not found (libssl)])])
- AC_CHECK_HEADER([openssl/ssl.h], [], [AC_MSG_ERROR([OpenSSL headers not found; did you install the -dev package?])])
- CFLAGS="$CFLAGS -DENABLE_SSL"
- fi
-
- AC_SUBST(TARGET)
- AC_SUBST(CFLAGS)
- AC_SUBST(LDFLAGS)
- AC_SUBST(LIBS)
- AC_SUBST(PREFIX)
- AC_CONFIG_FILES([examples/Makefile src/Makefile])
- AC_OUTPUT
|