2 AC_INIT([apply-default-acl],[0.4.4],[michael@orlitzky.com])
3 # Store build artifacts in this directory to keep the house clean.
4 AC_CONFIG_AUX_DIR([build-aux])
5 AM_INIT_AUTOMAKE([-Wall foreign no-dist-gzip dist-xz tar-ustar])
6 AC_CONFIG_FILES([Makefile src/Makefile src/libadacl.pc])
7 AC_CONFIG_SRCDIR([src/apply-default-acl.c])
8 AC_CONFIG_MACRO_DIRS([m4])
10 # Not used, but keeps the build log clean.
11 AC_CONFIG_HEADERS([config.h])
13 # Adds --with-pkgconfigdir to the ./configure script and defines
14 # the @pkgconfigdir@ variable to be used elsewhere.
17 # Checks for programs.
21 # Predefined header checks.
22 AC_HEADER_DIRENT # dirent.h
23 AC_HEADER_STAT # sys/stat.h
24 AC_HEADER_STDBOOL # stdbool.h
26 # Check for header files not covered by the predefined macros above.
27 AC_HEADER_REQUIRE(acl/libacl.h)
28 AC_HEADER_REQUIRE(fcntl.h)
29 AC_HEADER_REQUIRE(getopt.h)
30 AC_HEADER_REQUIRE(libgen.h)
31 AC_HEADER_REQUIRE(limits.h)
32 AC_HEADER_REQUIRE(linux/xattr.h)
33 AC_HEADER_REQUIRE(sys/acl.h)
34 AC_HEADER_REQUIRE(unistd.h)
36 # We need openat() with O_NOFOLLOW from POSIX-2008. Without them, we
37 # can't operate securely; I would rather refuse to be built.
40 AC_MSG_ERROR(missing required openat function))
41 AC_CHECK_DECLS([O_DIRECTORY],
43 [AC_MSG_ERROR(missing required O_DIRECTORY flag in fcntl.h)],
44 [[#include <fcntl.h>]])
45 AC_CHECK_DECLS([O_NOFOLLOW],
47 [AC_MSG_ERROR(missing required O_NOFOLLOW flag in fcntl.h)],
48 [[#include <fcntl.h>]])
49 AC_CHECK_DECLS([O_PATH],
51 [AC_MSG_ERROR(missing required O_PATH flag in fcntl.h)],
55 # And check for the GNU/BSD extension asprintf(), which lets us avoid
56 # praying to the PATH_MAX gods while constructing long paths.
57 AC_CHECK_FUNC(asprintf,
59 AC_MSG_ERROR(missing required asprintf function))
61 LT_INIT([disable-static])