X-Git-Url: https://gitweb.michael.orlitzky.com/?p=apply-default-acl.git;a=blobdiff_plain;f=configure.ac;h=6de8a998cdcbe589016ed84ad265ab0b8ab696cf;hp=2da8171650a3d50d97609fcffa5aa92c5a29a2d7;hb=74c97a249290c9e33e6f06a27f5c99fb5bce36d4;hpb=dc1e4c73df04958cc3208ba2effa84b6b0bd2dec diff --git a/configure.ac b/configure.ac index 2da8171..6de8a99 100644 --- a/configure.ac +++ b/configure.ac @@ -1,32 +1,56 @@ AC_PREREQ([2.68]) -AC_INIT([apply-default-acl], [0.0.6], [michael@orlitzky.com]) -AM_INIT_AUTOMAKE([foreign]) # don't bug me a bout README, NEWS, etc. -AC_CONFIG_SRCDIR([src/apply-default-acl.c]) +AC_INIT([apply-default-acl], [0.4.2], [michael@orlitzky.com]) +# Store build artifacts in this directory to keep the house clean. +AC_CONFIG_AUX_DIR([build-aux]) +AM_INIT_AUTOMAKE([-Wall foreign no-dist-gzip dist-xz tar-ustar]) AC_CONFIG_FILES([Makefile src/Makefile]) +AC_CONFIG_SRCDIR([src/apply-default-acl.c]) +AC_CONFIG_MACRO_DIRS([m4]) # Checks for programs. AC_PROG_CC AM_PROG_AR # Predefined header checks. +AC_HEADER_DIRENT # dirent.h AC_HEADER_STAT # sys/stat.h AC_HEADER_STDBOOL # stdbool.h -AC_HEADER_STDC # stdlib.h string.h (implied: errno.h limits.h stdio.h) -AC_TYPE_MODE_T +AC_HEADER_STDC # stdlib.h string.h (implied: errno.h stdio.h) # Check for header files not covered by the predefined macros above. -AC_CHECK_HEADERS([ fcntl.h ftw.h getopt.h libgen.h limits.h sys/acl.h ]) -AC_CHECK_HEADERS([ sys/libacl.h sys/types.h unistd.h ]) +AC_HEADER_REQUIRE(acl/libacl.h) +AC_HEADER_REQUIRE(fcntl.h) +AC_HEADER_REQUIRE(getopt.h) +AC_HEADER_REQUIRE(libgen.h) +AC_HEADER_REQUIRE(limits.h) +AC_HEADER_REQUIRE(linux/xattr.h) +AC_HEADER_REQUIRE(sys/acl.h) +AC_HEADER_REQUIRE(unistd.h) # We need openat() with O_NOFOLLOW from POSIX-2008. Without them, we # can't operate securely; I would rather refuse to be built. AC_CHECK_FUNC(openat, [], - AC_MSG_ERROR(missing required openat function)) + AC_MSG_ERROR(missing required openat function)) +AC_CHECK_DECLS([O_DIRECTORY], + [], + [AC_MSG_ERROR(missing required O_DIRECTORY flag in fcntl.h)], + [[#include ]]) AC_CHECK_DECLS([O_NOFOLLOW], [], - [AC_MSG_ERROR(missing required O_NOFOLLOW flag in fcntl.h)], - [[#include ]]) + [AC_MSG_ERROR(missing required O_NOFOLLOW flag in fcntl.h)], + [[#include ]]) +AC_CHECK_DECLS([O_PATH], + [], + [AC_MSG_ERROR(missing required O_PATH flag in fcntl.h)], + [[#define _GNU_SOURCE + #include ]]) + +# And check for the GNU/BSD extension asprintf(), which lets us avoid +# praying to the PATH_MAX gods while constructing long paths. +AC_CHECK_FUNC(asprintf, + [], + AC_MSG_ERROR(missing required asprintf function)) LT_INIT AC_OUTPUT