]> eyrie.org Git - kerberos/krb5-strength.git/blob - configure.ac
955bc57bb0d9c2ee506b82fea2ab786f6408668c
[kerberos/krb5-strength.git] / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 dnl Written by Russ Allbery <eagle@eyrie.org>
4 dnl Copyright 2016, 2020 Russ Allbery <eagle@eyrie.org>
5 dnl Copyright 2006-2007, 2009-2010, 2012-2014
6 dnl     The Board of Trustees of the Leland Stanford Junior University
7 dnl
8 dnl SPDX-License-Identifier: MIT
9
10 dnl Basic Autoconf configuration.
11 AC_PREREQ([2.64])
12 AC_INIT([krb5-strength], [3.1], [eagle@eyrie.org])
13 AC_CONFIG_AUX_DIR([build-aux])
14 AC_CONFIG_LIBOBJ_DIR([portable])
15 AC_CONFIG_MACRO_DIR([m4])
16 AM_INIT_AUTOMAKE([1.11 check-news dist-xz foreign silent-rules subdir-objects
17     -Wall -Werror])
18 AM_MAINTAINER_MODE
19
20 dnl Detect unexpanded macros.
21 m4_pattern_forbid([^PKG_])
22 m4_pattern_forbid([^_?RRA_])
23
24 dnl Probe for basic build system tools.
25 AC_PROG_CC
26 AC_USE_SYSTEM_EXTENSIONS
27 RRA_PROG_CC_WARNINGS_FLAGS
28 AC_SYS_LARGEFILE
29 AM_PROG_CC_C_O
30 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
31 AC_PROG_INSTALL
32 AM_DISABLE_STATIC
33 LT_INIT
34
35 dnl Only used for the test suite.
36 AC_PATH_PROG([PATH_VALGRIND], [valgrind])
37
38 dnl External libraries.
39 RRA_LIB_CDB_OPTIONAL
40 RRA_LIB_CRACKLIB
41 AS_IF([test x"$rra_system_cracklib" = xyes],
42     [RRA_LIB_CRACKLIB_SWITCH
43      AC_CHECK_HEADERS([crack.h])
44      RRA_LIB_CRACKLIB_RESTORE])
45 RRA_LIB_KRB5
46 RRA_LIB_KRB5_SWITCH
47 AC_CHECK_HEADERS([krb5/pwqual_plugin.h], [], [], [RRA_INCLUDES_KRB5])
48 AC_CHECK_TYPES([krb5_realm], [], [], [RRA_INCLUDES_KRB5])
49 AC_CHECK_FUNCS([krb5_free_default_realm \
50     krb5_free_string \
51     krb5_get_init_creds_opt_alloc \
52     krb5_get_init_creds_opt_set_default_flags \
53     krb5_principal_get_realm \
54     krb5_xfree])
55 AC_CHECK_FUNCS([krb5_get_init_creds_opt_free],
56     [RRA_FUNC_KRB5_GET_INIT_CREDS_OPT_FREE_ARGS])
57 AC_CHECK_DECLS([krb5_kt_free_entry], [], [], [RRA_INCLUDES_KRB5])
58 AC_CHECK_FUNCS([krb5_appdefault_string], [],
59     [AC_CHECK_FUNCS([krb5_get_profile])
60      AC_CHECK_HEADERS([k5profile.h profile.h])
61      AC_LIBOBJ([krb5-profile])])
62 AC_LIBOBJ([krb5-extra])
63 AC_CHECK_HEADERS([kadm5/kadm5-pwcheck.h kadm5/kadm5_err.h], [], [],
64     [RRA_INCLUDES_KRB5])
65 RRA_LIB_KRB5_RESTORE
66 RRA_LIB_SQLITE_OPTIONAL
67
68 dnl Probe for libdl, which is used for the test suite.
69 save_LIBS="$LIBS"
70 AC_SEARCH_LIBS([dlopen], [dl], [DL_LIBS="$LIBS"])
71 LIBS="$save_LIBS"
72 AC_SUBST([DL_LIBS])
73
74 dnl Checks for basic C functionality.
75 AC_HEADER_STDBOOL
76 AC_CHECK_HEADERS([strings.h sys/bittypes.h sys/select.h sys/time.h syslog.h])
77 AC_CHECK_DECLS([snprintf, vsnprintf])
78 RRA_C_C99_VAMACROS
79 RRA_C_GNU_VAMACROS
80 AC_TYPE_LONG_LONG_INT
81 AC_TYPE_UINT8_T
82 AC_TYPE_UINT16_T
83 AC_TYPE_UINT32_T
84 AC_CHECK_TYPES([ssize_t], [], [],
85     [#include <sys/types.h>])
86 RRA_FUNC_SNPRINTF
87 AC_CHECK_FUNCS([explicit_bzero setrlimit])
88 AC_REPLACE_FUNCS([asprintf mkstemp reallocarray strndup])
89
90 dnl Write out the results.
91 AC_CONFIG_FILES([Makefile])
92 AC_CONFIG_HEADER([config.h])
93 AC_OUTPUT