dnl parameters must be done like $[]1 instead of $1
AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
+AH_VERBATIM([RCSID],
+[#define RCSID(msg) \
+static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
+#undef HAVE_CONNECT
+#undef HAVE_GETHOSTBYNAME
+#undef HAVE_RES_SEARCH
+#undef HAVE_SOCKET
+#undef STRUCT_SOCKADDR_HAS_SA_LEN
+#if !defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+# if ENDIANESS_IN_SYS_PARAM_H
+# ifndef KERNEL
+# include <sys/types.h>
+# include <sys/param.h>
+# if BYTE_ORDER == BIG_ENDIAN
+# define WORDS_BIGENDIAN 1
+# endif
+# else
+# if defined(AUTOCONF_FOUND_BIGENDIAN)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+# endif
+# else
+# if defined(AUTOCONF_FOUND_BIGENDIAN)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+# endif
+#else
+# if defined(__BIG_ENDIAN__)
+# define WORDS_BIGENDIAN 1
+# else
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+#ifdef UKERNEL
+/*
+ * Always use 64-bit file offsets for UKERNEL code. Needed for UKERNEL stuff to
+ * play nice with some other interfaces like FUSE. We technically only would
+ * need to define this when building for such interfaces, but set it always to
+ * try and reduce potential confusion.
+ */
+#define _FILE_OFFSET_BITS 64
+#endif
+
+#undef AFS_AFSDB_ENV
+#undef AFS_LARGEFILE_ENV
+#undef AFS_NAMEI_ENV
+#undef BITMAP_LATER
+#undef BOS_RESTRICTED_MODE
+#undef BOS_NEW_CONFIG
+#undef FAST_RESTART
+#undef FULL_LISTVOL_SWITCH
+#undef COMPLETION_H_EXISTS
+#undef DEFINED_FOR_EACH_PROCESS
+#undef DEFINED_PREV_TASK
+#undef EXPORTED_KALLSYMS_ADDRESS
+#undef EXPORTED_KALLSYMS_SYMBOL
+#undef EXPORTED_SYS_CALL_TABLE
+#undef EXPORTED_IA32_SYS_CALL_TABLE
+#undef EXPORTED_TASKLIST_LOCK
+#undef INODE_SETATTR_NOT_VOID
+#undef IRIX_HAS_MEM_FUNCS
+#undef RECALC_SIGPENDING_TAKES_VOID
+#undef STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
+#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
+#undef STRUCT_FS_HAS_FS_ROLLED
+#undef STRUCT_INODE_HAS_I_DEVICES
+#undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
+#undef STRUCT_INODE_HAS_I_ALLOC_SEM
+#undef STRUCT_INODE_HAS_I_TRUNCATE_SEM
+#undef STRUCT_TASK_STRUCT_HAS_PARENT
+#undef STRUCT_TASK_STRUCT_HAS_REAL_PARENT
+#undef STRUCT_TASK_STRUCT_HAS_SIG
+#undef STRUCT_TASK_STRUCT_HAS_SIGHAND
+#undef STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
+#undef ssize_t
+#undef HAVE_STRUCT_BUF
+#undef HAVE_ARPA_NAMESER_COMPAT_H
+/* glue for RedHat kernel bug */
+#undef ENABLE_REDHAT_BUILDSYS
+#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
+#include "redhat-fix.h"
+#endif])
AC_CANONICAL_HOST
SRCDIR_PARENT=`pwd`
[AS_HELP_STRING([--with-linux-kernel-headers=path],
[use the kernel headers found at path (optional, defaults to
/usr/src/linux-2.4, then /usr/src/linux)])])
+AC_ARG_WITH([linux-kernel-build],
+ [AS_HELP_STRING([--with-linux-kernel-build=path],
+ [use the kernel build found at path(optional, defaults to
+ /usr/src/linux-2.4, then /usr/src/linux)])])
AC_ARG_WITH([bsd-kernel-headers],
[AS_HELP_STRING([--with-bsd-kernel-headers=path],
[use the kernel headers found at path (optional, defaults to
,
[enable_optimize_pam="yes"])
+AC_ARG_WITH([xslt-processor],
+ AS_HELP_STRING([--with-xslt-processor=ARG],
+ [which XSLT processor to use (possible choices are: libxslt, saxon, xalan-j, xsltproc)]),
+ XSLTPROC="$withval",
+ XSLTPROC="libxslt")
+
+AC_ARG_WITH([html-xsl],
+ AS_HELP_STRING([--with-html-xsl],
+ [build HTML documentation using Norman Walsh's DocBook XSL stylesheets (default is no; specify a path to chunk.xsl or docbook.xsl)]),
+ HTML_XSL="$withval",
+ HTML_XSL=no)
enable_login="no"
dnl weird ass systems
-AC_AIX
+dnl AC_AIX
AC_ISC_POSIX
-AC_MINIX
+dnl AC_MINIX
dnl Various compiler setup.
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
+AC_TYPE_SOCKLEN_T
+AC_CHECK_TYPES(sig_t, , ,
+ [#include <sys/types.h>
+ #include <signal.h> ])
+AH_BOTTOM(
+[#ifndef HAVE_SIG_T
+#ifndef SIG_T_DEFINED
+#define SIG_T_DEFINED
+typedef RETSIGTYPE (*sig_t) ();
+#endif
+#endif])
COMPILER_HAS_FUNCTION_MACRO
dnl Checks for programs.
LINUX_KERNEL_PATH="/usr/src/linux"
fi
fi
- if test -f "$LINUX_KERNEL_PATH/include/linux/utsrelease.h"; then
- linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ if test "x$with_linux_kernel_build" != "x"; then
+ LINUX_KERNEL_BUILD="$with_linux_kernel_build"
+ else
+ LINUX_KERNEL_BUILD=$LINUX_KERNEL_PATH
+ fi
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/utsrelease.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
LINUX_VERSION="$linux_kvers"
else
- if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
- linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
if test "x$linux_kvers" = "x"; then
- if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
- linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ if test -f "$LINUX_KERNEL_BUILD/include/linux/version-up.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
if test "x$linux_kvers" = "x"; then
AC_MSG_ERROR(Linux headers lack version definition [2])
enable_kernel_module="no"
fi
fi
- if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
+ if test ! -f "$LINUX_KERNEL_BUILD/include/linux/autoconf.h"; then
enable_kernel_module="no"
fi
if test "x$enable_kernel_module" = "xno"; then
MKAFS_OSTYPE=DARWIN
AC_MSG_RESULT(x86_darwin)
;;
- *-freebsd*)
+ i386-*-freebsd*)
MKAFS_OSTYPE=FBSD
AC_MSG_RESULT(i386_fbsd)
;;
+ x86_64-*-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ AC_MSG_RESULT(amd64_fbsd)
+ ;;
*-netbsd*)
MKAFS_OSTYPE=NBSD
AC_MSG_RESULT(nbsd)
MKAFS_OSTYPE=OBSD
AC_MSG_RESULT(i386_obsd)
;;
+ *-dragonfly*)
+ MKAFS_OSTYPE=DFBSD
+ AC_MSG_RESULT(i386_dfbsd)
+ ;;
*)
AC_MSG_RESULT($system)
;;
vm=${v#*.}
AFS_SYSNAME="i386_fbsd_${vM}${vm}"
;;
+ x86_64-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="amd64_fbsd_${vM}${vm}"
+ ;;
+ i386-*-dragonfly2.2*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
+ i386-*-dragonfly2.3*)
+ AFS_SYSNAME="i386_dfbsd_23"
+ ;;
i?86-*-netbsd*1.5*)
AFS_PARAM_COMMON=param.nbsd15.h
AFS_SYSNAME="i386_nbsd15"
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="amd64_nbsd20"
;;
- x86_64-*-netbsd*3.[0-8]*)
+ x86_64-*-netbsd*3.[[0-8]]*)
AFS_PARAM_COMMON=param.nbsd30.h
AFS_SYSNAME="amd64_nbsd30"
;;
- x86_64-*-netbsd*4.[0-8]*)
+ x86_64-*-netbsd*4.[[0-8]]*)
AFS_PARAM_COMMON=param.nbsd40.h
AFS_SYSNAME="amd64_nbsd40"
;;
LINUX_EXPORTS_FIND_TASK_BY_PID
LINUX_EXPORTS_PROC_ROOT_FS
LINUX_HAVE_CURRENT_KERNEL_TIME
+ LINUX_HAVE_WRITE_BEGIN_AOP
+ LINUX_HAVE_BDI_INIT
LINUX_KMEM_CACHE_INIT
+ LINUX_HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN
+ LINUX_STRUCT_TASK_HAS_CRED
+ LINUX_STRUCT_PROC_DIR_ENTRY_HAS_OWNER
LINUX_HAVE_KMEM_CACHE_T
LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
LINUX_D_PATH_TAKES_STRUCT_PATH
LINUX_KERNEL_LINUX_SYSCALL_H
LINUX_KERNEL_LINUX_SEQ_FILE_H
LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
+ LINUX_POSIX_TEST_LOCK_RETURNS_CONFLICT
+ LINUX_POSIX_TEST_LOCK_CONFLICT_ARG
LINUX_KERNEL_SELINUX
LINUX_KERNEL_SOCK_CREATE
LINUX_KERNEL_PAGE_FOLLOW_LINK
LINUX_REFRIGERATOR
LINUX_LINUX_KEYRING_SUPPORT
LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
+ LINUX_KEY_ALLOC_NEEDS_CRED
LINUX_DO_SYNC_READ
LINUX_GENERIC_FILE_AIO_READ
LINUX_INIT_WORK_HAS_DATA
LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
LINUX_SYSCTL_TABLE_CHECKING
LINUX_HAVE_IGET
+ if test "x$ac_cv_linux_have_iget" = "xno"; then
+ AC_DEFINE([LINUX_USE_FH], 1, [define to use linux file handles for cache files])
+ fi
+ LINUX_HAVE_I_SIZE_READ
+ LINUX_HAVE_D_ALLOC_ANON
+ if test "x$ac_cv_linux_d_alloc_anon" = "xno"; then
+ AC_DEFINE([AFS_NONFSTRANS], 1, [define to disable the nfs translator])
+ fi
LINUX_FS_STRUCT_NAMEIDATA_HAS_PATH
LINUX_EXPORTS_INIT_MM
LINUX_EXPORTS_SYS_CHDIR
AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
fi
if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
- AC_DEFINE(EXPORTED_SYS_CALL_TABLE)
+ AC_DEFINE(EXPORTED_SYS_CALL_TABLE, 1, [define if your linux kernel exports sys_call_table])
fi
if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
- AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
+ AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE, 1, [define if your linux kernel exports ia32_sys_call_table])
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
- AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
+ AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL, 1, [define if your linux kernel exports kallsyms])
fi
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
- AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS)
+ AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS, 1, [define if your linux kernel exports kallsyms address])
fi
if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
#include <resolv.h>
], [static int i; i = 0;],
[AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
+ AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H, 1, [define if arpa/nameser_compat.h exists])],
[AC_MSG_RESULT(no)
])
if test "x$MKAFS_OSTYPE" = OBSD; then
PTHREAD_LIBS="-pthread"
fi
+if test "x$MKAFS_OSTYPE" = xDFBSD; then
+ PTHREAD_LIBS="-pthread"
+fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(pthread, pthread_attr_init,
PTHREAD_LIBS="-lpthread")
XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
- if test -r "$XBSADIR1/xbsa.h"; then
- XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
- XBSA_XLIBS=""
- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
- elif test -r "$XBSADIR2/xbsa.h"; then
- XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
- XBSA_XLIBS=""
- AC_MSG_RESULT([yes, $XBSA_CFLAGS])
- elif test -r "$XBSADIR3/dsmapifp.h"; then
+ if test -r "$XBSADIR3/dsmapifp.h"; then
XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
XBSA_XLIBS="-ldl"
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
XBSA_XLIBS="-ldl"
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+ elif test -r "$XBSADIR1/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+ XBSA_XLIBS=""
+ AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+ elif test -r "$XBSADIR2/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
+ XBSA_XLIBS=""
+ AC_MSG_RESULT([yes, $XBSA_CFLAGS])
else
AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
fi
AC_CHECK_HEADERS(stdlib.h string.h unistd.h poll.h fcntl.h sys/time.h sys/file.h)
AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
-AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h poll.h)
+AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h poll.h sys/pag.h)
AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
-AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h values.h)
+AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h values.h sys/statvfs.h sys/statfs.h sys/bitypes.h)
AC_CHECK_HEADERS(linux/errqueue.h,,,[#include <linux/types.h>])
+AC_CHECK_TYPES([fsblkcnt_t],,,[
+#include <sys/types.h>
+#ifdef HAVE_SYS_BITYPES_H
+#include <sys/bitypes.h>
+#endif
+#ifdef HAVE_SYS_STATFS_H
+#include <sys/statfs.h>
+#endif
+#ifdef HAVE_SYS_STATVFS_H
+#include <sys/statvfs.h>
+#endif
+])
+
if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
HAVE_PAM="yes"
else
AC_SUBST(ENABLE_PTHREADED_UBIK)
AC_SUBST(LIB_AFSDB)
AC_SUBST(LINUX_KERNEL_PATH)
+AC_SUBST(LINUX_KERNEL_BUILD)
AC_SUBST(HOST_CPU)
AC_SUBST(BSD_KERNEL_PATH)
AC_SUBST(BSD_KERNEL_BUILD)
AC_SUBST(WITH_OBSOLETE)
AC_SUBST(DARWIN_INFOFILE)
AC_SUBST(IRIX_BUILD_IP35)
+AC_SUBST(HTML_XSL)
+AC_SUBST(XSLTPROC)
OPENAFS_OSCONF
OPENAFS_KRB5CONF