2001-10-09 16:48:25 +01:00
dnl This file contains the common configuration code which would
dnl otherwise be duplicated between configure and configure-libafs.
dnl
dnl NB: Because this code is a macro, references to positional shell
dnl parameters must be done like $[]1 instead of $1
2004-06-03 07:13:27 +01:00
AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
2009-07-09 15:08:32 +01:00
AH_VERBATIM([OPENAFS_HEADER],
2009-07-18 19:38:22 +01:00
[#undef HAVE_RES_SEARCH
2008-09-25 16:41:02 +01:00
#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
2009-01-09 14:50:48 +00:00
#endif
2009-01-12 14:11:36 +00:00
#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
2008-09-25 16:41:02 +01:00
#undef AFS_NAMEI_ENV
#undef BITMAP_LATER
#undef FAST_RESTART
#undef COMPLETION_H_EXISTS
#undef DEFINED_FOR_EACH_PROCESS
#undef DEFINED_PREV_TASK
#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_FS_HAS_FS_ROLLED
#undef STRUCT_INODE_HAS_I_ALLOC_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_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"
2009-01-09 14:50:48 +00:00
#endif])
2001-10-09 16:48:25 +01:00
AC_CANONICAL_HOST
SRCDIR_PARENT=`pwd`
2006-08-01 23:49:36 +01:00
#BOZO_SAVE_CORES pam
2008-07-02 00:44:14 +01:00
2008-07-14 06:05:46 +01:00
dnl System identity.
AC_ARG_WITH([afs-sysname],
[AS_HELP_STRING([--with-afs-sysname=sys], [use sys for the afs sysname])])
dnl General feature options.
AC_ARG_ENABLE([pam],
[AS_HELP_STRING([--disable-pam], [disable PAM support])],
,
[enable_pam="yes"])
AC_ARG_ENABLE([namei-fileserver],
[AS_HELP_STRING([--enable-namei-fileserver],
[force compilation of namei fileserver in preference to inode
fileserver])],
,
2008-08-16 23:37:29 +01:00
[enable_namei_fileserver="default"])
2008-09-25 13:42:02 +01:00
AC_ARG_ENABLE([cache-bypass],
[AS_HELP_STRING([--enable-cache-bypass],
[enable client support for cache bypass])],
,
[enable_cache_bypass="no"])
2008-07-14 06:05:46 +01:00
AC_ARG_ENABLE([supergroups],
[AS_HELP_STRING([--enable-supergroups],
[enable support for nested pts groups])],
,
[enable_supergroups="no"])
AC_ARG_ENABLE([fast-restart],
[AS_HELP_STRING([--enable-fast-restart],
[enable fast startup of file server without salvaging])],
,
[enable_fast_restart="no"])
AC_ARG_ENABLE([bitmap-later],
[AS_HELP_STRING([--enable-bitmap-later],
[enable fast startup of file server by not reading bitmap till
needed])],
,
[enable_bitmap_later="no"])
AC_ARG_ENABLE([demand-attach-fs],
[AS_HELP_STRING([--enable-demand-attach-fs],
[enable Demand Attach Fileserver (please see documentation)])],
,
[enable_demand_attach_fs="no"])
AC_ARG_ENABLE([disconnected],
[AS_HELP_STRING([--enable-disconnected],
[enable disconnected support in cache manager (experimental)])],
,
[enable_disconnected="no"])
AC_ARG_ENABLE([unix-sockets],
[AS_HELP_STRING([--enable-unix-sockets],
[enable use of unix domain sockets for fssync])],
,
[enable_unix_sockets="yes"])
AC_ARG_ENABLE([icmp-pmtu-discovery],
[AS_HELP_STRING([--enable-icmp-pmtu-discovery],
[enable path MTU discovery by decoding ICMP unreachable replies])],
,
[enable_icmp_pmtu_discovery="no"])
AC_ARG_ENABLE([tivoli-tsm],
[AS_HELP_STRING([--enable-tivoli-tsm],
[enable use of the Tivoli TSM API libraries for butc support])],
,
[enable_tivoli_tsm="no"])
AC_ARG_ENABLE([pthreaded-ubik],
[AS_HELP_STRING([--enable-pthreaded-ubik],
[enable installation of pthreaded ubik applications (defaults to
disabled)])],
,
[enable_pthreaded_ubik="no"])
dnl Kernel module build options.
AC_ARG_WITH([dux-kernel-headers],
[AS_HELP_STRING([--with-dux-kernel-headers=path],
[use the kernel headers found at path (optional, defaults to first
match in /usr/sys)])])
AC_ARG_WITH([linux-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)])])
2008-10-12 20:01:58 +01:00
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)])])
2008-07-14 06:05:46 +01:00
AC_ARG_WITH([bsd-kernel-headers],
[AS_HELP_STRING([--with-bsd-kernel-headers=path],
[use the kernel headers found at path (optional, defaults to
/usr/src/sys)])])
AC_ARG_WITH([bsd-kernel-build],
[AS_HELP_STRING([--with-bsd-kernel-build=path],
[use the kernel build found at path (optional, defaults to
KSRC/i386/compile/GENERIC)])])
2008-07-02 00:44:14 +01:00
AC_ARG_WITH([linux-kernel-packaging],
2008-07-14 06:05:46 +01:00
[AS_HELP_STRING([--with-linux-kernel-packaging],
[use standard naming conventions to aid Linux kernel build packaging
(disables MPS, sets the kernel module name to openafs.ko, and
installs kernel modules into the standard Linux location)])],
[AC_SUBST(LINUX_KERNEL_PACKAGING, "yes")
AC_SUBST(LINUX_LIBAFS_NAME, "openafs")],
[AC_SUBST(LINUX_LIBAFS_NAME, "libafs")])
AC_ARG_ENABLE([kernel-module],
[AS_HELP_STRING([--disable-kernel-module],
[disable compilation of the kernel module (defaults to enabled)])],
,
[enable_kernel_module="yes"])
AC_ARG_ENABLE([redhat-buildsys],
[AS_HELP_STRING([--enable-redhat-buildsys],
[enable compilation of the redhat build system kernel (defaults to
disabled)])],
,
[enable_redhat_buildsys="no"])
dnl Installation locations.
AC_ARG_ENABLE([transarc-paths],
[AS_HELP_STRING([--enable-transarc-paths],
[use Transarc style paths like /usr/afs and /usr/vice])],
,
[enable_transarc_paths="no"])
dnl Optimization and debugging flags.
AC_ARG_ENABLE([strip-binaries],
[AS_HELP_STRING([--disable-strip-binaries],
[disable stripping of symbol information from binaries (defaults to
enabled)])],
,
[enable_strip_binaries="maybe"])
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],
[enable compilation of the user space code with debugging information
(defaults to disabled)])],
,
[enable_debug="no"])
AC_ARG_ENABLE([optimize],
[AS_HELP_STRING([--disable-optimize],
[disable optimization for compilation of the user space code (defaults
to enabled)])],
,
[enable_optimize="yes"])
AC_ARG_ENABLE([warnings],
[AS_HELP_STRING([--enable-warnings],
[enable compilation warnings when building with gcc (defaults to
disabled)])],
,
[enable_warnings="no"])
2009-09-28 11:07:58 +01:00
AC_ARG_ENABLE([checking],
[AS_HELP_STRING([--enable-checking],
[turn compilation warnings into errors when building with gcc (defaults
to disabled)])],
[enable_checking="$enableval"],
[enable_checking="no"])
2008-07-14 06:05:46 +01:00
AC_ARG_ENABLE([debug-kernel],
[AS_HELP_STRING([--enable-debug-kernel],
[enable compilation of the kernel module with debugging information
(defaults to disabled)])],
,
[enable_debug_kernel="no"])
AC_ARG_ENABLE([optimize-kernel],
[AS_HELP_STRING([--disable-optimize-kernel],
[disable compilation of the kernel module with optimization (defaults
based on platform)])],
,
[enable_optimize_kernel="yes"])
AC_ARG_ENABLE([debug-lwp],
[AS_HELP_STRING([--enable-debug-lwp],
[enable compilation of the LWP code with debugging information
(defaults to disabled)])],
,
[enable_debug_lwp="no"])
AC_ARG_ENABLE([optimize-lwp],
[AS_HELP_STRING([--disable-optimize-lwp],
[disable optimization for compilation of the LWP code (defaults to
enabled)])],
,
[enable_optimize_lwp="yes"])
AC_ARG_ENABLE([debug-pam],
[AS_HELP_STRING([--enable-debug-pam],
[enable compilation of the PAM code with debugging information
(defaults to disabled)])],
,
[enable_debug_pam="no"])
AC_ARG_ENABLE([optimize-pam],
[AS_HELP_STRING([--disable-optimize-pam],
[disable optimization for compilation of the PAM code (defaults to
enabled)])],
,
[enable_optimize_pam="yes"])
2009-06-02 20:31:45 +01:00
AC_ARG_ENABLE([linux-syscall-probing],
[AS_HELP_STRING([--disable-linux-syscall-probing],
[disabling Linux syscall probing (defaults to enabled)])],
,
[AC_DEFINE(ENABLE_LINUX_SYSCALL_PROBING, 1,
[define to enable syscall table probes])])
2006-04-26 17:36:21 +01:00
2009-05-27 21:44:24 +01:00
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)
2001-10-09 16:48:25 +01:00
2004-03-25 23:25:50 +00:00
enable_login="no"
2001-10-09 16:48:25 +01:00
dnl weird ass systems
2008-10-20 14:34:58 +01:00
dnl AC_AIX
2001-10-09 16:48:25 +01:00
AC_ISC_POSIX
2008-10-20 14:34:58 +01:00
dnl AC_MINIX
2001-10-09 16:48:25 +01:00
dnl Various compiler setup.
AC_TYPE_PID_T
AC_TYPE_SIZE_T
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_YACC
AM_PROG_LEX
OPENAFS_CHECK_BIGENDIAN
2009-10-12 03:55:05 +01:00
OPENAFS_PRINTF_TAKES_Z_LEN
2001-10-09 16:48:25 +01:00
AC_MSG_CHECKING(your OS)
system=$host
case $system in
*-linux*)
2004-12-01 23:21:18 +00:00
2001-10-09 16:48:25 +01:00
MKAFS_OSTYPE=LINUX
if test "x$enable_redhat_buildsys" = "xyes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
2001-10-09 16:48:25 +01:00
fi
if test "x$enable_kernel_module" = "xyes"; then
if test "x$with_linux_kernel_headers" != "x"; then
LINUX_KERNEL_PATH="$with_linux_kernel_headers"
else
2006-09-12 20:57:17 +01:00
LINUX_KERNEL_PATH="/lib/modules/`uname -r`/source"
if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
fi
2005-03-20 15:07:19 +00:00
if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
LINUX_KERNEL_PATH="/usr/src/linux-2.4"
fi
2003-04-10 21:57:22 +01:00
if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
LINUX_KERNEL_PATH="/usr/src/linux"
fi
2001-10-09 16:48:25 +01:00
fi
2008-10-14 16:38:30 +01:00
if test "x$with_linux_kernel_build" != "x"; then
2008-10-12 20:01:58 +01:00
LINUX_KERNEL_BUILD="$with_linux_kernel_build"
else
LINUX_KERNEL_BUILD=$LINUX_KERNEL_PATH
fi
2009-12-20 03:22:05 +00:00
if test -f "$LINUX_KERNEL_BUILD/include/generated/utsrelease.h"; then
linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_BUILD/include/generated/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
LINUX_VERSION="$linux_kvers"
2001-10-09 16:48:25 +01:00
else
2009-12-20 03:22:05 +00:00
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_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_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])
exit 1
else
LINUX_VERSION="$linux_kvers"
fi
else
AC_MSG_ERROR(Linux headers lack version definition)
exit 1
fi
else
LINUX_VERSION="$linux_kvers"
fi
else
enable_kernel_module="no"
fi
fi
fi
2010-02-20 18:36:22 +00:00
if test ! -f "$LINUX_KERNEL_BUILD/include/generated/autoconf.h" &&
test ! -f "$LINUX_KERNEL_BUILD/include/linux/autoconf.h"; then
2001-10-09 16:48:25 +01:00
enable_kernel_module="no"
fi
if test "x$enable_kernel_module" = "xno"; then
if test "x$with_linux_kernel_headers" != "x"; then
AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH)
exit 1
else
AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module)
fi
fi
2004-04-12 21:42:19 +01:00
dnl do we need to determine SUBARCH from autoconf.h
SUBARCH=default
2001-10-09 16:48:25 +01:00
fi
AC_MSG_RESULT(linux)
2004-12-11 10:52:16 +00:00
if test "x$enable_kernel_module" = "xyes"; then
AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
if test "x${AFS_SYSKVERS}" = "x"; then
AC_MSG_ERROR(Couldn't guess your Linux version [2])
fi
fi
2001-10-09 16:48:25 +01:00
;;
*-solaris*)
MKAFS_OSTYPE=SOLARIS
AC_MSG_RESULT(sun4)
2009-12-22 21:38:00 +00:00
AC_PATH_PROG(SOLARISCC, [cc], ,
[/opt/SUNWspro/bin:/opt/SunStudioExpress/bin])
2001-10-09 16:48:25 +01:00
SOLARIS_UFSVFS_HAS_DQRWLOCK
2003-03-28 21:26:20 +00:00
SOLARIS_FS_HAS_FS_ROLLED
2009-06-24 23:38:15 +01:00
SOLARIS_SOLOOKUP_TAKES_SOCKPARAMS
2001-10-09 16:48:25 +01:00
;;
2002-08-21 21:19:28 +01:00
*-sunos*)
MKAFS_OSTYPE=SUNOS
enable_kernel_module=no
AC_MSG_RESULT(sun4)
;;
2001-10-09 16:48:25 +01:00
*-hpux*)
MKAFS_OSTYPE=HPUX
AC_MSG_RESULT(hp_ux)
2005-10-03 04:44:42 +01:00
if test -f "/usr/old/usr/include/ndir.h"; then
AC_DEFINE(HAVE_USR_OLD_USR_INCLUDE_NDIR_H, 1, [define if you have old ndir.h])
fi
2001-10-09 16:48:25 +01:00
;;
*-irix*)
2001-11-13 04:52:26 +00:00
if test -d /usr/include/sys/SN/SN1; then
2001-11-01 05:05:26 +00:00
IRIX_BUILD_IP35="IP35"
fi
2001-10-09 16:48:25 +01:00
MKAFS_OSTYPE=IRIX
AC_MSG_RESULT(sgi)
;;
*-aix*)
MKAFS_OSTYPE=AIX
AC_MSG_RESULT(rs_aix)
;;
*-osf*)
MKAFS_OSTYPE=DUX
AC_MSG_RESULT(alpha_dux)
;;
2005-10-15 16:42:17 +01:00
powerpc-*-darwin*)
2001-10-09 16:48:25 +01:00
MKAFS_OSTYPE=DARWIN
AC_MSG_RESULT(ppc_darwin)
;;
2005-10-15 16:42:17 +01:00
i386-*-darwin*)
MKAFS_OSTYPE=DARWIN
AC_MSG_RESULT(x86_darwin)
;;
2008-12-15 20:37:51 +00:00
i386-*-freebsd*)
2001-10-09 16:48:25 +01:00
MKAFS_OSTYPE=FBSD
AC_MSG_RESULT(i386_fbsd)
;;
2008-12-15 20:37:51 +00:00
x86_64-*-freebsd*)
MKAFS_OSTYPE=FBSD
AC_MSG_RESULT(amd64_fbsd)
;;
2002-01-01 18:57:18 +00:00
*-netbsd*)
MKAFS_OSTYPE=NBSD
2002-01-18 18:45:27 +00:00
AC_MSG_RESULT(nbsd)
2002-01-01 18:57:18 +00:00
;;
2009-07-18 14:29:20 +01:00
x86_64-*-openbsd*)
MKAFS_OSTYPE=OBSD
AC_MSG_RESULT(amd64_obsd)
;;
i386-openbsd*)
2001-10-09 16:48:25 +01:00
MKAFS_OSTYPE=OBSD
AC_MSG_RESULT(i386_obsd)
;;
2009-04-27 20:29:09 +01:00
*-dragonfly*)
MKAFS_OSTYPE=DFBSD
AC_MSG_RESULT(i386_dfbsd)
;;
2001-10-09 16:48:25 +01:00
*)
AC_MSG_RESULT($system)
;;
esac
if test "x$with_afs_sysname" != "x"; then
AFS_SYSNAME="$with_afs_sysname"
else
AC_MSG_CHECKING(your AFS sysname)
case $host in
2005-08-13 22:49:00 +01:00
i?86-*-openbsd?.?)
v=${host#*openbsd}
vM=${v%.*}
vm=${v#*.}
AFS_SYSNAME="i386_obsd${vM}${vm}"
2005-08-12 23:26:09 +01:00
;;
2006-03-09 15:27:17 +00:00
sparc64-*-openbsd?.?)
v=${host#*openbsd}
vM=${v%.*}
vm=${v#*.}
AFS_SYSNAME="sparc64_obsd${vM}${vm}"
;;
2009-07-18 14:29:20 +01:00
x86_64-*-openbsd?.?)
v=${host#*openbsd}
vM=${v%.*}
vm=${v#*.}
AFS_SYSNAME="amd64_obsd${vM}${vm}"
;;
2005-08-15 22:36:53 +01:00
i?86-*-freebsd?.*)
v=${host#*freebsd}
vM=${v%.*}
vm=${v#*.}
AFS_SYSNAME="i386_fbsd_${vM}${vm}"
2005-05-20 21:26:53 +01:00
;;
2008-12-15 20:37:51 +00:00
x86_64-*-freebsd?.*)
v=${host#*freebsd}
vM=${v%.*}
vm=${v#*.}
AFS_SYSNAME="amd64_fbsd_${vM}${vm}"
;;
2009-04-27 20:29:09 +01:00
i386-*-dragonfly2.2*)
AFS_SYSNAME="i386_dfbsd_23"
;;
i386-*-dragonfly2.3*)
AFS_SYSNAME="i386_dfbsd_23"
;;
2002-01-01 18:57:18 +00:00
i?86-*-netbsd*1.5*)
AFS_SYSNAME="i386_nbsd15"
;;
2002-01-18 18:45:27 +00:00
alpha-*-netbsd*1.5*)
AFS_SYSNAME="alpha_nbsd15"
;;
2003-02-03 23:10:38 +00:00
i?86-*-netbsd*1.6[[M-Z]]*)
AFS_SYSNAME="i386_nbsd20"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*1.6[[M-Z]]*)
AFS_SYSNAME="ppc_nbsd20"
;;
2003-02-03 23:10:38 +00:00
i?86-*-netbsd*2.0*)
AFS_SYSNAME="i386_nbsd20"
;;
2005-10-15 16:16:07 +01:00
amd64-*-netbsd*2.0*)
AFS_SYSNAME="amd64_nbsd20"
;;
2008-11-17 23:14:02 +00:00
x86_64-*-netbsd*3.[[0-8]]*)
2009-07-21 22:07:36 +01:00
# XXX AFS_PARAM_COMMON handled separately, redundant?
2007-12-01 05:40:51 +00:00
AFS_PARAM_COMMON=param.nbsd30.h
AFS_SYSNAME="amd64_nbsd30"
;;
2008-11-17 23:14:02 +00:00
x86_64-*-netbsd*4.[[0-8]]*)
2009-07-21 22:07:36 +01:00
# XXX AFS_PARAM_COMMON handled separately, redundant?
2007-12-01 05:40:51 +00:00
AFS_PARAM_COMMON=param.nbsd40.h
AFS_SYSNAME="amd64_nbsd40"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*2.0*)
AFS_SYSNAME="ppc_nbsd20"
;;
2002-06-30 19:13:36 +01:00
i?86-*-netbsd*1.6*)
AFS_SYSNAME="i386_nbsd16"
;;
alpha-*-netbsd*1.6*)
AFS_SYSNAME="alpha_nbsd16"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*1.6*)
AFS_SYSNAME="ppc_nbsd16"
;;
2005-01-14 01:07:45 +00:00
i?86-*-netbsd*2.1*)
2004-11-24 18:57:58 +00:00
AFS_SYSNAME="i386_nbsd21"
;;
2005-01-14 01:07:45 +00:00
i?86-*-netbsd*2.99*)
AFS_SYSNAME="i386_nbsd30"
;;
2006-10-06 16:55:35 +01:00
i?86-*-netbsd*3.[[0-8]]*)
2005-01-14 01:07:45 +00:00
AFS_SYSNAME="i386_nbsd30"
;;
2005-06-02 06:27:27 +01:00
i?86-*-netbsd*3.99*)
AFS_SYSNAME="i386_nbsd30"
;;
2006-10-06 16:55:35 +01:00
i?86-*-netbsd*4.[[0-8]]*)
AFS_SYSNAME="i386_nbsd40"
;;
i?86-*-netbsd*4.99*)
AFS_SYSNAME="i386_nbsd40"
;;
2003-03-10 20:02:35 +00:00
hppa*-hp-hpux11.0*)
2001-10-09 16:48:25 +01:00
AFS_SYSNAME="hp_ux110"
;;
2003-03-10 20:02:35 +00:00
hppa*-hp-hpux11.11)
AFS_SYSNAME="hp_ux11i"
;;
2008-03-17 18:07:36 +00:00
hppa*-hp-hpux11.23)
AFS_SYSNAME="hp_ux1123"
;;
2003-11-27 01:17:34 +00:00
ia64-hp-hpux11.22)
2003-02-27 17:27:25 +00:00
AFS_SYSNAME="ia64_hpux1122"
2003-02-14 00:02:16 +00:00
;;
2003-11-27 01:17:34 +00:00
ia64-hp-hpux*)
AFS_SYSNAME="ia64_hpux1123"
;;
2001-10-09 16:48:25 +01:00
hppa*-hp-hpux10*)
AFS_SYSNAME="hp_ux102"
;;
2010-02-17 18:26:43 +00:00
powerpc-apple-darwin7*)
2004-03-17 08:24:13 +00:00
AFS_SYSNAME="ppc_darwin_70"
;;
2005-10-15 16:42:17 +01:00
powerpc-apple-darwin8.*)
AFS_SYSNAME="ppc_darwin_80"
;;
i386-apple-darwin8.*)
AFS_SYSNAME="x86_darwin_80"
;;
2006-03-09 06:35:14 +00:00
powerpc-apple-darwin9.*)
AFS_SYSNAME="ppc_darwin_90"
;;
i386-apple-darwin9.*)
AFS_SYSNAME="x86_darwin_90"
;;
2009-07-15 19:57:56 +01:00
i?86-apple-darwin10.*)
AFS_SYSNAME="x86_darwin_100"
;;
2001-10-09 16:48:25 +01:00
sparc-sun-solaris2.5*)
AFS_SYSNAME="sun4x_55"
2004-03-25 23:25:50 +00:00
enable_login="yes"
2001-10-09 16:48:25 +01:00
;;
sparc-sun-solaris2.6)
AFS_SYSNAME="sun4x_56"
;;
sparc-sun-solaris2.7)
AFS_SYSNAME="sun4x_57"
;;
sparc-sun-solaris2.8)
AFS_SYSNAME="sun4x_58"
;;
2001-10-11 09:43:17 +01:00
sparc-sun-solaris2.9)
AFS_SYSNAME="sun4x_59"
;;
2004-06-24 19:38:19 +01:00
sparc-sun-solaris2.10)
AFS_SYSNAME="sun4x_510"
;;
2006-12-28 21:57:24 +00:00
sparc-sun-solaris2.11)
AFS_SYSNAME="sun4x_511"
;;
2002-08-21 21:19:28 +01:00
sparc-sun-sunos4*)
AFS_SYSNAME="sun4_413"
2004-03-25 23:25:50 +00:00
enable_login="yes"
2002-08-21 21:19:28 +01:00
;;
2002-06-12 02:25:33 +01:00
i386-pc-solaris2.7)
AFS_SYSNAME="sunx86_57"
;;
i386-pc-solaris2.8)
AFS_SYSNAME="sunx86_58"
;;
i386-pc-solaris2.9)
AFS_SYSNAME="sunx86_59"
;;
2004-06-24 19:38:19 +01:00
i386-pc-solaris2.10)
AFS_SYSNAME="sunx86_510"
;;
2006-12-28 21:57:24 +00:00
i386-pc-solaris2.11)
AFS_SYSNAME="sunx86_511"
;;
2001-10-09 16:48:25 +01:00
alpha*-dec-osf4.0*)
AFS_SYSNAME="alpha_dux40"
;;
alpha*-dec-osf5.0*)
AFS_SYSNAME="alpha_dux50"
;;
2002-09-26 09:13:06 +01:00
alpha*-dec-osf5.1*)
AFS_SYSNAME="alpha_dux51"
;;
2001-10-09 16:48:25 +01:00
mips-sgi-irix6.5)
AFS_SYSNAME="sgi_65"
;;
ia64-*-linux*)
AFS_SYSNAME="ia64_linuxXX"
;;
powerpc-*-linux*)
2005-04-03 21:02:28 +01:00
AFS_SYSNAME="`/bin/arch`_linuxXX"
2001-10-09 16:48:25 +01:00
;;
2004-02-03 06:23:30 +00:00
powerpc64-*-linux*)
AFS_SYSNAME="ppc64_linuxXX"
;;
2001-10-09 16:48:25 +01:00
alpha*-linux*)
AFS_SYSNAME="alpha_linux_XX"
;;
s390-*-linux*)
AFS_SYSNAME="s390_linuxXX"
;;
2004-08-11 17:45:35 +01:00
s390x-*-linux*)
AFS_SYSNAME="s390x_linuxXX"
;;
2001-10-09 16:48:25 +01:00
sparc-*-linux*)
2007-05-17 08:50:02 +01:00
AFS_SYSNAME="`/bin/arch`_linuxXX"
2001-10-09 16:48:25 +01:00
;;
sparc64-*-linux*)
AFS_SYSNAME="sparc64_linuxXX"
;;
i?86-*-linux*)
AFS_SYSNAME="i386_linuxXX"
;;
2009-08-22 02:37:41 +01:00
arm*-linux*)
AFS_SYSNAME="arm_linuxXX"
;;
2006-04-05 02:11:15 +01:00
parisc-*-linux-gnu|hppa-*-linux-gnu)
2001-10-09 16:48:25 +01:00
AFS_SYSNAME="parisc_linuxXX"
2004-03-25 23:25:50 +00:00
enable_pam="no"
2001-10-09 16:48:25 +01:00
;;
power*-ibm-aix4.2*)
AFS_SYSNAME="rs_aix42"
2004-12-07 16:48:57 +00:00
enable_pam="no"
2001-10-09 16:48:25 +01:00
;;
power*-ibm-aix4.3*)
AFS_SYSNAME="rs_aix42"
2004-12-07 16:48:57 +00:00
enable_pam="no"
2001-10-09 16:48:25 +01:00
;;
2004-03-10 17:12:08 +00:00
power*-ibm-aix5.1*)
AFS_SYSNAME="rs_aix51"
2004-12-07 16:48:57 +00:00
enable_pam="no"
2004-03-10 17:12:08 +00:00
;;
power*-ibm-aix5.2*)
AFS_SYSNAME="rs_aix52"
2004-12-07 16:48:57 +00:00
enable_pam="no"
2004-03-10 17:12:08 +00:00
;;
2005-04-19 17:50:25 +01:00
power*-ibm-aix5.3*)
AFS_SYSNAME="rs_aix53"
enable_pam="no"
;;
2008-09-03 20:26:29 +01:00
power*-ibm-aix6.1*)
AFS_SYSNAME="rs_aix61"
enable_pam="no"
;;
2003-04-28 23:38:20 +01:00
x86_64-*-linux-gnu)
AFS_SYSNAME="amd64_linuxXX"
2009-07-12 17:07:12 +01:00
enable_pam="yes"
2003-04-28 23:38:20 +01:00
;;
2001-10-09 16:48:25 +01:00
*)
AC_MSG_ERROR(An AFS sysname is required)
exit 1
;;
esac
case $AFS_SYSNAME in
2004-12-01 23:21:18 +00:00
*_linux* | *_umlinux*)
2001-10-09 16:48:25 +01:00
if test "x${AFS_SYSKVERS}" = "x"; then
AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
fi
_AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
AFS_SYSNAME="$_AFS_SYSNAME"
2010-02-20 18:28:59 +00:00
AC_TRY_KBUILD(
[],
2003-08-11 21:29:21 +01:00
[#ifndef CONFIG_USERMODE
#error not UML
#endif],
ac_cv_linux_is_uml=yes,)
if test "${ac_cv_linux_is_uml}" = yes; then
_AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
2003-05-13 06:23:56 +01:00
fi
2003-08-11 21:29:21 +01:00
AFS_SYSNAME="$_AFS_SYSNAME"
2001-10-09 16:48:25 +01:00
;;
esac
AC_MSG_RESULT($AFS_SYSNAME)
fi
2009-12-24 18:19:01 +00:00
case $AFS_SYSNAME in
*_darwin*)
DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
;;
esac
2006-11-20 23:50:42 +00:00
dnl Some hosts have a separate common param file they should include. Figure
dnl out if we're on one of them now that we know the sysname.
case $AFS_SYSNAME in
*_nbsd15) AFS_PARAM_COMMON=param.nbsd15.h ;;
*_nbsd16) AFS_PARAM_COMMON=param.nbsd16.h ;;
*_nbsd20) AFS_PARAM_COMMON=param.nbsd20.h ;;
*_nbsd21) AFS_PARAM_COMMON=param.nbsd21.h ;;
*_nbsd30) AFS_PARAM_COMMON=param.nbsd30.h ;;
*_nbsd40) AFS_PARAM_COMMON=param.nbsd40.h ;;
2009-07-21 22:07:36 +01:00
*_obsd31) AFS_PARAM_COMMON=param.obsd31.h ;;
*_obsd32) AFS_PARAM_COMMON=param.obsd32.h ;;
*_obsd33) AFS_PARAM_COMMON=param.obsd33.h ;;
*_obsd34) AFS_PARAM_COMMON=param.obsd34.h ;;
*_obsd35) AFS_PARAM_COMMON=param.obsd35.h ;;
*_obsd36) AFS_PARAM_COMMON=param.obsd36.h ;;
*_obsd37) AFS_PARAM_COMMON=param.obsd37.h ;;
*_obsd38) AFS_PARAM_COMMON=param.obsd38.h ;;
*_obsd39) AFS_PARAM_COMMON=param.obsd39.h ;;
*_obsd40) AFS_PARAM_COMMON=param.obsd40.h ;;
*_obsd41) AFS_PARAM_COMMON=param.obsd41.h ;;
*_obsd42) AFS_PARAM_COMMON=param.obsd42.h ;;
*_obsd43) AFS_PARAM_COMMON=param.obsd43.h ;;
*_obsd44) AFS_PARAM_COMMON=param.obsd44.h ;;
*_obsd45) AFS_PARAM_COMMON=param.obsd45.h ;;
2010-02-17 18:05:53 +00:00
*_obsd46) AFS_PARAM_COMMON=param.obsd46.h ;;
2006-11-20 23:50:42 +00:00
*_linux22) AFS_PARAM_COMMON=param.linux22.h ;;
*_linux24) AFS_PARAM_COMMON=param.linux24.h ;;
*_linux26) AFS_PARAM_COMMON=param.linux26.h ;;
esac
2004-12-01 23:21:18 +00:00
case $AFS_SYSNAME in *_linux* | *_umlinux*)
# Add (sub-) architecture-specific paths needed by conftests
case $AFS_SYSNAME in
*_umlinux26)
UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
esac
if test "x$enable_kernel_module" = "xyes"; then
if test "x$enable_debug_kernel" = "xno"; then
LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
fi
OPENAFS_GCC_SUPPORTS_MARCH
AC_SUBST(P5PLUS_KOPTS)
OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE
OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING
OPENAFS_GCC_SUPPORTS_NO_COMMON
OPENAFS_GCC_SUPPORTS_PIPE
AC_SUBST(LINUX_GCC_KOPTS)
ifdef([OPENAFS_CONFIGURE_LIBAFS],
2005-02-07 15:31:31 +00:00
[LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)],
2004-12-01 23:21:18 +00:00
[LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
)
2006-08-04 17:42:55 +01:00
2007-11-23 13:37:24 +00:00
LINUX_KBUILD_USES_EXTRA_CFLAGS
2008-01-30 17:30:23 +00:00
LINUX_KERNEL_COMPILE_WORKS
2008-06-09 05:38:58 +01:00
LINUX_EXPORTS_FIND_TASK_BY_PID
LINUX_EXPORTS_PROC_ROOT_FS
2007-11-23 13:37:24 +00:00
LINUX_HAVE_CURRENT_KERNEL_TIME
2008-11-08 16:49:25 +00:00
LINUX_HAVE_WRITE_BEGIN_AOP
2008-11-08 16:09:25 +00:00
LINUX_HAVE_BDI_INIT
2007-11-23 13:37:24 +00:00
LINUX_KMEM_CACHE_INIT
2009-01-15 13:26:55 +00:00
LINUX_HAVE_GRAB_CACHE_PAGE_WRITE_BEGIN
2009-09-30 10:44:51 +01:00
LINUX_HAVE_PAGEVEC_LRU_ADD_FILE
2009-11-20 15:08:25 +00:00
LINUX_HAVE_SPLICE_DIRECT_TO_ACTOR
2009-01-15 13:26:55 +00:00
LINUX_STRUCT_TASK_HAS_CRED
2009-03-31 14:16:17 +01:00
LINUX_STRUCT_PROC_DIR_ENTRY_HAS_OWNER
2007-10-05 05:07:27 +01:00
LINUX_HAVE_KMEM_CACHE_T
2009-10-09 02:53:03 +01:00
LINUX_KMEM_CACHE_CREATE_CTOR_TAKES_VOID
2008-07-01 05:33:38 +01:00
LINUX_D_PATH_TAKES_STRUCT_PATH
LINUX_NEW_EXPORT_OPS
2006-11-09 23:10:51 +00:00
LINUX_CONFIG_H_EXISTS
2004-12-01 23:21:18 +00:00
LINUX_COMPLETION_H_EXISTS
2008-08-16 21:42:34 +01:00
LINUX_SEMAPHORE_H_EXISTS
2007-10-24 17:44:26 +01:00
LINUX_EXPORTFS_H_EXISTS
2004-12-01 23:21:18 +00:00
LINUX_DEFINES_FOR_EACH_PROCESS
LINUX_DEFINES_PREV_TASK
2005-07-11 20:45:47 +01:00
LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
2009-09-17 21:57:52 +01:00
LINUX_STRUCT_SUPER_BLOCK_HAS_S_BDI
2010-02-18 23:09:40 +00:00
LINUX_STRUCT_BDI_HAS_NAME
2004-12-01 23:21:18 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
2006-11-10 00:06:44 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS
2006-08-11 23:38:41 +01:00
LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
2006-02-15 21:01:49 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
2004-12-01 23:21:18 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
LINUX_INODE_SETATTR_RETURN_TYPE
2006-08-04 17:42:55 +01:00
LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
2007-04-18 20:18:35 +01:00
LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
2006-08-04 17:42:55 +01:00
LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
2007-06-12 20:32:19 +01:00
LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
2004-12-01 23:38:53 +00:00
LINUX_AOP_WRITEBACK_CONTROL
2007-02-03 03:23:16 +00:00
LINUX_FS_STRUCT_FOP_HAS_FLOCK
2007-10-05 05:07:27 +01:00
LINUX_FS_STRUCT_FOP_HAS_SENDFILE
2007-11-06 18:30:19 +00:00
LINUX_FS_STRUCT_FOP_HAS_SPLICE
2005-05-08 08:05:09 +01:00
LINUX_KERNEL_LINUX_SEQ_FILE_H
2007-05-17 08:34:15 +01:00
LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
2009-05-27 02:47:40 +01:00
LINUX_POSIX_TEST_LOCK_RETURNS_CONFLICT
LINUX_POSIX_TEST_LOCK_CONFLICT_ARG
2004-12-01 23:21:18 +00:00
LINUX_KERNEL_SOCK_CREATE
2004-12-09 16:16:55 +00:00
LINUX_KERNEL_PAGE_FOLLOW_LINK
2008-05-20 23:02:49 +01:00
LINUX_KERNEL_HLIST_UNHASHED
2007-11-23 13:37:24 +00:00
LINUX_KEY_TYPE_H_EXISTS
2009-07-01 22:56:48 +01:00
LINUX_EXPORTS_KEY_TYPE_KEYRING
2009-09-14 22:40:23 +01:00
LINUX_KEYS_HAVE_SESSION_TO_PARENT
2004-12-01 23:21:18 +00:00
LINUX_NEED_RHCONFIG
LINUX_RECALC_SIGPENDING_ARG_TYPE
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
2005-01-14 17:36:39 +00:00
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
2005-01-16 16:41:33 +00:00
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
2007-02-08 22:37:41 +00:00
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
2006-12-28 21:28:31 +00:00
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
2007-06-12 07:41:06 +01:00
LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO
2007-02-09 01:30:00 +00:00
LINUX_EXPORTS_TASKLIST_LOCK
2006-08-28 21:11:31 +01:00
LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
2006-11-09 23:40:20 +00:00
LINUX_STATFS_TAKES_DENTRY
2007-01-19 19:31:05 +00:00
LINUX_FREEZER_H_EXISTS
2007-10-24 17:44:26 +01:00
LINUX_HAVE_SVC_ADDR_IN
2007-01-19 19:31:05 +00:00
if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
AC_DEFINE(FREEZER_H_EXISTS, 1, [define if you have linux/freezer.h])
fi
2005-08-10 21:21:27 +01:00
LINUX_REFRIGERATOR
2006-08-04 17:55:21 +01:00
LINUX_LINUX_KEYRING_SUPPORT
LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
2009-03-19 04:02:18 +00:00
LINUX_KEY_ALLOC_NEEDS_CRED
2006-10-06 15:27:44 +01:00
LINUX_DO_SYNC_READ
LINUX_GENERIC_FILE_AIO_READ
2006-12-28 21:28:31 +00:00
LINUX_INIT_WORK_HAS_DATA
2007-02-22 21:46:13 +00:00
LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
2007-11-23 13:37:24 +00:00
LINUX_SYSCTL_TABLE_CHECKING
2009-12-10 00:06:18 +00:00
LINUX_STRUCT_CTL_TABLE_HAS_CTL_NAME
2008-03-10 18:50:47 +00:00
LINUX_HAVE_IGET
2009-05-11 15:39:58 +01:00
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
2009-01-09 15:09:14 +00:00
LINUX_HAVE_I_SIZE_READ
2009-01-23 14:31:22 +00:00
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
2008-03-10 18:50:47 +00:00
LINUX_FS_STRUCT_NAMEIDATA_HAS_PATH
2008-04-07 05:48:45 +01:00
LINUX_EXPORTS_INIT_MM
2006-08-13 18:45:48 +01:00
LINUX_EXPORTS_SYS_CHDIR
LINUX_EXPORTS_SYS_OPEN
2008-04-19 23:55:02 +01:00
LINUX_EXPORTS_RCU_READ_LOCK
2008-07-02 00:44:14 +01:00
if test "x$with_linux_kernel_packaging" = "xno" ; then
LINUX_WHICH_MODULES
else
AC_SUBST(MPS,'SP')
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
ac_cv_linux_exports_sys_call_table=no
if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
ac_cv_linux_exports_ia32_sys_call_table=yes
fi
else
LINUX_EXPORTS_KALLSYMS_ADDRESS
LINUX_EXPORTS_KALLSYMS_SYMBOL
LINUX_EXPORTS_SYS_CALL_TABLE
LINUX_EXPORTS_IA32_SYS_CALL_TABLE
if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
linux_syscall_method=none
if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
linux_syscall_method=scan
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
linux_syscall_method=scan_with_kallsyms_address
fi
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
linux_syscall_method=kallsyms_symbol
fi
if test "x$linux_syscall_method" = "xnone"; then
2005-07-11 20:45:47 +01:00
AC_MSG_WARN([no available sys_call_table access method -- guessing scan])
linux_syscall_method=scan
2004-12-01 23:21:18 +00:00
fi
fi
fi
if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
fi
if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
fi
if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
fi
2006-08-13 18:45:48 +01:00
if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
AC_DEFINE(EXPORTED_SYS_OPEN, 1, [define if your linux kernel exports sys_open])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
2008-09-25 16:41:02 +01:00
AC_DEFINE(EXPORTED_SYS_CALL_TABLE, 1, [define if your linux kernel exports sys_call_table])
2004-12-01 23:21:18 +00:00
fi
if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
2008-09-25 16:41:02 +01:00
AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE, 1, [define if your linux kernel exports ia32_sys_call_table])
2004-12-01 23:21:18 +00:00
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
2008-09-25 16:41:02 +01:00
AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL, 1, [define if your linux kernel exports kallsyms])
2004-12-01 23:21:18 +00:00
fi
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
2008-09-25 16:41:02 +01:00
AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS, 1, [define if your linux kernel exports kallsyms address])
2004-12-01 23:21:18 +00:00
fi
if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
fi
2006-12-28 21:28:31 +00:00
if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
fi
2007-10-24 17:44:26 +01:00
if test "x$ac_cv_linux_exportfs_h_exists" = "xyes"; then
AC_DEFINE(EXPORTFS_H_EXISTS, 1, [define if linux/exportfs.h exists])
fi
2007-11-23 13:37:24 +00:00
if test "x$ac_cv_linux_key_type_h_exists" = "xyes" ; then
AC_DEFINE(KEY_TYPE_H_EXISTS, 1, [define if key-type.h exists])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
fi
if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
AC_DEFINE(DEFINED_PREV_TASK, 1, [define if prev_task defined])
fi
if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void])
fi
2005-07-11 20:45:47 +01:00
if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
AC_DEFINE(STRUCT_SUPER_HAS_ALLOC_INODE, 1, [define if your struct super_operations has alloc_inode])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if your struct inode has alloc_sem])
fi
2006-09-19 23:33:10 +01:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_BLKSIZE, 1, [define if your struct inode has i_blksize])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security])
fi
2006-03-09 06:05:46 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_MUTEX, 1, [define if you struct inode has i_mutex])
fi
2009-12-26 18:22:32 +00:00
if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then
2004-12-01 23:21:18 +00:00
AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
fi
2007-05-17 08:34:15 +01:00
if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
2007-05-17 20:28:10 +01:00
AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
2007-05-17 08:34:15 +01:00
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
AC_DEFINE(LINUX_KERNEL_SOCK_CREATE_V, 1, [define if your linux kernel uses 5 arguments for sock_create])
fi
2004-12-09 16:16:55 +00:00
if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
AC_DEFINE(HAVE_KERNEL_PAGE_FOLLOW_LINK, 1, [define if your linux kernel provides page_follow_link])
fi
2008-06-03 04:53:54 +01:00
if test "x$ac_cv_linux_kernel_hlist_unhashed" = "xyes" ; then
2008-05-20 23:02:49 +01:00
AC_DEFINE(HAVE_KERNEL_HLIST_UNHASHED, 1, [define if your linux kernel provides hlist_unhashed])
fi
2005-05-08 08:05:09 +01:00
if test "x$ac_linux_seq_file" = "xyes" ; then
AC_DEFINE(HAVE_KERNEL_LINUX_SEQ_FILE_H, 1, [define if your linux kernel has linux/seq_file.h])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_PARENT, 1, [define if your struct task_struct has parent])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_REAL_PARENT, 1, [define if your struct task_struct has real_parent])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig])
fi
2005-01-14 17:36:39 +00:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim])
fi
if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim])
fi
2005-01-16 16:41:33 +00:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state])
fi
2007-02-08 22:37:41 +00:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TGID, 1, [define if your struct task_struct has tgid])
fi
2006-12-28 21:28:31 +00:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
fi
2007-06-12 07:41:06 +01:00
if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then
AC_DEFINE(STRUCT_TASK_STRUCT_HAS_THREAD_INFO, 1, [define if your struct task_struct has thread_info])
fi
2006-08-28 21:11:31 +01:00
if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
fi
2006-11-09 23:40:20 +00:00
if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
AC_DEFINE(STATFS_TAKES_DENTRY, 1, [define if your statfs takes a dentry argument])
fi
2006-08-04 17:42:55 +01:00
if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
AC_DEFINE(AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL, 1, [define if your aops.writepage takes a struct writeback_control argument])
fi
if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
AC_DEFINE(LINUX_REFRIGERATOR_TAKES_PF_FREEZE, 1, [define if your refrigerator takes PF_FREEZE])
fi
if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
AC_DEFINE(IOP_CREATE_TAKES_NAMEIDATA, 1, [define if your iops.create takes a nameidata argument])
fi
2007-06-12 20:32:19 +01:00
if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
AC_DEFINE(FOP_FLUSH_TAKES_FL_OWNER_T, 1, [define if your fops.flush takes an fl_owner_t argument])
fi
2006-08-04 17:42:55 +01:00
if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
AC_DEFINE(IOP_LOOKUP_TAKES_NAMEIDATA, 1, [define if your iops.lookup takes a nameidata argument])
fi
if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
AC_DEFINE(IOP_PERMISSION_TAKES_NAMEIDATA, 1, [define if your iops.permission takes a nameidata argument])
fi
if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
AC_DEFINE(DOP_REVALIDATE_TAKES_NAMEIDATA, 1, [define if your dops.d_revalidate takes a nameidata argument])
fi
2006-12-28 21:28:31 +00:00
if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
AC_DEFINE(INIT_WORK_HAS_DATA, 1, [define if INIT_WORK takes a data (3rd) argument])
fi
2007-02-03 03:23:16 +00:00
if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_FLOCK, 1, [define if your struct file_operations has flock])
fi
2007-10-05 05:07:27 +01:00
if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
fi
2007-11-06 18:30:19 +00:00
if test "x$ac_cv_linux_fs_struct_fop_has_splice" = "xyes" ; then
AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SPLICE, 1, [define if your struct file_operations has splice_write and splice_read])
fi
2007-02-22 21:46:13 +00:00
if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
fi
2007-11-23 13:37:24 +00:00
if test "x$ac_cv_linux_sysctl_table_checking" = "xyes" ; then
AC_DEFINE(SYSCTL_TABLE_CHECKING, 1, [define if your kernel has sysctl table checking])
fi
2008-03-10 18:50:47 +00:00
if test "x$ac_cv_linux_have_iget" = "xyes" ; then
AC_DEFINE(HAVE_IGET, 1, [define if your kernel has iget])
fi
if test "x$ac_cv_linux_struct_nameidata_has_path" = "xyes" ; then
AC_DEFINE(STRUCT_NAMEIDATA_HAS_PATH, 1, [define if your struct nameidata has path])
fi
2008-04-07 05:48:45 +01:00
if test "x$ac_cv_linux_exports_init_mm" = "xyes" ; then
AC_DEFINE(EXPORTED_INIT_MM, 1, [define if your kernel exports init_mm])
fi
2007-02-09 01:30:00 +00:00
if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
fi
2007-10-05 05:07:27 +01:00
if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists])
fi
2007-11-23 13:37:24 +00:00
if test "x$ac_cv_linux_kmem_cache_init" = "xyes" ; then
AC_DEFINE(KMEM_CACHE_INIT, 1, [define for new kmem_cache init function parameters])
fi
if test "x$ac_cv_linux_have_current_kernel_time" = "xyes" ; then
AC_DEFINE(HAVE_CURRENT_KERNEL_TIME, 1, [define if current_kernel_time() exists])
fi
2007-10-05 05:07:27 +01:00
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
2007-04-18 20:18:35 +01:00
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
AC_MSG_WARN([your kernel does not have a usable symlink cache API])
fi
2007-10-24 17:44:26 +01:00
if test "x$ac_cv_linux_have_svc_addr_in" = "xyes"; then
AC_DEFINE(HAVE_SVC_ADDR_IN, 1, [define if svc_add_in exists])
fi
2004-12-01 23:21:18 +00:00
:
fi
esac
2002-02-16 18:23:44 +00:00
AC_CACHE_VAL(ac_cv_sockaddr_len,
[
AC_MSG_CHECKING([if struct sockaddr has sa_len field])
AC_TRY_COMPILE( [#include <sys/types.h>
#include <sys/socket.h>],
[struct sockaddr *a;
a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
AC_MSG_RESULT($ac_cv_sockaddr_len)])
if test "$ac_cv_sockaddr_len" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
2002-02-16 18:23:44 +00:00
fi
2001-10-09 16:48:25 +01:00
if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
echo Skipping library tests because they confuse Irix.
else
2009-07-18 19:38:22 +01:00
AC_SEARCH_LIBS([socket], [socket inet])
AC_SEARCH_LIBS([connect], [nsl])
AC_SEARCH_LIBS([gethostbyname], [dns nsl resolv])
2001-10-09 16:48:25 +01:00
2004-03-10 08:35:38 +00:00
dnl darwin wants it, aix hates it
AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
AC_TRY_COMPILE([
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <arpa/nameser.h>
#include <arpa/nameser_compat.h>
#include <resolv.h>
], [static int i; i = 0;],
[AC_MSG_RESULT(yes)
2008-09-25 16:41:02 +01:00
AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H, 1, [define if arpa/nameser_compat.h exists])],
2004-03-10 08:35:38 +00:00
[AC_MSG_RESULT(no)
])
2003-04-29 01:05:57 +01:00
openafs_save_libs="$LIBS"
AC_MSG_CHECKING([for res_search])
AC_FUNC_RES_SEARCH
2001-10-09 16:48:25 +01:00
if test "$ac_cv_func_res_search" = no; then
2003-04-29 01:05:57 +01:00
for lib in dns nsl resolv; do
if test "$ac_cv_func_res_search" != yes; then
LIBS="-l$lib $LIBS"
AC_FUNC_RES_SEARCH
LIBS="$openafs_save_libs"
fi
done
if test "$ac_cv_func_res_search" = yes; then
2009-12-24 15:14:46 +00:00
LIB_AFSDB="-l$lib"
2003-04-29 01:05:57 +01:00
AC_DEFINE(HAVE_RES_SEARCH, 1, [])
AC_MSG_RESULT([yes, in lib$lib])
else
AC_MSG_RESULT(no)
fi
else
AC_DEFINE(HAVE_RES_SEARCH, 1, [])
AC_MSG_RESULT(yes)
fi
2001-10-09 16:48:25 +01:00
fi
2008-05-21 06:22:13 +01:00
AC_CACHE_VAL(ac_cv_setsockopt_iprecverr,
[
AC_MSG_CHECKING([for setsockopt(, SOL_IP, IP_RECVERR)])
AC_TRY_COMPILE( [#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>],
[int on=1;
setsockopt(0, SOL_IP, IP_RECVERR, &on, sizeof(on));], ac_cv_setsockopt_iprecverr=yes, ac_cv_setsockopt_iprecverr=no)
AC_MSG_RESULT($ac_cv_setsockopt_iprecverr)])
if test "$ac_cv_setsockopt_iprecverr" = "yes"; then
AC_DEFINE(ADAPT_PMTU_RECVERR, 1, [define if asynchronous socket errors can be received])
fi
2001-10-09 16:48:25 +01:00
PTHREAD_LIBS=error
2006-03-09 15:27:17 +00:00
if test "x$MKAFS_OSTYPE" = OBSD; then
PTHREAD_LIBS="-pthread"
fi
2009-04-27 20:29:09 +01:00
if test "x$MKAFS_OSTYPE" = xDFBSD; then
PTHREAD_LIBS="-pthread"
fi
2006-03-09 15:27:17 +00:00
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(pthread, pthread_attr_init,
PTHREAD_LIBS="-lpthread")
fi
2001-10-09 16:48:25 +01:00
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(pthreads, pthread_attr_init,
PTHREAD_LIBS="-lpthreads")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_LIB(c_r, pthread_attr_init,
PTHREAD_LIBS="-lc_r")
fi
if test "x$PTHREAD_LIBS" = xerror; then
AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
fi
2005-10-03 04:44:42 +01:00
if test "x$PTHREAD_LIBS" = xerror; then
# pthread_attr_init is a macro under HPUX 11.0 and 11.11
AC_CHECK_LIB(pthread, pthread_attr_destroy,
PTHREAD_LIBS="-lpthread")
fi
2001-10-09 16:48:25 +01:00
if test "x$PTHREAD_LIBS" = xerror; then
AC_MSG_WARN(*** Unable to locate working posix thread library ***)
fi
AC_SUBST(PTHREAD_LIBS)
2006-01-20 16:40:24 +00:00
HOST_CPU="$host_cpu"
2003-06-30 21:44:50 +01:00
if test "x$with_bsd_kernel_headers" != "x"; then
BSD_KERNEL_PATH="$with_bsd_kernel_headers"
else
BSD_KERNEL_PATH="/usr/src/sys"
fi
2004-03-10 23:01:50 +00:00
if test "x$with_bsd_kernel_build" != "x"; then
BSD_KERNEL_BUILD="$with_bsd_kernel_build"
else
case $AFS_SYSNAME in
2006-01-20 16:40:24 +00:00
*_fbsd_4?)
2004-03-10 23:01:50 +00:00
BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
;;
2006-01-20 16:40:24 +00:00
*_fbsd_*)
BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/${HOST_CPU}/compile/GENERIC"
2004-03-10 23:01:50 +00:00
;;
esac
fi
2001-10-09 16:48:25 +01:00
# Fast restart
2003-01-15 17:36:07 +00:00
if test "$enable_supergroups" = "yes"; then
AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
fi
2001-10-09 16:48:25 +01:00
if test "$enable_fast_restart" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
2001-10-09 16:48:25 +01:00
fi
if test "$enable_bitmap_later" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
2001-10-09 16:48:25 +01:00
fi
2006-03-17 19:54:26 +00:00
if test "$enable_demand_attach_fs" = "yes"; then
AC_DEFINE(DEMAND_ATTACH_ENABLE, 1, [define if you want the demand attach fileserver])
DEMAND_ATTACH="yes"
else
DEMAND_ATTACH="no"
fi
AC_SUBST(DEMAND_ATTACH)
2008-05-23 16:57:18 +01:00
if test "$enable_disconnected" = "yes"; then
AC_DEFINE(AFS_DISCON_ENV, 1, [define if you want support for disconnected operation])
fi
2007-02-08 23:59:16 +00:00
if test "$enable_unix_sockets" = "yes"; then
AC_DEFINE(USE_UNIX_SOCKETS, 1, [define if you want to use UNIX sockets for fssync.])
USE_UNIX_SOCKETS="yes"
else
USE_UNIX_SOCKETS="no"
fi
AC_SUBST(USE_UNIX_SOCKETS)
2006-03-17 19:54:26 +00:00
if test "$enable_fast_restart" = "yes" &&
test "$enable_demand_attach_fs" = "yes" ; then
AC_MSG_ERROR([The Demand Attach and Fast Restart extensions are mutually exclusive. Demand Attach fileservers automatically salvage volumes in the background, thereby making Fast Restart pointless.])
exit 1
fi
2008-05-21 06:22:13 +01:00
if test "$enable_icmp_pmtu_discovery" = "yes"; then
if test "$ac_cv_setsockopt_iprecverr" = "yes"; then
AC_DEFINE(ADAPT_PMTU, 1, [define if you want to decode icmp unreachable packets to discover path mtu])
fi
fi
2008-09-25 13:42:02 +01:00
if test "$enable_cache_bypass" = "yes"; then
AC_DEFINE(AFS_CACHE_BYPASS, 1, [define to activate cache bypassing Unix client])
fi
2001-10-09 16:48:25 +01:00
if test "$enable_namei_fileserver" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
2009-06-02 19:39:28 +01:00
VFSCK=""
2008-08-16 23:37:29 +01:00
else
if test "$enable_namei_fileserver" = "default"; then
case $host in
*-solaris2.10*)
AC_MSG_WARN(Some Solaris 10 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver)
AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
2009-06-02 19:39:28 +01:00
VFSCK=""
2008-08-16 23:37:29 +01:00
;;
*-solaris2.11*)
AC_MSG_WARN(Solaris 11 versions are not safe with the inode fileserver. Forcing namei. Override with --disable-namei-fileserver)
AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
2009-06-02 19:39:28 +01:00
VFSCK=""
2008-08-16 23:37:29 +01:00
;;
*)
2009-06-02 19:39:28 +01:00
VFSCK="vfsck"
2008-08-16 23:37:29 +01:00
;;
esac
2009-06-02 19:39:28 +01:00
else
VFSCK="vfsck"
2008-08-16 23:37:29 +01:00
fi
2001-10-09 16:48:25 +01:00
fi
2001-10-10 01:57:05 +01:00
dnl check for tivoli
AC_MSG_CHECKING(for tivoli tsm butc support)
XBSA_CFLAGS=""
if test "$enable_tivoli_tsm" = "yes"; then
XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
2008-07-11 11:49:33 +01:00
XBSADIR3=/usr/tivoli/tsm/client/api/bin/sample
XBSADIR4=/opt/tivoli/tsm/client/api/bin/sample
2001-10-10 01:57:05 +01:00
2008-10-07 20:51:25 +01:00
if test -r "$XBSADIR3/dsmapifp.h"; then
2008-07-11 11:49:33 +01:00
XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR3"
XBSA_XLIBS="-ldl"
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
elif test -r "$XBSADIR4/dsmapifp.h"; then
XBSA_CFLAGS="-Dxbsa -DNEW_XBSA -I$XBSADIR4"
XBSA_XLIBS="-ldl"
2001-10-10 01:57:05 +01:00
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
2008-10-07 20:51:25 +01:00
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])
2001-10-10 01:57:05 +01:00
else
2008-07-11 11:49:33 +01:00
AC_MSG_RESULT([no, missing xbsa.h and dsmapifp.h header files])
2001-10-10 01:57:05 +01:00
fi
else
AC_MSG_RESULT([no])
fi
AC_SUBST(XBSA_CFLAGS)
2008-07-11 11:49:33 +01:00
AC_SUBST(XBSA_XLIBS)
2001-10-10 01:57:05 +01:00
2001-10-09 16:48:25 +01:00
dnl checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
2009-12-26 18:22:32 +00:00
AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h grp.h)
2001-10-09 16:48:25 +01:00
AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
2003-06-03 06:31:08 +01:00
AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
2009-12-26 18:22:32 +00:00
AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h sys/pag.h)
AC_CHECK_HEADERS(windows.h direct.h sys/ipc.h)
AC_CHECK_HEADERS(security/pam_modules.h ucontext.h regex.h sys/statvfs.h sys/statfs.h sys/bitypes.h)
2008-05-21 06:22:13 +01:00
AC_CHECK_HEADERS(linux/errqueue.h,,,[#include <linux/types.h>])
2009-11-17 22:59:58 +00:00
AC_CHECK_HEADERS(et/com_err.h)
2001-10-09 16:48:25 +01:00
2009-05-13 23:34:56 +01:00
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
])
2010-02-03 15:16:53 +00:00
OPENAFS_TEST_PACKAGE(libintl,[#include <libintl.h>],[-lintl],,,INTL)
2006-08-02 19:42:54 +01:00
dnl Don't build PAM on IRIX; the interface doesn't work for us.
2004-03-25 23:25:50 +00:00
if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
2006-08-02 19:42:54 +01:00
case $AFS_SYSNAME in
sgi_*)
HAVE_PAM="no"
;;
*)
HAVE_PAM="yes"
;;
esac
2003-07-01 21:27:54 +01:00
else
HAVE_PAM="no"
fi
AC_SUBST(HAVE_PAM)
2004-03-25 23:25:50 +00:00
if test "$enable_login" = yes; then
BUILD_LOGIN="yes"
else
BUILD_LOGIN="no"
fi
AC_SUBST(BUILD_LOGIN)
2009-12-26 18:22:32 +00:00
AC_CHECK_FUNCS(snprintf strlcat strlcpy flock)
2005-08-12 23:26:09 +01:00
AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr)
2009-07-11 00:48:42 +01:00
AC_CHECK_FUNCS(setvbuf vsyslog getcwd)
2003-10-10 16:08:31 +01:00
AC_CHECK_FUNCS(regcomp regexec regerror)
AC_MSG_CHECKING([for POSIX regex library])
if test "$ac_cv_header_regex_h" = "yes" && \
test "$ac_cv_func_regcomp" = "yes" && \
test "$ac_cv_func_regexec" = "yes" && \
test "$ac_cv_func_regerror" = "yes"; then
AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
2006-08-02 18:47:29 +01:00
2009-03-16 16:14:12 +00:00
AC_TYPE_SOCKLEN_T
2006-08-02 18:47:29 +01:00
AC_TYPE_SIGNAL
2009-09-29 15:26:23 +01:00
AC_CHECK_SIZEOF(void *)
2010-01-04 22:57:30 +00:00
AC_CHECK_SIZEOF(unsigned long long)
AC_CHECK_SIZEOF(unsigned long)
AC_CHECK_SIZEOF(unsigned int)
2009-08-28 22:03:44 +01:00
AC_TYPE_INTPTR_T
AC_TYPE_UINTPTR_T
2002-08-21 21:19:28 +01:00
AC_CHECK_TYPE(ssize_t, int)
2006-08-02 18:47:29 +01:00
AC_CHECK_TYPE([sig_atomic_t], ,
[AC_DEFINE([sig_atomic_t], [int],
[Define to int if <signal.h> does not define.])],
[#include <sys/types.h>
#include <signal.h>])
2002-11-16 03:12:30 +00:00
AC_SIZEOF_TYPE(long)
2001-10-09 16:48:25 +01:00
2010-01-14 23:56:49 +00:00
AC_HEADER_PAM_CONST
2002-10-01 11:50:26 +01:00
AC_CHECK_FUNCS(timegm)
2005-04-24 16:16:21 +01:00
AC_CHECK_FUNCS(daemon)
2002-10-01 11:50:26 +01:00
2001-10-09 16:48:25 +01:00
dnl Directory PATH handling
if test "x$enable_transarc_paths" = "xyes" ; then
afsconfdir=${afsconfdir=/usr/afs/etc}
viceetcdir=${viceetcdir=/usr/vice/etc}
afskerneldir=${afskerneldir=${viceetcdir}}
afssrvbindir=${afssrvbindir=/usr/afs/bin}
afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
afsdbdir=${afsdbdir=/usr/afs/db}
afslogsdir=${afslogsdir=/usr/afs/logs}
afslocaldir=${afslocaldir=/usr/afs/local}
afsbackupdir=${afsbackupdir=/usr/afs/backup}
afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
2009-07-15 07:22:00 +01:00
afsdatadir=${afsdatadir=/usr/vice/etc}
2001-10-11 22:34:50 +01:00
else
afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
afskerneldir=${afskerneldir='${libdir}/openafs'}
afssrvbindir=${afssrvbindir='${bindir}'}
afssrvsbindir=${afssrvsbindir='${sbindir}'}
afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
afslocaldir=${afslocaldir='${localstatedir}/openafs'}
afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
2009-07-15 07:22:00 +01:00
afsdatadir=${afsdatadir='${datadir}/openafs'}
2001-10-09 16:48:25 +01:00
fi
AC_SUBST(afsconfdir)
AC_SUBST(viceetcdir)
AC_SUBST(afskerneldir)
AC_SUBST(afssrvbindir)
AC_SUBST(afssrvsbindir)
AC_SUBST(afssrvlibexecdir)
AC_SUBST(afsdbdir)
AC_SUBST(afslogsdir)
AC_SUBST(afslocaldir)
AC_SUBST(afsbackupdir)
AC_SUBST(afsbosconfigdir)
2009-07-15 07:22:00 +01:00
AC_SUBST(afsdatadir)
2001-10-09 16:48:25 +01:00
if test "x$enable_kernel_module" = "xyes"; then
ENABLE_KERNEL_MODULE=libafs
fi
2008-04-02 21:47:27 +01:00
if test "x$enable_pthreaded_ubik" = "xyes"; then
ENABLE_PTHREADED_UBIK=yes
fi
2009-06-02 19:39:28 +01:00
AC_SUBST(VFSCK)
2001-10-09 16:48:25 +01:00
AC_SUBST(AFS_SYSNAME)
2002-01-18 18:45:27 +00:00
AC_SUBST(AFS_PARAM_COMMON)
2001-10-09 16:48:25 +01:00
AC_SUBST(ENABLE_KERNEL_MODULE)
2008-04-02 21:47:27 +01:00
AC_SUBST(ENABLE_PTHREADED_UBIK)
2001-10-09 16:48:25 +01:00
AC_SUBST(LIB_AFSDB)
AC_SUBST(LINUX_KERNEL_PATH)
2008-10-12 20:01:58 +01:00
AC_SUBST(LINUX_KERNEL_BUILD)
2006-01-20 16:40:24 +00:00
AC_SUBST(HOST_CPU)
2003-06-30 21:44:50 +01:00
AC_SUBST(BSD_KERNEL_PATH)
2004-03-10 23:01:50 +00:00
AC_SUBST(BSD_KERNEL_BUILD)
2001-10-09 16:48:25 +01:00
AC_SUBST(LINUX_VERSION)
AC_SUBST(MKAFS_OSTYPE)
2001-10-18 01:06:58 +01:00
AC_SUBST(TOP_OBJDIR)
2001-10-09 16:48:25 +01:00
AC_SUBST(TOP_SRCDIR)
AC_SUBST(TOP_INCDIR)
AC_SUBST(TOP_LIBDIR)
AC_SUBST(DEST)
AC_SUBST(DARWIN_INFOFILE)
2001-11-01 05:05:26 +00:00
AC_SUBST(IRIX_BUILD_IP35)
2009-05-27 21:44:24 +01:00
AC_SUBST(HTML_XSL)
AC_SUBST(XSLTPROC)
2001-10-09 16:48:25 +01:00
2001-11-01 04:59:26 +00:00
OPENAFS_OSCONF
2005-06-19 03:06:21 +01:00
OPENAFS_KRB5CONF
2001-11-01 04:59:26 +00:00
2002-10-16 05:58:13 +01:00
TOP_SRCDIR="${srcdir}/src"
dnl
dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
dnl
case $TOP_SRCDIR in
/*)
;;
*)
2003-02-13 06:51:14 +00:00
TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
;;
2002-10-16 05:58:13 +01:00
esac
TOP_OBJDIR="${SRCDIR_PARENT}"
TOP_INCDIR="${SRCDIR_PARENT}/include"
TOP_LIBDIR="${SRCDIR_PARENT}/lib"
if test "${DEST}x" = "x"; then
DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
fi
2003-07-02 03:03:17 +01:00
HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
AC_SUBST(HELPER_SPLINT)
AC_SUBST(HELPER_SPLINTCFG)
2005-06-22 19:35:20 +01:00
mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
2002-10-16 05:58:13 +01:00
2001-10-09 16:48:25 +01:00
])