AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
AH_VERBATIM([RCSID],
-[#undef PACKAGE
-#undef VERSION
-#define RCSID(msg) \
+[#define RCSID(msg) \
static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
#undef HAVE_CONNECT
#undef HAVE_GETHOSTBYNAME
# else
# undef WORDS_BIGENDIAN
# endif
-#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 ENABLE_REDHAT_BUILDSYS
#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
#include "redhat-fix.h"
-#endif
+#endif])
AC_CANONICAL_HOST
SRCDIR_PARENT=`pwd`
disabled)])],
,
[enable_pthreaded_ubik="no"])
+AC_ARG_ENABLE([linux-fh],
+ [AS_HELP_STRING([--enable-linux-fh],
+ [enable opening cache files by file hande instead of inode numbers
+ with linux (defaults to disabled)])],
+ ,
+ [enable_linux_fh="no"])
dnl Kernel module build options.
AC_ARG_WITH([dux-kernel-headers],
[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_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
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)
vm=${v#*.}
AFS_SYSNAME="i386_fbsd_${vM}${vm}"
;;
+ x86_64-*-freebsd?.*)
+ v=${host#*freebsd}
+ vM=${v%.*}
+ vm=${v#*.}
+ AFS_SYSNAME="amd64_fbsd_${vM}${vm}"
+ ;;
i?86-*-netbsd*1.5*)
AFS_SYSNAME="i386_nbsd15"
;;
amd64-*-netbsd*2.0*)
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_HAVE_KMEM_CACHE_T
LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
LINUX_D_PATH_TAKES_STRUCT_PATH
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
+ 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
if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
fi
+ if test "$enable_linux_fh" = "yes"; then
+ AC_DEFINE(LINUX_USE_FH, 1, [define if you want to open cache files by file handle instead of inode numbers])
+ fi
if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
else
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(linux/errqueue.h,,,[#include <linux/types.h>])
AC_MSG_RESULT(no)
fi
+AC_TYPE_SOCKLEN_T
AC_TYPE_SIGNAL
AC_CHECK_TYPE(ssize_t, int)
+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])
AC_CHECK_TYPE([sig_atomic_t], ,
[AC_DEFINE([sig_atomic_t], [int],
[Define to int if <signal.h> does not define.])],
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)