net-tools/configure.ac
2026-04-27 14:15:55 +02:00

108 lines
2.7 KiB
Text

AC_PREREQ([2.69])
AC_INIT([net-tools], [0.0.1], [])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIRS([m4])
AM_INIT_AUTOMAKE([foreign -Wall -Werror subdir-objects])
# Compiler: prefer clang
AC_PROG_CC
if test "x$GCC" = "xyes" && test "x$CC" = "xgcc"; then
AC_CHECK_PROG([CLANG], [clang], [clang])
if test -n "$CLANG"; then
CC="clang"
AC_MSG_NOTICE([Using clang])
fi
fi
if test "x$ac_cv_env_CFLAGS_set" != "xset"; then
CFLAGS=""
fi
STRICT_CFLAGS="-Wall -Wextra -Werror -pipe -Wpedantic -Wconversion -Wshadow -Wvla"
AC_SUBST([STRICT_CFLAGS])
AM_PROG_AR
LT_PREREQ([2.2])
LT_INIT
PKG_PROG_PKG_CONFIG
# --enable-debug
AC_ARG_ENABLE(
[debug],
[AS_HELP_STRING([--enable-debug], [Enable debug build: -g -O0 (default: no)])],
[enable_debug=$enableval],
[enable_debug=no]
)
AM_CONDITIONAL([ENABLE_DEBUG], [test "x$enable_debug" = "xyes"])
AS_IF([test "x$enable_debug" = "xyes"],
[CFLAGS="-g -O0"],
[CFLAGS="-O2"],
)
AC_SUBST([DEBUG_CFLAGS])
# --with-bundled-libcli
AC_ARG_WITH(
[bundled-libcli],
AS_HELP_STRING([--with-bundled-libcli], [force using bundled ./libcli (ignore system)]),
[with_bundled_libcli=yes],
[with_bundled_libcli=no]
)
have_system_libcli=no
AS_IF([test "x$with_bundled_libcli" != "xyes"], [
PKG_CHECK_MODULES(
[LIBCLI], [libcli >= 0.1.0],
[have_system_libcli=yes],
[have_system_libcli=no]
)
])
AM_CONDITIONAL([USE_SYSTEM_LIBCLI], [test "x$have_system_libcli" = "xyes"])
AM_CONDITIONAL([BUILD_BUNDLED_LIBCLI], [test "x$have_system_libcli" != "xyes"])
AC_SUBST([LIBCLI_CFLAGS])
AC_SUBST([LIBCLI_LIBS])
AS_IF([test "x$have_system_libcli" != "xyes"], [AC_CONFIG_SUBDIRS([libcli])])
# --enable-tests
AC_ARG_ENABLE(
[tests],
[AS_HELP_STRING([--enable-tests], [Build Criterion unit tests (default: no)])],
[enable_tests=$enableval],
[enable_tests=no]
)
AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_tests" = "xyes"])
AS_IF([test "x$enable_tests" = "xyes"], [
PKG_CHECK_MODULES([CRITERION], [criterion], [], [
AC_MSG_NOTICE([pkg-config could not find criterion -- trying manual detection])
AC_CHECK_HEADER([criterion/criterion.h], [], [AC_MSG_ERROR([criterion/criterion.h not found])])
AC_CHECK_LIB([criterion], [main],
[CRITERION_LIBS="-lcriterion"],
[AC_MSG_ERROR([libcriterion not found])])
])
])
AC_CONFIG_FILES([
Makefile
src/Makefile
src/ping/Makefile
tests/Makefile
])
AC_OUTPUT
AC_MSG_NOTICE([
net-tools $VERSION
------------------
PREFIX : $prefix
CC : $CC
CFLAGS : $STRICT_CFLAGS $CFLAGS
tests : $enable_tests
debug : $enable_debug
libcli : system=$have_system_libcli (forced bundled=$with_bundled_libcli)
])