116 lines
3.0 KiB
Plaintext
116 lines
3.0 KiB
Plaintext
|
# -*- 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
|