Passbolt/fcron-3.2.0/configure.in

1125 lines
26 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
dnl ---------------------------------------------------------------------
dnl Initial settings
dnl ---------------------------------------------------------------------
AC_INIT(allow.c)
AC_CONFIG_HEADER(config.h)
AC_PREREQ(2.57)
m4_include([m4/ax_lib_readline.m4])
vers="3.2.0"
vers_quoted="\"$vers\""
AC_DEFINE_UNQUOTED(VERSION, $vers)
AC_DEFINE_UNQUOTED(VERSION_QUOTED, $vers_quoted)
VERSION="$vers"
AC_SUBST(VERSION)
copyright_quoted="\"2000-2014\""
AC_DEFINE_UNQUOTED(COPYRIGHT_QUOTED, $copyright_quoted)
dnl ---------------------------------------------------------------------
dnl Check for programs, header files, types, etc (autoconf builtins)
dnl ---------------------------------------------------------------------
dnl Checks for programs.
AC_PROG_CC
AC_PATH_PROGS(MAKE, $MAKE gmake make, $PATH:/local/bin:/usr/local/bin:/opt/TWWfsw/bin:/opt/sfw/bin)
AC_MSG_CHECKING(if make is actually GNU Make)
if test x"$MAKE" = x; then
AC_MSG_ERROR(Cannot locate a make utility, 1)
elif $MAKE --version 2>/dev/null |grep "^GNU Make" >/dev/null; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR($MAKE is not GNU Make.
Please install GNU Make or adjust your PATH so that GNU make can be found
before any others., 1)
fi
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PATH_PROGS(STRIP, $STRIP strip, /usr/css/bin:$PATH:/local/bin:/usr/local/bin:/opt/TWWfsw/bin:/opt/sfw/bin)
dnl Checks for libraries.
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h sys/file.h sys/ioctl.h sys/time.h syslog.h unistd.h)
AC_CHECK_HEADERS(errno.h sys/fcntl.h getopt.h limits.h)
AC_CHECK_HEADERS(stdarg.h)
AC_CHECK_HEADERS(termios.h)
AC_CHECK_HEADERS(strings.h)
AC_CHECK_HEADERS(sys/types.h sys/socket.h sys/un.h)
AC_CHECK_HEADERS(security/pam_appl.h pam/pam_appl.h crypt.h shadow.h libaudit.h)
AC_CHECK_HEADERS(sys/resource.h)
AC_CHECK_HEADERS(grp.h)
AC_CHECK_SIZEOF(time_t)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_UID_T
dnl Define sizeof constants
AC_CHECK_SIZEOF(pid_t)
AC_CHECK_SIZEOF(time_t)
AC_CHECK_SIZEOF(short int)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long int)
AC_CHECK_SIZEOF(long long int)
dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_TYPE_SIGNAL
AC_FUNC_STRFTIME
AC_FUNC_WAIT3
AC_CHECK_LIB(xnet, shutdown)
AC_CHECK_LIB(selinux, getcon, [selinuxavail=1], [selinuxavail=0])
AC_CHECK_LIB(audit, audit_open, [auditavail=1], [auditavail=0])
AX_LIB_READLINE
AC_CHECK_FUNC(getloadavg, [getloadavg=1], [getloadavg=0])
AC_CHECK_LIB(kstat, kstat_open, [kstat=1], [kstat=0])
if test $getloadavg -eq 1; then
dnl Nothing to do ...
AC_FUNC_GETLOADAVG
AC_MSG_CHECKING(function to use for lavg* options)
AC_MSG_RESULT(getloadavg())
elif test $kstat -eq 1; then
AC_MSG_CHECKING(function to use for lavg* options)
LIBS="$LIBS -lkstat"
AC_LIBOBJ([getloadavg])
AC_DEFINE_UNQUOTED(HAVE_KSTAT, 1)
AC_MSG_RESULT(kstat)
else
dnl Try to use the /proc/loadavg file ...
AC_FUNC_GETLOADAVG
AC_MSG_CHECKING(function to use for lavg* options)
AC_MSG_RESULT(/proc/loadavg)
fi
AC_CHECK_FUNCS(getcwd gettimeofday mktime putenv strerror setenv unsetenv gethostname)
AC_CHECK_FUNCS(getopt_long)
AC_CHECK_FUNCS(mkstemp)
AC_CHECK_FUNCS(flock lockf)
AC_CHECK_FUNCS(setlinebuf)
AC_CHECK_FUNCS(signal)
AC_CHECK_FUNCS(sigset)
AC_CHECK_FUNCS(seteuid, [seteuid=1], [seteuid=0])
AC_CHECK_FUNCS(setegid, [setegid=1], [setegid=0])
AC_CHECK_FUNCS(setresuid, [setresuid=1], [setresuid=0])
AC_CHECK_FUNCS(setresgid, [setresgid=1], [setresgid=0])
if test \( \( $seteuid -eq 1 \) -a \( $setegid -eq 1 \) \) -o \( \( "$setresuid" -eq 1 \) -a \( "$setresgid" -eq 1 \) \) ; then
has_euid=1
else
has_euid=0
fi
AC_CHECK_FUNCS(setpriority)
AC_SEARCH_LIBS([getspnam],[shadow sec], [AC_DEFINE_UNQUOTED(HAVE_GETSPNAM, 1)], [])
AC_CHECK_FUNCS(crypt, [crypt=1], [crypt=0])
if test "$crypt" -eq "0"; then
AC_CHECK_LIB(crypt, crypt, [crypt=1], [crypt=0])
if test "$crypt" -eq "1"; then
LIBS="$LIBS -lcrypt"
fi
fi
if test "$crypt" -eq "1"; then
AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1)
fi
dnl --- sockets
dnl Check for post-Reno style struct sockaddr
AC_CACHE_CHECK([for sa_len],
ac_cv_sa_len,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/socket.h>], [int main(void) {
struct sockaddr t;t.sa_len = 0;}],
ac_cv_sa_len=yes,ac_cv_sa_len=no)])
if test $ac_cv_sa_len = yes; then
AC_DEFINE(HAVE_SA_LEN)
fi
dnl --- Socket authentication
AC_CHECK_HEADERS(cred.h sys/cred.h ucred.h sys/ucred.h)
AC_CHECK_FUNCS(getpeerucred) dnl Solaris 10 onward
AC_CHECK_FUNCS(getpeereid) dnl OpenBSD/FreeBSD
dnl ---------------------------------------------------------------------
dnl Check for fcron more specific stuffs (paths, progs, ...)
dnl ---------------------------------------------------------------------
fcron_enable_checks=yes
AC_ARG_ENABLE(checks,
[ --disable-checks Don't verify that programs exist on the host ], dnl '
[ case "$enableval" in
no)
fcron_enable_checks=no
;;
yes)
fcron_enable_checks=yes
;;
*)
AC_MSG_WARN([Bad value for --disable-checks])
;;
esac
])
dnl ---------------------------------------------------------------------
dnl Programs ...
AC_PATH_PROG(FOUND_SENDMAIL, sendmail, , $PATH:/usr/lib:/usr/sbin )
SENDMAIL=
USE_SENDMAIL=1
AC_MSG_CHECKING([actual sendmail to use])
AC_ARG_WITH(sendmail, [ --with-sendmail=PATH Path to sendmail.],
[ case "$withval" in
no) USE_SENDMAIL=0 ;;
yes) ;;
*) SENDMAIL=$withval ;;
esac ],
)
if test "$USE_SENDMAIL" != "1" ; then
AC_MSG_RESULT([disabled])
AC_MSG_WARN([Without sendmail you will not get the output of the jobs by mail])
elif test -n "$SENDMAIL" ; then
dnl The user defined a sendmail program to use:
if test ! -x "$SENDMAIL" ; then
dnl ... but it is not an executable file!
AC_MSG_RESULT([$SENDMAIL])
AC_MSG_ERROR([File $SENDMAIL is not an executable file])
else
dnl ... and it is valid
AC_MSG_RESULT([$SENDMAIL])
fi
elif test -z "$FOUND_SENDMAIL" ; then
dnl The user didn't defined a program to use, and we didn't find one automatically
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Empty sendmail path or cannot determine path to sendmail: try option --with-sendmail=PATH])
else
dnl Use the automatically found sendmail program:
SENDMAIL="$FOUND_SENDMAIL"
AC_MSG_RESULT([$SENDMAIL])
fi
AC_SUBST([SENDMAIL])
if test "$USE_SENDMAIL" = "1"; then
AC_DEFINE([USE_SENDMAIL])
fi
AC_PATH_PROG(FOUND_FCRON_SHELL, sh, , $PATH)
FCRON_SHELL=
AC_MSG_CHECKING([default shell to use to run a job])
AC_ARG_WITH(shell,
[ --with-shell=PATH Path to default shell (by default, path to sh).],
[ case "$withval" in
no)
AC_MSG_ERROR(Need a default shell)
;;
yes)
;;
*)
FCRON_SHELL=$withval
if test $fcron_enable_checks = 'yes' -a ! -x "$withval"; then
AC_MSG_ERROR([
File $withval is not an executable file])
fi
;;
esac ]
)
if test x"$FCRON_SHELL" = x ; then
FCRON_SHELL=$FOUND_FCRON_SHELL
if test "$FOUND_FCRON_SHELL" = "" ; then
AC_MSG_ERROR([
Cannot determine path to sh: try option --with-shell=PATH])
fi
fi
AC_MSG_RESULT([$FCRON_SHELL])
AC_SUBST([FCRON_SHELL])
AC_PATH_PROG(FOUND_FCRON_EDITOR, vi)
FCRON_EDITOR=
AC_MSG_CHECKING([editor to use for fcrontab])
AC_ARG_WITH(editor,
[ --with-editor=PATH Path to default editor (by default, path to vi).],
[ case "$withval" in
no)
AC_MSG_ERROR([Need a default editor])
;;
yes)
;;
*)
FCRON_EDITOR=$withval
if test $fcron_enable_checks = 'yes' -a ! -x "$withval"; then
AC_MSG_ERROR([
File $withval is not an executable file])
fi
;;
esac ]
)
if test x"$FCRON_EDITOR" = x; then
FCRON_EDITOR=$FOUND_FCRON_EDITOR
if test x"$FCRON_EDITOR" = x ; then
AC_MSG_ERROR([
Cannot determine path to vi: try option --with-editor=PATH])
fi
fi
AC_MSG_RESULT([$FCRON_EDITOR])
AC_SUBST([FCRON_EDITOR])
dnl ---------------------------------------------------------------------
dnl Paths ...
PIDDIR="${localstatedir}/run"
AC_MSG_CHECKING(location of pid files)
AC_ARG_WITH(piddir,
[ --with-piddir=PATH Directory containing pid files.],
[ case "$withval" in
no)
AC_MSG_ERROR([Need PIDDIR.])
;;
yes)
;;
*)
PIDDIR=$withval
;;
esac ]
)
AC_MSG_RESULT([$PIDDIR])
PIDFILE="${PIDDIR}/fcron.pid"
REBOOT_LOCK="${PIDDIR}/fcron.reboot"
AC_SUBST(PIDDIR)
AC_SUBST(PIDFILE)
AC_SUBST(REBOOT_LOCK)
FIFODIR="${localstatedir}/run"
AC_MSG_CHECKING(location of fifo files)
AC_ARG_WITH(fifodir,
[ --with-fifodir=PATH Directory containing fifo files.],
[ case "$withval" in
no)
AC_MSG_ERROR(Need FIFODIR.)
;;
yes)
;;
*)
FIFODIR=$withval
;;
esac]
)
AC_MSG_RESULT([$FIFODIR])
FIFOFILE="${FIFODIR}/fcron.fifo"
AC_SUBST(FIFODIR)
AC_SUBST(FIFOFILE)
sp="${localstatedir}/spool/fcron"
AC_MSG_CHECKING(location of spool directory)
AC_ARG_WITH(spooldir,
[ --with-spooldir=PATH Directory containing fcron spool (default PREFIX/var/spool/fcron).],
[ case "$withval" in
no)
AC_MSG_ERROR(Need SPOOLDIR.)
;;
yes)
;;
*)
sp="$withval"
;;
esac ]
)
AC_MSG_RESULT($sp)
FCRONTABS="$sp"
AC_DEFINE_UNQUOTED(FCRONTABS, "$sp")
AC_SUBST(FCRONTABS)
if test \( $getloadavg -eq 0 \) -a \( $kstat -eq 0 \); then
proc=/proc
AC_MSG_CHECKING(proc directory)
AC_ARG_WITH(proc,
[ --with-proc=PATH Directory where linux procfs is mounted (default /proc).],
[ case "$withval" in
no)
AC_MSG_WARN([
Without proc, you won't be able to use the lavg* options
])
AC_DEFINE(NOLOADAVG)
;;
yes)
;;
*)
proc=$withval
;;
esac ]
)
if test "$withval" != "no" -a $fcron_enable_checks = 'yes'; then
if test -f "$proc/loadavg"; then :
else
AC_MSG_WARN([
Cannot determine value for proc directory: try option --with-proc=PATH])
AC_MSG_ERROR(Use --with-proc=no to disable the lavg* options)
fi
fi
AC_MSG_RESULT($proc)
PROC=$proc
AC_DEFINE_UNQUOTED(PROC, "$proc")
fi
docdir="${datadir}/doc"
AC_MSG_CHECKING(location of doc directory)
AC_ARG_WITH(docdir,
[ --with-docdir=PATH Directory containing documentation.],
[ case "$withval" in
no)
AC_MSG_ERROR(Need DOCDIR.)
;;
yes)
;;
*)
docdir="$withval"
;;
esac ])
AC_MSG_RESULT($docdir)
DOCDIR="$docdir"
AC_SUBST(DOCDIR)
dnl systemd init system
SYSTEMD_DIR="no"
AC_CHECK_PROGS(PKG_CONFIG, $PKG_CONFIG pkg-config, , $PATH:/local/bin:/usr/local/bin:/opt/sfw/bin)
AC_MSG_CHECKING(for systemd)
AC_ARG_WITH([systemdsystemunitdir],
[ --with-systemdsystemunitdir=DIR Directory for systemd service files.],
[], [ if test "x" != "x$PKG_CONFIG"; then
with_systemdsystemunitdir=`$PKG_CONFIG --variable=systemdsystemunitdir systemd`
fi])
if test "x$with_systemdsystemunitdir" != xno; then
if test "x" != "x$with_systemdsystemunitdir"; then
SYSTEMD_DIR="$with_systemdsystemunitdir"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
else
AC_MSG_RESULT(disabled)
fi
AC_SUBST(SYSTEMD_DIR)
dnl ---------------------------------------------------------------------
dnl Users and groups ...
AC_MSG_CHECKING(run non-privileged)
AC_ARG_WITH(run-non-privileged,
[ --with-run-non-privileged=[yes|no] Run fcron without root's rights (see FAQ !)],
[ case "$withval" in
no)
run_non_privileged=0
AC_MSG_RESULT(no)
;;
yes)
run_non_privileged=1
AC_MSG_RESULT(yes)
AC_MSG_WARN([
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
WARNING :
This option allows a non privileged user to run fcron. When used,
fcron does not change its rights before running a job (i.e.,
if joe runs fcron, every job will run as joe).
It means that YOU SHOULD NOT RUN FCRON AS A PRIVILEGED USER WHEN
COMPILED WITH THIS OPTION or you'll have a serious security hole.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
])
AC_DEFINE(RUN_NON_PRIVILEGED)
RUN_NON_PRIVILEGED=1
AC_SUBST(RUN_NON_PRIVILEGED)
bootinstall=0
fcrondyn=0
usepam=0
useselinux=0
useaudit=0
;;
*)
AC_MSG_ERROR(Invalid argument : please use 'yes' or 'no'.)
;;
esac],
run_non_privileged=0
AC_MSG_RESULT(no)
)
if test "$fcrondyn" = ""; then
fcrondyn=1
fi
AC_MSG_CHECKING(if fcrondyn should be compiled)
AC_ARG_WITH(fcrondyn,
[ --with-fcrondyn=[yes|no] Compile (or not) fcrondyn (default: yes).],
[ case "$withval" in
no)
fcrondyn=0
AC_MSG_RESULT(no)
;;
yes)
if test "$crypt" -eq 1; then
fcrondyn=1
AC_MSG_RESULT(yes)
else
AC_MSG_ERROR(Need a crypt() function.)
fi
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ],
if test "$fcrondyn" = "1" && test "$crypt" -eq 1; then
AC_MSG_RESULT(yes)
else
fcrondyn=0
AC_MSG_RESULT(no)
fi
)
FCRONDYN="$fcrondyn"
if test "$fcrondyn" = 1; then
AC_DEFINE_UNQUOTED(FCRONDYN, "$fcrondyn")
AC_SUBST(FCRONDYN)
fi
AC_MSG_CHECKING([root's username])
rootname=root
AC_ARG_WITH(rootname,
[ --with-rootname=USERNAME Root's username (default root) ],
[ case "$withval" in
no)
AC_MSG_ERROR([Need rootname.])
;;
yes)
;;
*)
rootname=$withval
;;
esac
])
if test $fcron_enable_checks = 'yes'; then
rootuid=`$srcdir/script/has_usrgrp.pl -user $rootname -printuid`
if test "x$rootuid" = "x"; then
AC_MSG_ERROR([
Invalid root's username or cannot determine root's username: try option --with-rootname=USERNAME])
fi
fi
AC_MSG_RESULT([$rootname])
AC_MSG_CHECKING([root's groupname])
AC_ARG_WITH(rootgroup,
[ --with-rootgroup=GROUPNAME Root's groupname (default root (or wheel)) ],
[ case "$withval" in
no)
AC_MSG_ERROR(Need rootgroup.)
;;
yes)
;;
*)
rootgroup=$withval
;;
esac ]
)
if test $fcron_enable_checks = 'yes'; then
if test x"$rootgroup" = x; then
# rootgroup not defined: test a few possibilities
rgid=`$srcdir/script/has_usrgrp.pl -group root -printgid`
wgid=`$srcdir/script/has_usrgrp.pl -group wheel -printgid`
if test "x$rgid" != "x"; then
rootgid=$rgid
rootgroup=root
elif test "x$wgid" != "x"; then
rootgid=$wgid
rootgroup=wheel
else
AC_MSG_ERROR([
Cannot determine root's groupname: try option --with-rootgroup=GROUPNAME])
fi
else
# rootgroup defined: check it
rootgid=`$srcdir/script/has_usrgrp.pl -group $rootgroup -printgid`
if test "x$rootgid" = "x"; then
AC_MSG_ERROR([
Cannot determine root's groupname: try option --with-rootgroup=GROUPNAME])
fi
fi
else
# no check: use values given by user or default values
if test x"$rootgroup" = x ; then
rootgroup=root
fi
fi
AC_MSG_RESULT([$rootgroup])
ROOTNAME="$rootname"
AC_SUBST(ROOTNAME)
AC_DEFINE_UNQUOTED(ROOTNAME, "$rootname")
ROOTGROUP="$rootgroup"
AC_SUBST(ROOTGROUP)
AC_DEFINE_UNQUOTED(ROOTGROUP, "$rootgroup")
username="$rootname"
groupname="$rootgroup"
AC_MSG_CHECKING(username to run fcrontab under)
AC_ARG_WITH(username,
[ --with-username=USERNAME Username to run fcrontab under (default fcron) ],
[ case "$withval" in
no)
AC_MSG_ERROR(Need USERNAME.)
;;
yes)
if test "$has_euid" -eq 1 ; then
username=fcron
fi
AC_MSG_RESULT($username)
;;
*)
if test "$has_euid" -eq 1 ; then
username="$withval";
AC_MSG_RESULT($username)
if test "$withval" = "$rootname" && test "$RUN_NON_PRIVILEGED" != "1"; then
AC_MSG_ERROR([
Running fcrontab setuid root is NOT secure and would completely break
the security model of fcron. You must use a different user name.
])
has_euid=0
fi
else
AC_MSG_RESULT($username)
AC_MSG_WARN(username must be $rootname as your system has no seteuid)
fi
;;
esac ],
if test "$has_euid" -eq 1 ; then
username=fcron
fi
AC_MSG_RESULT($username)
)
AC_MSG_CHECKING(groupname to run fcrontab under)
AC_ARG_WITH(groupname,
[ --with-groupname=GROUPNAME Groupname to run fcrontab under (default fcron) ],
[ case "$withval" in
no)
AC_MSG_ERROR(Need GROUPNAME.)
;;
yes)
if test "$has_euid" -eq 1 ; then
groupname=fcron
fi
AC_MSG_RESULT($groupname)
;;
*)
if test "$has_euid" -eq 1 ; then
groupname="$withval";
AC_MSG_RESULT($groupname)
else
AC_MSG_RESULT($groupname)
AC_MSG_WARN(groupname must be $rootgroup as username is $username)
fi
;;
esac ],
if test "$has_euid" -eq 1 ; then
groupname=fcron
fi
AC_MSG_RESULT($groupname)
)
USERNAME="$username"
AC_SUBST(USERNAME)
AC_DEFINE_UNQUOTED(USERNAME, "$username")
GROUPNAME="$groupname"
AC_SUBST(GROUPNAME)
AC_DEFINE_UNQUOTED(GROUPNAME, "$groupname")
if test "$has_euid" -eq 1 ; then
AC_DEFINE(USE_SETE_ID)
fi
sysfcrontab="systab"
use_sysfcrontab=1
AC_MSG_CHECKING(use a system fcrontab)
AC_ARG_WITH(sysfcrontab,
[ --with-sysfcrontab=NAME Use (or not) a system fcrontab (default: yes)],
[ case "$withval" in
no)
use_sysfcrontab=0
AC_MSG_RESULT(no)
;;
yes)
AC_MSG_RESULT(yes)
;;
*)
sysfcrontab="$withval"
AC_MSG_RESULT($sysfcrontab)
esac ],
AC_MSG_RESULT(yes)
)
if test "$use_sysfcrontab" -eq 1 ; then
AC_DEFINE_UNQUOTED(SYSFCRONTAB, "$sysfcrontab")
SYSFCRONTAB="$sysfcrontab"
AC_SUBST(SYSFCRONTAB)
fi
dnl ---------------------------------------------------------------------
dnl Misc ...
AC_ARG_WITH(debug,
[ --with-debug=CFLAGS Use default debug flags or CFLAGS if given to compile fcron in debug mode.],
[ case "$withval" in
no)
cflags="-O2 -Wall"
debug="0"
;;
yes)
cflags="-DDEBUG -g -Wall -DFOREGROUND -DMALLOC_CHECK_=2 -Wpointer-arith -Wstrict-prototypes"
bootinstall=0
debug="1"
;;
*)
cflags="$withval"
debug="1"
;;
esac ],
cflags="-O2 -Wall"
debug="0"
)
DEBUG=$debug
AC_SUBST(DEBUG)
if test "$bootinstall" = ""; then
bootinstall=1
fi
AC_MSG_CHECKING(install interactively a boot script)
AC_ARG_WITH(boot-install,
[ --with-boot-install=[yes|no] Install (interactively) a boot script (default: yes).],
[ case "$withval" in
no)
bootinstall=0
AC_MSG_RESULT(no)
;;
yes)
bootinstall=1
AC_MSG_RESULT(yes)
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ],
if test "$bootinstall" = "1"; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
)
BOOTINSTALL="$bootinstall"
AC_DEFINE_UNQUOTED(BOOTINSTALL, "$bootinstall")
AC_SUBST(BOOTINSTALL)
AC_ARG_WITH(cflags,
[ --with-cflags=CFLAGS Use CFLAGS flags to compile fcron.],
[ case "$withval" in
no)
AC_MSG_ERROR(Need an explicit value for --with-cflags.)
;;
yes)
AC_MSG_ERROR(Need an explicit value for --with-cflags.)
;;
*)
cflags="$withval"
;;
esac ],
)
CFLAGS=$cflags
AC_DEFINE_UNQUOTED(CFLAGS, "$cflags")
AC_MSG_CHECKING(automatic answer to make install's questions)
AC_ARG_WITH(answer-all,
[ --with-answer-all=[yes|no] Answer the argument to every make install's questions.],
[ case "$withval" in
no)
answerall=0
AC_MSG_RESULT(yes (answer "no"))
;;
yes)
answerall=1
AC_MSG_RESULT(yes (answer "yes"))
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ],
answerall=2
AC_MSG_RESULT(no)
)
ANSWERALL="$answerall"
AC_DEFINE_UNQUOTED(ANSWERALL, "$answerall")
AC_SUBST(ANSWERALL)
AC_MSG_CHECKING(if audit trails should be enabled if available)
AC_ARG_WITH(audit,
[ --with-audit=[yes|no] Enable (or not) audit trails if available (default: yes).],
[ case "$withval" in
no)
useaudit=0
;;
yes)
useaudit=1
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ]
)
if test useaudit = "0"; then
AC_MSG_RESULT(no)
elif test "$useaudit" = "1" && test "$auditavail" != 1; then
useaudit=0
AC_MSG_RESULT(not available)
AC_MSG_ERROR([
You requested audit trails to be enabled, but libaudit was not found.
])
elif test "$auditavail" = 1; then
useaudit=1
AC_MSG_RESULT(yes)
LIBS="$LIBS -laudit"
AC_DEFINE(WITH_AUDIT)
else
useaudit=0
AC_MSG_RESULT(no)
fi
if test "$usepam" = ""; then
usepam=1
fi
AC_MSG_CHECKING(if pam should be used if available)
AC_ARG_WITH(pam,
[ --with-pam=[yes|no] Use (or not) PAM if available (default: yes).],
[ case "$withval" in
no)
usepam=0
AC_MSG_RESULT(no)
;;
yes)
AC_MSG_RESULT(yes)
AC_CHECK_LIB(pam, pam_acct_mgmt)
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ],
if test "$usepam" = "1"; then
AC_MSG_RESULT(yes)
AC_CHECK_LIB(pam, pam_acct_mgmt)
else
usepam=0
AC_MSG_RESULT(no)
fi
)
if test "$usepam" != "0" && echo "$LIBS" | grep -- "-lpam" > /dev/null ; then
usepam=1
else
usepam=0
fi
USEPAM="$usepam"
AC_SUBST(USEPAM)
if test "$useselinux" = ""; then
useselinux=1
fi
AC_MSG_CHECKING(if SELinux should be used)
AC_ARG_WITH(selinux,
[ --with-selinux=[yes|no] Use (or not) SELinux (default: yes).],
[ case "$withval" in
no)
useselinux=0
AC_MSG_RESULT(no)
;;
yes)
if test "$selinuxavail" -eq 1; then
useselinux=1
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(not available)
AC_MSG_ERROR([
You requested the use of SELinux, but SELinux is considered
as not available by configure script.
])
fi
;;
*)
AC_MSG_ERROR(Must be set to either "yes" or "no".)
;;
esac ],
if test "$useselinux" != "0" && test "$selinuxavail" -eq 1; then
useselinux=1
AC_MSG_RESULT(yes)
else
useselinux=0
AC_MSG_RESULT(not available)
fi
)
if test "$useselinux" -eq 1; then
LIBS="$LIBS -lselinux"
AC_DEFINE(WITH_SELINUX)
CFLAGS="$CFLAGS -I/usr/include/selinux"
fi
dnl ---------------------------------------------------------------------
dnl DocBook
AC_PATH_PROG(JADE,openjade)
if test -z "$JADE"; then
AC_PATH_PROG(JADE,jade)
fi
AC_PATH_PROG(DB2MAN,docbook2man)
if test -z "$DB2MAN"; then
AC_PATH_PROG(DB2MAN,db2man)
fi
AC_MSG_CHECKING(Looking for docbook2man converter)
AC_ARG_WITH(db2man,
[ --with-db2man=PATH(or 'no') set PATH to a docbook2man converter.],
[ case "$withval" in
no)
DB2MAN=""
AC_MSG_RESULT(none)
;;
yes)
AC_MSG_ERROR(Must be set to PATH or "no".)
;;
*)
if test ! -x "$withval"; then
AC_MSG_ERROR($withval is not an exe file.)
fi
DB2MAN="$withval"
AC_MSG_RESULT($withval)
;;
esac ],
AC_MSG_RESULT(default: $DB2MAN)
)
AC_SUBST(DB2MAN)
AC_PATH_PROG(NSGMLS, nsgmls)
AC_PATH_PROG(SGMLSPL, sgmlspl)
DB2MAN_SPEC="/usr/share/sgml/docbook/utils-0.6.9/helpers/docbook2man-spec.pl"
AC_MSG_CHECKING(Looking for docbook2man-spec file)
AC_ARG_WITH(db2man-spec,
[ --with-db2man-spec=PATH set the PATH to docbook2man-spec file
(needed if no db2man converter is set).],
[ case "$withval" in
no)
DB2MAN_SPEC=""
AC_MSG_RESULT(none)
;;
yes)
AC_MSG_ERROR(Must be set to PATH or "no".)
;;
*)
if test ! -f "$withval"; then
AC_MSG_ERROR($withval is not a file.)
fi
DB2MAN_SPEC="$withval"
AC_MSG_RESULT($withval)
;;
esac ],
AC_MSG_RESULT(default)
)
AC_SUBST(DB2MAN_SPEC)
if test -x "$DB2MAN"; then
DB2MAN_BEFORE="$DB2MAN"
DB2MAN_AFTER=""
else
if test \( \( -f "$DB2MAN_SPEC" \) -a \( -x "$NSGMLS" \) \
-a \( -x "$SGMLSPL" \) \); then
DB2MAN_BEFORE="$NSGMLS"
DB2MAN_AFTER="2> /dev/null | $SGMLSPL $DB2MAN_SPEC"
else
DB2MAN_BEFORE=""
DB2MAN_AFTER=""
fi
fi
AC_SUBST(DB2MAN_BEFORE)
AC_SUBST(DB2MAN_AFTER)
DSSSL_DIR="/usr/share/sgml/docbook/stylesheet/dsssl/modular"
AC_MSG_CHECKING(Looking for dsssl stylsheets)
AC_ARG_WITH(dsssl-dir,
[ --with-dsssl-dir=DIR change the default location of DSSSL stylesheets.],
[ case "$withval" in
no)
DSSSL_DIR=""
AC_MSG_RESULT(none)
;;
yes)
AC_MSG_ERROR(Must be set to DIR or "no".)
;;
*)
if test ! -f "$withval/html/docbook.dsl"; then
AC_MSG_ERROR($withval/html/docbook.dsl does not exist.)
fi
DSSSL_DIR="$withval"
AC_MSG_RESULT($withval)
;;
esac ],
AC_MSG_RESULT(default)
if test ! -f "$DSSSL_DIR/html/docbook.dsl"; then
AC_MSG_WARN([
$DSSSL_DIR/html/docbook.dsl does not exist. You will probably not be able to generate the documentation from the DocBook source files.])
AC_MSG_WARN([Use --with-dsssl-dir to specify a directory.
])
fi
)
AC_SUBST(DSSSL_DIR)
dnl ---------------------------------------------------------------------
dnl Final settings
dnl ---------------------------------------------------------------------
AC_OUTPUT(Makefile doc/Makefile doc/stylesheets/fcron-doc.dsl)
dnl ---------------------------------------------------------------------
dnl Info for user
dnl ---------------------------------------------------------------------
echo
echo "Summary :"
echo "-------"
echo
echo -n "run in debug mode by default : "
if test "$debug" -eq "1"; then
echo "yes"
else
echo "no"
fi
echo -n "Audit trails : "
if test "$useaudit" -eq 1; then
echo "yes"
else
echo "no"
fi
echo -n "PAM : "
if test "$usepam" -eq 1; then
echo "yes"
else
echo "no"
fi
echo -n "SELinux : "
if test "$useselinux" -eq 1; then
echo "yes"
else
echo "no"
fi
echo -n "Readline : "
if test "$ax_cv_lib_readline" = "no"; then
echo "no"
else
echo "yes"
fi
echo -n "Run without root's rights : "
if test "$run_non_privileged" -eq 1; then
echo "yes"
else
echo "no"
fi
echo -n "Load average support : "
if test "$getloadavg" -eq 1 -o -n "$proc"; then
echo "yes"
else
echo "no"
fi
echo -n "compile fcrondyn : "
if test "$fcrondyn" -eq 1; then
echo "yes"
else
echo "no"
fi
echo "fcron's user (resp. group) name : $username (resp. $groupname)"
echo -n "sysfcrontab : "
if test "$use_sysfcrontab" -eq 1; then
echo "yes ($sysfcrontab)"
else
echo "no"
fi
echo "prefix: $prefix"
echo "exec_prefix: $exec_prefix"
echo "datarootdir: $datarootdir"
echo "bin dir: $bindir"
echo "sbin dir: $sbindir"
echo "spool dir: $sp"
echo "etc dir: $sysconfdir"
echo "doc dir: $docdir"
echo "man dir: $mandir "
echo
echo "You can now run '$MAKE' to compile"
echo "and then (as root) '$MAKE install' to install fcron."
echo