1# -*- Autoconf -*- 2# Process this file with autoconf to produce a configure script. 3 4AC_PREREQ(2.59) 5AC_INIT([inotify-tools], [3.21.9.6]) 6AC_CONFIG_AUX_DIR([config]) 7AC_CONFIG_SRCDIR([src/inotifywait.c]) 8AC_CONFIG_HEADERS([config.h]) 9AC_CONFIG_HEADERS([libinotifytools/src/inotifytools/inotify.h]) 10AC_CONFIG_HEADERS([libinotifytools/src/inotifytools/fanotify.h]) 11AC_CONFIG_MACRO_DIR([m4]) 12AC_DEFINE([_GNU_SOURCE], [], [For a few GNU-specific functions]) 13AC_PROG_MAKE_SET 14 15# Checks for programs. 16AC_PROG_CC 17AM_INIT_AUTOMAKE 18LT_INIT 19 20AC_PATH_PROG(DOXYGEN, doxygen, NO_DOXYGEN) 21 22AC_ARG_ENABLE(doxygen, 23 AS_HELP_STRING([--enable-doxygen],[enable libinotifytools API docs generation]), 24 DOXYGEN_ENABLE=$enableval, 25 [if test "$DOXYGEN" != NO_DOXYGEN; then 26 DOXYGEN_ENABLE=yes 27 else 28 DOXYGEN_ENABLE=no 29 fi] 30) 31 32if test "$DOXYGEN_ENABLE" = "yes" && test "$DOXYGEN" = "NO_DOXYGEN"; then 33 AC_MSG_ERROR([Cannot find doxygen! Make sure it is in PATH.]) 34fi 35 36if test "$DOXYGEN_ENABLE" = "no"; then 37 DOXYGEN=NO_DOXYGEN 38fi 39AM_CONDITIONAL([DOXYGEN_ENABLE], test x$DOXYGEN != xNO_DOXYGEN ) 40 41AC_ARG_ENABLE(static-binary, 42 AS_HELP_STRING([--enable-static-binary],[enable static linking of binaries]), 43 STATIC_BINARY_ENABLE=$enableval, STATIC_BINARY_ENABLE=no) 44AM_CONDITIONAL([STATIC_BINARY_ENABLE], test "$STATIC_BINARY_ENABLE" = "yes") 45 46 47# Checks for libraries. 48AC_SEARCH_LIBS(inotify_init, inotify) 49 50# Checks for header files. 51AC_CHECK_HEADERS([sys/inotify.h sys/fanotify.h mcheck.h]) 52AC_LANG(C) 53AC_MSG_CHECKING([whether sys/inotify.h actually works]) 54AC_COMPILE_IFELSE( 55 [AC_LANG_PROGRAM([[#include <sys/inotify.h>]], 56 [[return (-1 == inotify_init());]] 57 )], 58 [AC_MSG_RESULT([yup]); AC_DEFINE([SYS_INOTIFY_H_EXISTS_AND_WORKS],[1],[sys/inotify.h exists and works correctly])], 59 [AC_MSG_RESULT([nope, using own inotify headers])] 60) 61 62# Checks for fanotify support. 63AC_MSG_CHECKING([whether sys/fanotify.h actually works]) 64AC_COMPILE_IFELSE( 65 [AC_LANG_PROGRAM([[#include <sys/fanotify.h>]], 66 [[return (-1 == fanotify_init(FAN_REPORT_DFID_NAME, 0));]] 67 )], 68 [AC_MSG_RESULT([yup]); DEFAULT_FANOTIFY=yes; AC_DEFINE([SYS_FANOTIFY_H_EXISTS_AND_WORKS],[1],[sys/fanotify.h exists and works correctly])], 69 [AC_MSG_RESULT([nope, using own fanotify headers]); DEFAULT_FANOTIFY=no] 70) 71 72AC_ARG_ENABLE(fanotify, 73 AS_HELP_STRING([--enable-fanotify],[enable fanotify support]), 74 ENABLE_FANOTIFY=$enableval, DOXYGEN_ENABLE="$DEFAULT_FANOTIFY" 75) 76AM_CONDITIONAL([ENABLE_FANOTIFY], test "$ENABLE_FANOTIFY" = "yes") 77 78# Checks for typedefs, structures, and compiler characteristics. 79AC_C_CONST 80AC_C_INLINE 81 82# Checks for library functions. 83AC_CHECK_FUNCS([daemon]) 84 85# Set variables used in man page templates 86MAN_DATE=$(date -u -r ChangeLog +'%Y-%m-%d') 87MAN_PACKAGE_VERSION=$PACKAGE_VERSION 88AC_SUBST([MAN_DATE]) 89AC_SUBST([MAN_PACKAGE_VERSION]) 90 91# Output... 92AC_CONFIG_FILES([ 93 Makefile 94 src/Makefile 95 man/Makefile 96 man/inotifywait.1 97 man/inotifywatch.1 98 man/fsnotifywait.1 99 man/fsnotifywatch.1 100 libinotifytools/Makefile 101 libinotifytools/src/Makefile 102 libinotifytools/src/inotifytools/Makefile 103]) 104AC_OUTPUT 105