1# MUNGE configure.ac
2#
3# This file is part of the MUNGE Uid 'N' Gid Emporium (MUNGE).
4# For details, see <https://dun.github.io/munge/>.
5
6##
7# Prologue.
8##
9AC_PREREQ([2.61])
10AC_INIT([MUNGE], [0.5.14])
11AC_SUBST([DATE], ["2020-01-14"])
12
13AC_CONFIG_AUX_DIR([build-aux])
14AC_CONFIG_HEADERS([config.h])
15AC_CONFIG_MACRO_DIR([m4])
16AC_CONFIG_SRCDIR([src/libmunge/munge.h])
17AC_REQUIRE_AUX_FILE([tap-driver.sh])
18
19X_AC_WITH_MUNGE_SOCKET
20X_AC_WITH_RUNSTATEDIR
21X_AC_WITH_SYSTEMDUNITDIR
22X_AC_WITH_SYSVINITDDIR
23X_AC_WITH_SYSCONFIGDIR
24X_AC_WITH_LOGROTATEDDIR
25X_AC_WITH_PKGCONFIGDIR
26X_AC_HUMOR
27
28AM_INIT_AUTOMAKE([1.11 foreign dist-xz no-dist-gzip])
29AM_MAINTAINER_MODE
30m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
31AC_USE_SYSTEM_EXTENSIONS
32m4_ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL])
33
34##
35# Checks for programs.
36##
37X_AC_ARCH
38AC_PROG_AWK
39AC_PROG_CC
40AC_PROG_INSTALL
41AC_PROG_LN_S
42AC_PROG_MAKE_SET
43AC_PROG_MKDIR_P
44AC_PROG_SED
45AM_PROG_CC_C_O
46X_AC_DEBUG
47
48##
49# Checks for libraries.
50##
51X_AC_CHECK_PTHREADS
52X_AC_CHECK_COND_LIB(bz2, BZ2_bzBuffToBuffCompress)
53X_AC_CHECK_COND_LIB(z, compress)
54AC_SEARCH_LIBS(gethostbyname, nsl)
55AC_SEARCH_LIBS(socket, socket)
56m4_ifdef([AM_PATH_LIBGCRYPT], [AM_PATH_LIBGCRYPT])
57X_AC_PATH_OPENSSL
58X_AC_SELECT_CRYPTO_LIB
59if test "${CRYPTO_PKG}" = "openssl"; then
60  X_AC_CHECK_OPENSSL
61fi
62
63##
64# Checks for header files.
65##
66AC_CHECK_HEADERS( \
67  bzlib.h \
68  ifaddrs.h \
69  standards.h \
70  sys/random.h \
71  zlib.h \
72)
73
74##
75# Checks for typedefs, structures, and compiler characteristics.
76##
77AC_C_CONST
78AC_TYPE_UID_T
79AC_CHECK_TYPES(socklen_t, [], [], [#include <sys/types.h>
80#include <sys/socket.h>])
81
82##
83# Checks for library functions.
84##
85AC_CHECK_FUNCS( \
86  getentropy \
87  getifaddrs \
88  getrandom \
89  localtime_r \
90  mlockall \
91  sysconf \
92)
93AC_REPLACE_FUNCS( \
94  inet_ntop \
95  strlcat \
96  strlcpy \
97)
98X_AC_GETGRENT
99X_AC_GETGRNAM
100X_AC_GETPWNAM
101
102##
103# Checks for platform-specific issues.
104##
105X_AC_AIX
106X_AC_DARWIN
107
108##
109# Checks for client authentication method.
110##
111X_AC_SELECT_AUTH_METHOD
112
113##
114# Epilogue.
115##
116AC_CONFIG_FILES( \
117  Makefile \
118  src/Makefile \
119  src/common/Makefile \
120  src/etc/Makefile \
121  src/libcommon/Makefile \
122  src/libmissing/Makefile \
123  src/libmunge/Makefile \
124  src/libtap/Makefile \
125  src/munge/Makefile \
126  src/munged/Makefile \
127  src/mungekey/Makefile \
128  t/Makefile \
129)
130AC_OUTPUT
131