summaryrefslogtreecommitdiffstats
path: root/contrib/openbsm/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/openbsm/configure.ac')
-rw-r--r--contrib/openbsm/configure.ac109
1 files changed, 109 insertions, 0 deletions
diff --git a/contrib/openbsm/configure.ac b/contrib/openbsm/configure.ac
new file mode 100644
index 0000000..f27ddf1
--- /dev/null
+++ b/contrib/openbsm/configure.ac
@@ -0,0 +1,109 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([OpenBSM], [1.0a5], [trustedbsd-audit@TrustesdBSD.org],[openbsm])
+AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#16 $])
+AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c])
+AC_CONFIG_AUX_DIR(config)
+AC_CONFIG_HEADER([config/config.h])
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+
+AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
+
+# Checks for libraries.
+# FIXME: Replace `main' with a function in `-lbsm':
+AC_CHECK_LIB([bsm], [main])
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS([endian.h mach/mach.h machine/endian.h sys/endian.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_UID_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_CHECK_MEMBERS([struct stat.st_rdev])
+
+AC_CHECK_MEMBER([struct ipc_perm.__key],
+[AC_DEFINE(HAVE_IPC_PERM___KEY,, Define if ipc_perm.__key instead of key)],
+[],[
+#include <sys/types.h>
+#include <sys/ipc.h>
+])
+
+AC_CHECK_MEMBER([struct ipc_perm.__seq],
+[AC_DEFINE(HAVE_IPC_PERM___SEQ,, Define if ipc_perm.__seq instead of seq)],
+[],[
+#include <sys/types.h>
+#include <sys/ipc.h>
+])
+
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+# Checks for library functions.
+AC_FUNC_CHOWN
+AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_MKTIME
+AC_TYPE_SIGNAL
+AC_FUNC_STAT
+AC_FUNC_STRFTIME
+AC_CHECK_FUNCS([bzero ftruncate gettimeofday inet_ntoa memset strchr strerror strrchr strstr strtol strtoul])
+
+# sys/queue.h exists on most systems, but its capabilities vary a great deal.
+# test for LIST_FIRST, which appears to not exist in all of them, and is
+# necessary for OpenBSM.
+AC_TRY_LINK([
+ #include <sys/queue.h>
+], [
+ struct foo {
+ LIST_ENTRY(foo) foo_entries;
+ };
+ LIST_HEAD(, foo) foo_list;
+ struct foo *foo;
+
+ foo = LIST_FIRST(&foo_list);
+], [
+AC_DEFINE(HAVE_FULL_QUEUE_H,, Define if queue.h includes LIST_FIRST)
+])
+
+# Systems may not define key audit system calls, in which case libbsm cannot
+# depend on them or it will generate link-time or run-time errors. Test for
+# just one.
+AC_TRY_LINK([
+ #include <stdlib.h>
+
+ extern int auditon(int, void *, int);
+], [
+ int err;
+
+ err = auditon(0, NULL, 0);
+], [
+AC_DEFINE(HAVE_AUDIT_SYSCALLS,, Define if audit system calls present)
+have_audit_syscalls=true
+], [
+have_audit_syscalls=false
+])
+AM_CONDITIONAL(HAVE_AUDIT_SYSCALLS, $have_audit_syscalls)
+
+AC_CONFIG_FILES([Makefile
+ bin/Makefile
+ bin/audit/Makefile
+ bin/auditd/Makefile
+ bin/auditreduce/Makefile
+ bin/praudit/Makefile
+ bsm/Makefile
+ libbsm/Makefile
+ man/Makefile
+ tools/Makefile])
+
+AC_OUTPUT
OpenPOWER on IntegriCloud