This repository has been archived on 2024-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
libircclient/configure.in
2023-08-07 02:58:04 -06:00

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