|
Packit |
0af36a |
|
|
Packit |
0af36a |
AC_INIT([libpsl], [0.20.2], [tim.ruehsen@gmx.de], [libpsl], [https://github.com/rockdaboot/libpsl])
|
|
Packit |
0af36a |
AC_PREREQ([2.59])
|
|
Packit |
0af36a |
AC_CONFIG_AUX_DIR([build-aux])
|
|
Packit |
0af36a |
AM_INIT_AUTOMAKE([1.10 no-define foreign])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Generate two configuration headers; one for building the library itself with
|
|
Packit |
0af36a |
# an autogenerated template, and a second one that will be installed alongside
|
|
Packit |
0af36a |
# the library.
|
|
Packit |
0af36a |
AC_CONFIG_HEADERS([config.h])
|
|
Packit |
0af36a |
AC_PROG_CC
|
|
Packit |
0af36a |
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|
Packit |
0af36a |
#LT_INIT([disable-static])
|
|
Packit |
0af36a |
LT_INIT([win32-dll])
|
|
Packit |
0af36a |
AC_CONFIG_MACRO_DIR([m4])
|
|
Packit |
0af36a |
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
dnl Check that compiler understands inline
|
|
Packit |
0af36a |
AC_C_INLINE
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
dnl Check for visibility support
|
|
Packit |
0af36a |
gl_VISIBILITY
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
# Generate version defines for include file
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_VERSION_MAJOR], [`echo $VERSION|cut -d'.' -f1`])
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_VERSION_MINOR], [`echo $VERSION|cut -d'.' -f2`])
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_VERSION_PATCH], [`echo $VERSION|cut -d'.' -f3`])
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_VERSION_NUMBER], [`printf '0x%02x%02x%02x' $LIBPSL_VERSION_MAJOR $LIBPSL_VERSION_MINOR $LIBPSL_VERSION_PATCH`])
|
|
Packit |
0af36a |
AC_CONFIG_FILES([include/libpsl.h])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
# Gettext
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
AM_GNU_GETTEXT([external],[need-ngettext])
|
|
Packit |
0af36a |
AM_GNU_GETTEXT_VERSION([0.18.1])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
# check for gtk-doc
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
m4_ifdef([GTK_DOC_CHECK], [
|
|
Packit |
0af36a |
GTK_DOC_CHECK([1.15],[--flavour no-tmpl])
|
|
Packit |
0af36a |
],[
|
|
Packit |
0af36a |
AM_CONDITIONAL([ENABLE_GTK_DOC], false)
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
# needed for some older versions of gtk-doc
|
|
Packit |
0af36a |
m4_ifdef([GTK_DOC_USE_LIBTOOL], [], [
|
|
Packit |
0af36a |
AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], false)
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test x"$have_gtk_doc" = xyes -a x"$enable_gtk_doc" = xyes; then
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_DOCS], [docs/libpsl])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
# enable creation of man pages
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
AC_ARG_ENABLE([man],
|
|
Packit |
0af36a |
[AC_HELP_STRING([--enable-man], [generate man pages [default=auto]])],
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_man" = yes; then
|
|
Packit |
0af36a |
AC_PATH_PROG([XSLTPROC], [xsltproc])
|
|
Packit |
0af36a |
AS_IF([test -z "$XSLTPROC"], [
|
|
Packit |
0af36a |
AC_MSG_ERROR([xsltproc is required for --enable-man])
|
|
Packit |
0af36a |
enable_man="no (xsltproc not found)"
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [ enable_man=no ])
|
|
Packit |
0af36a |
AM_CONDITIONAL(ENABLE_MAN, test x$enable_man = xyes)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# src/psl-make-dafsa needs python 2.7+
|
|
Packit |
0af36a |
AM_PATH_PYTHON([2.7])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
PKG_PROG_PKG_CONFIG
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
AC_ARG_ENABLE([cfi],
|
|
Packit |
0af36a |
[AS_HELP_STRING([--enable-cfi], [Turn on clang's Control Flow Integrity (CFI)])],
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_cfi" = yes; then
|
|
Packit |
0af36a |
CFLAGS=$CFLAGS" -B/usr/bin/gold -fsanitize=cfi -flto -fvisibility=default -fno-sanitize-trap=all"
|
|
Packit |
0af36a |
AC_LINK_IFELSE([
|
|
Packit |
0af36a |
AC_LANG_PROGRAM([], [])
|
|
Packit |
0af36a |
], [], [
|
|
Packit |
0af36a |
AC_MSG_ERROR([clang 3.7+ and the 'gold' linker are required for --enable-cfi])
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [ enable_cfi=no ])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
AC_ARG_ENABLE([ubsan],
|
|
Packit |
0af36a |
[AS_HELP_STRING([--enable-ubsan], [Turn on Undefined Behavior Sanitizer (UBSan)])],
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_ubsan" = yes; then
|
|
Packit |
0af36a |
CFLAGS=$CFLAGS" -fsanitize=undefined -fno-sanitize-recover=undefined"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [ enable_ubsan=no ])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
AC_ARG_ENABLE([asan],
|
|
Packit |
0af36a |
[AS_HELP_STRING([--enable-asan], [Turn on Address Sanitizer (ASan)])],
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_asan" = yes; then
|
|
Packit |
0af36a |
CFLAGS=$CFLAGS" -fsanitize=address -fno-omit-frame-pointer"
|
|
Packit |
0af36a |
AX_CHECK_COMPILE_FLAG([-fsanitize-address-use-after-scope], [CFLAGS="$CFLAGS -fsanitize-address-use-after-scope"])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [ enable_asan=no ])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Define these substitions here to keep all version information in one place.
|
|
Packit |
0af36a |
# For information on how to properly maintain the library version information,
|
|
Packit |
0af36a |
# refer to the libtool manual, section "Updating library version information":
|
|
Packit |
0af36a |
# https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
|
Packit |
0af36a |
#
|
|
Packit |
0af36a |
# 1. Start with version information of ‘0:0:0’ for each libtool library.
|
|
Packit |
0af36a |
# 2. Update the version information only immediately before a public release of your software. More frequent updates are unnecessary, and only guarantee that the current interface number gets larger faster.
|
|
Packit |
0af36a |
# 3. If the library source code has changed at all since the last update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
|
|
Packit |
0af36a |
# 4. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
|
|
Packit |
0af36a |
# 5. If any interfaces have been added since the last public release, then increment age.
|
|
Packit |
0af36a |
# 6. If any existing interfaces have been removed or changed since the last public release, then set age to 0.
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_SO_VERSION], [8:1:3])
|
|
Packit |
0af36a |
AC_SUBST([LIBPSL_VERSION], $VERSION)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for enable/disable builtin PSL data
|
|
Packit |
0af36a |
AC_ARG_ENABLE(runtime,
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
--enable-runtime[[=IDNA library]]
|
|
Packit |
0af36a |
Specify the IDNA library used for libpsl run-time conversions:
|
|
Packit |
0af36a |
libidn2 [[default]]: IDNA2008 library (also needs libunistring)
|
|
Packit |
0af36a |
libicu: IDNA2008 UTS#46 library
|
|
Packit |
0af36a |
libidn: IDNA2003 library (also needs libunistring)
|
|
Packit |
0af36a |
--disable-runtime Do not link runtime IDNA functionality
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
if test "$enableval" = "libidn2" -o "$enableval" = "yes"; then
|
|
Packit |
0af36a |
enable_runtime=libidn2
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBIDN2], [1], [generate PSL data using libidn2])
|
|
Packit |
0af36a |
elif test "$enableval" = "libicu"; then
|
|
Packit |
0af36a |
enable_runtime=libicu
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBICU], [1], [generate PSL data using libicu])
|
|
Packit |
0af36a |
elif test "$enableval" = "libidn"; then
|
|
Packit |
0af36a |
enable_runtime=libidn
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBIDN], [1], [generate PSL data using libidn])
|
|
Packit |
0af36a |
elif test "$enableval" = "no"; then
|
|
Packit |
0af36a |
enable_runtime=no
|
|
Packit |
0af36a |
else
|
|
Packit |
0af36a |
AC_MSG_ERROR([Unknown value $enableval for --enable-runtime])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
# this is the default if neither --enable-runtime nor --disable-runtime were specified
|
|
Packit |
0af36a |
enable_runtime=auto
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for enable/disable builtin PSL data
|
|
Packit |
0af36a |
AC_ARG_ENABLE(builtin,
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
--enable-builtin[[=IDNA library]]
|
|
Packit |
0af36a |
Specify the IDNA library used for built-in data generation:
|
|
Packit |
0af36a |
libidn2 [[default]]: IDNA2008 library (also needs libunistring)
|
|
Packit |
0af36a |
libicu: IDNA2008 UTS#46 library
|
|
Packit |
0af36a |
libidn: IDNA2003 library (also needs libunistring)
|
|
Packit |
0af36a |
--disable-builtin Do not generate built-in PSL data
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
if test "$enableval" = "libidn2" -o "$enableval" = "yes"; then
|
|
Packit |
0af36a |
enable_builtin=libidn2
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBIDN2], [1], [generate PSL data using libidn2])
|
|
Packit |
0af36a |
elif test "$enableval" = "libicu"; then
|
|
Packit |
0af36a |
enable_builtin=libicu
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBICU], [1], [generate PSL data using libicu])
|
|
Packit |
0af36a |
elif test "$enableval" = "libidn"; then
|
|
Packit |
0af36a |
enable_builtin=libidn
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBIDN], [1], [generate PSL data using libidn])
|
|
Packit |
0af36a |
elif test "$enableval" = "no"; then
|
|
Packit |
0af36a |
enable_builtin=no
|
|
Packit |
0af36a |
else
|
|
Packit |
0af36a |
AC_MSG_ERROR(Unknown value $enableval)
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
# this is the default if neither --enable-builtin nor --disable-builtin were specified
|
|
Packit |
0af36a |
enable_builtin=auto
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn2" -o "$enable_builtin" = "libidn2" -o "$enable_runtime" = "auto" -o "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
# Check for libidn2
|
|
Packit |
0af36a |
PKG_CHECK_MODULES([LIBIDN2], [libidn2], [
|
|
Packit |
0af36a |
HAVE_LIBIDN2=yes
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn2"; then
|
|
Packit |
0af36a |
CFLAGS="$LIBIDN2_CFLAGS $CFLAGS"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
OLDLIBS=$LIBS
|
|
Packit |
0af36a |
AC_SEARCH_LIBS(idn2_lookup_u8, idn2, HAVE_LIBIDN2=yes,
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn2" -o "$enable_builtin" = "libidn2"; then
|
|
Packit |
0af36a |
AC_MSG_ERROR(You requested libidn2 but it is not installed.)
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], -lunistring)
|
|
Packit |
0af36a |
LIBS=$OLDLIBS
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "x$HAVE_LIBIDN2" = "xyes"; then
|
|
Packit |
0af36a |
if test "$enable_runtime" = "auto"; then
|
|
Packit |
0af36a |
enable_runtime=libidn2
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBIDN2], [1], [generate PSL data using libidn2])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
if test "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
enable_builtin=libidn2
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBIDN2], [1], [generate PSL data using libidn2])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libicu" -o "$enable_builtin" = "libicu" -o "$enable_runtime" = "auto" -o "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
# Check for libicu
|
|
Packit |
0af36a |
# using pkg-config won't work on older systems like Ubuntu 12.04 LTS Server Edition 64bit
|
|
Packit |
0af36a |
# using AC_SEARCH_LIBS also don't work since functions have the library version appended
|
|
Packit |
0af36a |
PKG_CHECK_MODULES([LIBICU], [icu-uc], [
|
|
Packit |
0af36a |
HAVE_LIBICU=yes
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libicu"; then
|
|
Packit |
0af36a |
CFLAGS="$LIBICU_CFLAGS $CFLAGS"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
OLDLIBS=$LIBS
|
|
Packit |
0af36a |
LIBS="-licuuc $LIBS"
|
|
Packit |
0af36a |
AC_MSG_CHECKING([for ICU unicode library])
|
|
Packit |
0af36a |
AC_LINK_IFELSE(
|
|
Packit |
0af36a |
[AC_LANG_PROGRAM(
|
|
Packit |
0af36a |
[[#include <unicode/ustring.h>]],
|
|
Packit |
0af36a |
[[u_strToUTF8(NULL, 0, NULL, NULL, 0, NULL);]])],
|
|
Packit |
0af36a |
[HAVE_LIBICU=yes; LIBICU_LIBS="-licuuc"; AC_MSG_RESULT([yes])],
|
|
Packit |
0af36a |
[ AC_MSG_RESULT([no]);
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libicu" -o "$enable_builtin" = "libicu"; then
|
|
Packit |
0af36a |
AC_MSG_ERROR(You requested libicu but it is not installed.)
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
LIBS=$OLDLIBS
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "x$HAVE_LIBICU" = "xyes"; then
|
|
Packit |
0af36a |
if test "$enable_runtime" = "auto"; then
|
|
Packit |
0af36a |
enable_runtime=libicu
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBICU], [1], [generate PSL data using libicu])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
if test "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
enable_builtin=libicu
|
|
Packit |
0af36a |
AC_DEFINE([BUILTIN_GENERATOR_LIBICU], [1], [generate PSL data using libicu])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn" -o "$enable_builtin" = "libidn" -o "$enable_runtime" = "auto" -o "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
# Check for libidn
|
|
Packit |
0af36a |
PKG_CHECK_MODULES([LIBIDN], [libidn], [
|
|
Packit |
0af36a |
HAVE_LIBIDN=yes
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn"; then
|
|
Packit |
0af36a |
CFLAGS="$LIBIDN_CFLAGS $CFLAGS"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
], [
|
|
Packit |
0af36a |
OLDLIBS=$LIBS
|
|
Packit |
0af36a |
AC_SEARCH_LIBS(idna_to_ascii_8z, idn, HAVE_LIBIDN=yes,
|
|
Packit |
0af36a |
[
|
|
Packit |
0af36a |
if test "$enable_runtime" = "libidn" -o "$enable_builtin" = "libidn"; then
|
|
Packit |
0af36a |
AC_MSG_ERROR(You requested libidn but it is not installed.)
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
LIBS=$OLDLIBS
|
|
Packit |
0af36a |
])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "x$HAVE_LIBIDN" = "xyes"; then
|
|
Packit |
0af36a |
if test "$enable_runtime" = "auto"; then
|
|
Packit |
0af36a |
enable_runtime=libidn
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBIDN], [1], [generate PSL data using libidn])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
if test "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
enable_builtin=libidn
|
|
Packit |
0af36a |
AC_DEFINE([WITH_LIBIDN], [1], [generate PSL data using libidn])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# last fallback is noruntime/nobuiltin
|
|
Packit |
0af36a |
if test "$enable_runtime" = "auto"; then
|
|
Packit |
0af36a |
enable_runtime=no
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
if test "$enable_builtin" = "auto"; then
|
|
Packit |
0af36a |
enable_builtin=no
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "x$HAVE_LIBIDN2" = "xyes" -o "x$HAVE_LIBIDN" = "xyes"; then
|
|
Packit |
0af36a |
# Check for libunistring, we need it for psl_str_to_utf8lower()
|
|
Packit |
0af36a |
OLDLIBS=$LIBS
|
|
Packit |
0af36a |
AC_SEARCH_LIBS(u8_tolower, unistring, HAVE_UNISTRING=yes, AC_MSG_ERROR(You requested libidn2|libidn but libunistring is not installed.))
|
|
Packit |
0af36a |
LIBS=$OLDLIBS
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# AM_ICONV sets @LIBICONV@ and @LTLIBICONV@ for use in Makefile.am
|
|
Packit |
0af36a |
# do not use AM_ICONV conditionally
|
|
Packit |
0af36a |
AM_ICONV
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
AM_CONDITIONAL([WITH_LIBICU], test "x$enable_runtime" = "xlibicu")
|
|
Packit |
0af36a |
AM_CONDITIONAL([WITH_LIBIDN2], test "x$enable_runtime" = "xlibidn2")
|
|
Packit |
0af36a |
AM_CONDITIONAL([WITH_LIBIDN], test "x$enable_runtime" = "xlibidn")
|
|
Packit |
0af36a |
AM_CONDITIONAL([BUILTIN_GENERATOR_LIBICU], test "x$enable_builtin" = "xlibicu")
|
|
Packit |
0af36a |
AM_CONDITIONAL([BUILTIN_GENERATOR_LIBIDN2], test "x$enable_builtin" = "xlibidn2")
|
|
Packit |
0af36a |
AM_CONDITIONAL([BUILTIN_GENERATOR_LIBIDN], test "x$enable_builtin" = "xlibidn")
|
|
Packit |
0af36a |
AM_CONDITIONAL([WITH_BUILTIN], test $enable_builtin = yes)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Solaris has socket in libsocket and inet_ntop in libnsl, but also needs libsocket, so the order is important here
|
|
Packit |
0af36a |
AC_CHECK_LIB([socket], [socket], [NEEDS_SOCKET=yes], [])
|
|
Packit |
0af36a |
if test -n "$NEEDS_SOCKET" ; then
|
|
Packit |
0af36a |
AC_CHECK_LIB([nsl], [inet_ntop], [NEEDS_NSL=yes], [])
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
if test -n "$NEEDS_SOCKET" && test -n "$NEEDS_NSL" ; then
|
|
Packit |
0af36a |
LIBS="$LIBS -lsocket -lnsl"
|
|
Packit |
0af36a |
elif test -n "$NEEDS_SOCKET" ; then
|
|
Packit |
0af36a |
LIBS="$LIBS -lsocket"
|
|
Packit |
0af36a |
elif test -n "$NEEDS_NSL" ; then
|
|
Packit |
0af36a |
LIBS="$LIBS -lnsl"
|
|
Packit |
0af36a |
else
|
|
Packit |
0af36a |
# Needed for MinGW / Windows
|
|
Packit |
0af36a |
AC_SEARCH_LIBS(inet_pton, ws2_32)
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for clock_gettime() used for performance measurement
|
|
Packit |
0af36a |
AC_SEARCH_LIBS(clock_gettime, rt)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for valgrind
|
|
Packit |
0af36a |
ac_enable_valgrind=no
|
|
Packit |
0af36a |
AC_ARG_ENABLE(valgrind-tests,
|
|
Packit |
0af36a |
AS_HELP_STRING([--enable-valgrind-tests], [enable using Valgrind for tests]),
|
|
Packit |
0af36a |
[ac_enable_valgrind=$enableval],
|
|
Packit |
0af36a |
[ac_enable_valgrind=no])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
if test "${ac_enable_valgrind}" = "yes" ; then
|
|
Packit |
0af36a |
AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no)
|
|
Packit |
0af36a |
if test "$HAVE_VALGRIND" = "yes" ; then
|
|
Packit |
0af36a |
VALGRIND_ENVIRONMENT="valgrind --error-exitcode=1 --leak-check=yes --show-reachable=yes --track-origins=yes"
|
|
Packit |
0af36a |
AC_SUBST(VALGRIND_ENVIRONMENT)
|
|
Packit |
0af36a |
TESTS_INFO="Test suite will be run under Valgrind"
|
|
Packit |
0af36a |
else
|
|
Packit |
0af36a |
TESTS_INFO="Valgrind not found"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
else
|
|
Packit |
0af36a |
TESTS_INFO="Valgrind testing not enabled"
|
|
Packit |
0af36a |
fi
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for distribution-wide PSL file
|
|
Packit |
0af36a |
AC_ARG_WITH(psl-distfile,
|
|
Packit |
0af36a |
AC_HELP_STRING([--with-psl-distfile=[PATH]], [path to distribution-wide PSL file]),
|
|
Packit |
0af36a |
PSL_DISTFILE=$withval AC_SUBST(PSL_DISTFILE))
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for custom PSL file
|
|
Packit |
0af36a |
AC_ARG_WITH(psl-file,
|
|
Packit |
0af36a |
AC_HELP_STRING([--with-psl-file=[PATH]], [path to PSL file]),
|
|
Packit |
0af36a |
PSL_FILE=$withval,
|
|
Packit |
0af36a |
PSL_FILE="\$(top_srcdir)/list/public_suffix_list.dat")
|
|
Packit |
0af36a |
AC_SUBST(PSL_FILE)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Check for custom PSL test file
|
|
Packit |
0af36a |
AC_ARG_WITH(psl-testfile,
|
|
Packit |
0af36a |
AC_HELP_STRING([--with-psl-testfile=[PATH]], [path to PSL test file]),
|
|
Packit |
0af36a |
PSL_TESTFILE=$withval,
|
|
Packit |
0af36a |
PSL_TESTFILE="\$(top_srcdir)/list/tests/tests.txt")
|
|
Packit |
0af36a |
AC_SUBST(PSL_TESTFILE)
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# check for alloca / alloca.h
|
|
Packit |
0af36a |
AC_FUNC_ALLOCA
|
|
Packit |
0af36a |
AC_CHECK_FUNCS([strndup clock_gettime fmemopen nl_langinfo])
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
# Override the template file name of the generated .pc file, so that there
|
|
Packit |
0af36a |
# is no need to rename the template file when the API version changes.
|
|
Packit |
0af36a |
AC_CONFIG_FILES([Makefile
|
|
Packit |
0af36a |
include/Makefile
|
|
Packit |
0af36a |
src/Makefile
|
|
Packit |
0af36a |
tools/Makefile
|
|
Packit |
0af36a |
po/Makefile.in
|
|
Packit |
0af36a |
fuzz/Makefile
|
|
Packit |
0af36a |
tests/Makefile
|
|
Packit |
0af36a |
docs/libpsl/Makefile docs/libpsl/version.xml
|
|
Packit |
0af36a |
libpsl.pc:libpsl.pc.in
|
|
Packit |
0af36a |
msvc/Makefile
|
|
Packit |
0af36a |
msvc/config.h.win32
|
|
Packit |
0af36a |
msvc/config-msvc.mak])
|
|
Packit |
0af36a |
AC_OUTPUT
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
AC_MSG_NOTICE([Summary of build options:
|
|
Packit |
0af36a |
|
|
Packit |
0af36a |
Version: ${PACKAGE_VERSION}
|
|
Packit |
0af36a |
Host OS: ${host_os}
|
|
Packit |
0af36a |
Install prefix: ${prefix}
|
|
Packit |
0af36a |
Compiler: ${CC}
|
|
Packit |
0af36a |
CFlags: ${CFLAGS} ${CPPFLAGS}
|
|
Packit |
0af36a |
LDFlags: ${LDFLAGS}
|
|
Packit |
0af36a |
Libs: ${LIBS}
|
|
Packit |
0af36a |
Runtime: ${enable_runtime}
|
|
Packit |
0af36a |
Builtin: ${enable_builtin}
|
|
Packit |
0af36a |
PSL Dist File: ${PSL_DISTFILE}
|
|
Packit |
0af36a |
PSL File: ${PSL_FILE}
|
|
Packit |
0af36a |
PSL Test File: ${PSL_TESTFILE}
|
|
Packit |
0af36a |
Sanitizers: UBSan $enable_ubsan, ASan $enable_asan, CFI $enable_cfi
|
|
Packit |
0af36a |
Docs: $enable_gtk_doc
|
|
Packit |
0af36a |
Man pages: $enable_man
|
|
Packit |
0af36a |
Tests: ${TESTS_INFO}
|
|
Packit |
0af36a |
])
|