X-Git-Url: https://git.eyrie.org/?a=blobdiff_plain;f=configure.ac;h=323d444f6426fa2d3cb9fd0332499628f94f2660;hb=a75803f3f923d61218c571df511d7db4ace29891;hp=9ff0bcc716607f81d1849d5aed81e647866b6d42;hpb=6133868cf8ddc45639eec74fbca5e3d32c79e98d;p=kerberos%2Fkrb5-strength.git diff --git a/configure.ac b/configure.ac index 9ff0bcc..323d444 100644 --- a/configure.ac +++ b/configure.ac @@ -1,43 +1,88 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl Written by Russ Allbery -dnl Copyright 2006, 2007, 2009 -dnl Board of Trustees, Leland Stanford Jr. University +dnl Written by Russ Allbery +dnl Copyright 2016, 2020, 2023 Russ Allbery +dnl Copyright 2006-2007, 2009-2010, 2012-2014 +dnl The Board of Trustees of the Leland Stanford Junior University dnl -dnl See LICENSE for licensing terms. +dnl SPDX-License-Identifier: MIT +dnl Basic Autoconf configuration. AC_PREREQ([2.64]) -AC_INIT([krb5-strength], [0.5], [rra@stanford.edu]) +AC_INIT([krb5-strength], [3.2], [eagle@eyrie.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_LIBOBJ_DIR([portable]) AC_CONFIG_MACRO_DIR([m4]) -AM_INIT_AUTOMAKE([1.11 check-news silent-rules -Wall -Werror]) +AM_INIT_AUTOMAKE([1.11 check-news dist-xz foreign silent-rules subdir-objects + -Wall -Werror]) AM_MAINTAINER_MODE +dnl Detect unexpanded macros. +m4_pattern_forbid([^PKG_]) +m4_pattern_forbid([^_?RRA_]) + +dnl Probe for basic build system tools. AC_PROG_CC AC_USE_SYSTEM_EXTENSIONS +RRA_PROG_CC_WARNINGS_FLAGS +AC_SYS_LARGEFILE AM_PROG_CC_C_O +m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) AC_PROG_INSTALL -AM_DISABLE_STATIC -AC_PROG_LIBTOOL +AC_DISABLE_STATIC +LT_INIT -AC_HEADER_STDBOOL -AC_CHECK_HEADERS([sys/bittypes.h]) -AC_CHECK_DECLS([snprintf, vsnprintf]) -AC_TYPE_LONG_LONG_INT -RRA_FUNC_SNPRINTF -AC_REPLACE_FUNCS([asprintf strlcat strlcpy]) +dnl Only used for the test suite. +AC_PATH_PROG([PATH_VALGRIND], [valgrind]) +dnl External libraries. +RRA_LIB_CDB_OPTIONAL +RRA_LIB_CRACKLIB RRA_LIB_KRB5 - RRA_LIB_KRB5_SWITCH -AC_CHECK_HEADERS([kadm5-pwcheck.h]) -AC_CHECK_TYPES([krb5_realm], , , [#include ]) +AC_CHECK_HEADERS([krb5/pwqual_plugin.h], [], [], [RRA_INCLUDES_KRB5]) +AC_CHECK_TYPES([krb5_realm], [], [], [RRA_INCLUDES_KRB5]) +AC_CHECK_FUNCS([krb5_free_default_realm \ + krb5_free_string \ + krb5_get_init_creds_opt_alloc \ + krb5_get_init_creds_opt_set_default_flags \ + krb5_principal_get_realm \ + krb5_xfree]) +AC_CHECK_FUNCS([krb5_get_init_creds_opt_free], + [RRA_FUNC_KRB5_GET_INIT_CREDS_OPT_FREE_ARGS]) +AC_CHECK_DECLS([krb5_kt_free_entry], [], [], [RRA_INCLUDES_KRB5]) +AC_CHECK_FUNCS([krb5_appdefault_string], [], + [AC_CHECK_FUNCS([krb5_get_profile]) + AC_CHECK_HEADERS([k5profile.h profile.h]) + AC_LIBOBJ([krb5-profile])]) +AC_LIBOBJ([krb5-extra]) +AC_CHECK_HEADERS([kadm5/kadm5-pwcheck.h kadm5/kadm5_err.h], [], [], + [RRA_INCLUDES_KRB5]) RRA_LIB_KRB5_RESTORE +RRA_LIB_SQLITE3_OPTIONAL -dnl Create the tests/data directory for builds outside the source directory. -AC_CONFIG_COMMANDS([tests/data/.placeholder], [touch tests/data/.placeholder]) +dnl Probe for libdl, which is used for the test suite. +save_LIBS="$LIBS" +AC_SEARCH_LIBS([dlopen], [dl], [DL_LIBS="$LIBS"]) +LIBS="$save_LIBS" +AC_SUBST([DL_LIBS]) + +dnl Checks for basic C functionality. +AC_HEADER_STDBOOL +AC_CHECK_HEADERS([strings.h sys/bittypes.h sys/select.h sys/time.h syslog.h]) +AC_CHECK_DECLS([reallocarray]) +RRA_C_C99_VAMACROS +RRA_C_GNU_VAMACROS +AC_TYPE_LONG_LONG_INT +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_CHECK_TYPES([ssize_t], [], [], + [#include ]) +AC_CHECK_FUNCS([explicit_bzero setrlimit]) +AC_REPLACE_FUNCS([asprintf mkstemp reallocarray strndup]) +dnl Write out the results. AC_CONFIG_FILES([Makefile]) -AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) AC_OUTPUT