3c2cbc55d6733ddaa34738be05f0391428c15e1a
[userinfo.git] / configure.ac
blob3c2cbc55d6733ddaa34738be05f0391428c15e1a
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.60)
3 AC_INIT(userinfo, 2.3, [Ben Kibbey bjk@luxsci.net])
4 AC_CONFIG_MACRO_DIR([m4])
5 AC_CONFIG_AUX_DIR(build)
6 AC_CANONICAL_TARGET
7 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip])
8 AC_LIBTOOL_DLOPEN
9 AC_DISABLE_STATIC
10 AC_PROG_LIBTOOL
11 AM_CONFIG_HEADER([config.h])
12 AC_CONFIG_SRCDIR([src/ui.c])
14 LIBTOOL="$LIBTOOL --silent"
16 dnl Checks for programs.
17 AC_PROG_CC
18 AC_PROG_CPP
19 AC_PROG_INSTALL
20 AC_PROG_AWK
21 AC_PROG_LN_S
22 AC_PROG_MAKE_SET
24 dnl Checks for header files.
25 AC_HEADER_DIRENT
26 AC_HEADER_STDC
27 AC_CHECK_HEADERS([fcntl.h limits.h paths.h stdlib.h string.h sys/param.h \
28                   unistd.h libgen.h err.h shadow.h lastlog.h err.h \
29                   sys/mman.h getopt.h utmp.h utmpx.h])
31 dnl Checks for typedefs, structures, and compiler characteristics.
32 AC_C_CONST
33 AC_TYPE_UID_T
34 AC_TYPE_SIZE_T
35 AC_TYPE_PID_T
36 AC_STRUCT_TM
38 dnl Checks for library functions.
39 AC_FUNC_GETGROUPS
40 AC_FUNC_LSTAT
41 AC_FUNC_MALLOC
42 AC_FUNC_STAT
43 AC_FUNC_STRFTIME
44 AC_FUNC_MMAP
45 AC_CHECK_FUNCS([memset getspnam munmap setpassent setgroupent strchr strdup \
46                 strerror strsep])
47 AC_CHECK_FUNC([__progname])
49 dnl /proc filesystem support
50 AC_MSG_CHECKING(for /proc filesystem)
52 if test -e /proc/self -o -e /proc/curproc; then
53     AC_MSG_RESULT(yes)
54     HAVE_PROCFS=1
55     AC_DEFINE(HAVE_PROCFS, 1, [Define if you have a /proc file system.])
56 else
57     AC_MSG_RESULT(no)
60 AM_CONDITIONAL(SOLARIS, false)
61 AM_CONDITIONAL(KVM, false)
63 case "$target_os" in
64     *bsd*) 
65         AC_CHECK_HEADERS(kvm.h, AC_DEFINE([BSD_KVM], 1, [Define for BSD KVM.]))
66         AC_CHECK_LIB(kvm, kvm_openfiles, AM_CONDITIONAL(KVM, true))
67         ;;
68     *linux*) 
69         if test ! $HAVE_PROCFS; then
70             AC_MSG_WARN(no /proc filesystem found. PPID info will be unavailable)
71         fi
72         ;;
73     *solaris*)
74         AM_CONDITIONAL(SOLARIS, true)
75         ;;
76     *)
77         ;;
78 esac
80 AC_SUBST(DLOPEN_LIBS, $lt_cv_dlopen_libs)
82 dnl default alias file
83 alias_file="/etc/aliases"
85 AC_ARG_WITH(aliases,
86 [  --with-aliases=FILE     location of mail aliases file (/etc/aliases)],
87 alias_file="$withval")
89 AC_MSG_CHECKING(for mail aliases file)
90 if test -f $alias_file; then
91     AC_MSG_RESULT($alias_file)
92 else
93     AC_MSG_RESULT([$alias_file not found (using it anyway)])
96 AC_DEFUN([AC_DEBUG],
98     if test "$1"; then
99         ac_cv_sys_debug=$1
100     fi
102     AC_CACHE_CHECK([if debugging is wanted], [ac_cv_sys_debug],
103         [ac_cv_sys_debug=no])
105     if test "$ac_cv_sys_debug" = "yes"; then
106         CPPFLAGS="$CPPFLAGS -DDEBUG"
107     fi
110 AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [Enable debugging.]),
111     AC_DEBUG([$enableval]), AC_DEBUG)
113 AC_DEFINE_UNQUOTED([ALIAS_FILE], "$alias_file", [Location of your mail alias file.])
114 AC_DEFINE([DEFAULT_DELIMINATING_CHAR], ':', [Default field deliminator.])
115 AC_DEFINE_UNQUOTED([DEFAULT_MULTI_CHAR], [','], [Default multi-string value deliminator.])
116 AC_DEFINE([DEFAULT_TIMEFORMAT], "%s", [Default strftime() time format.])
118 AM_WITH_DMALLOC
120 AC_CONFIG_FILES([Makefile src/Makefile src/modules/Makefile doc/Makefile contrib/Makefile])
121 AC_OUTPUT