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],[
2001-10-09 16:48:25 +01:00
AC_CANONICAL_HOST
SRCDIR_PARENT=`pwd`
2002-12-10 15:57:25 +00:00
#BOZO_SAVE_CORES pam sia
2001-10-09 16:48:25 +01:00
AC_ARG_WITH(afs-sysname,
[ --with-afs-sysname=sys use sys for the afs sysname]
)
AC_ARG_ENABLE( obsolete,
2005-04-03 20:32:20 +01:00
[ --enable-obsolete enable obsolete portions of AFS (mpp and package)],, enable_obsolete="no")
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE( afsdb,
2006-03-20 04:45:06 +00:00
[ --disable-afsdb disable AFSDB DNS RR support],, enable_afsdb="yes")
2004-03-25 23:25:50 +00:00
AC_ARG_ENABLE( pam,
[ --disable-pam disable PAM support],, enable_pam="yes")
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE( bos-restricted-mode,
[ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
2002-12-10 15:57:25 +00:00
AC_ARG_ENABLE( bos-new-config,
[ --enable-bos-new-config enable bosserver pickup of BosConfig.new on restarts],, enable_bos_new_config="no")
2003-12-05 08:35:57 +00:00
AC_ARG_ENABLE( largefile-fileserver,
2005-10-15 17:40:14 +01:00
[ --disable-largefile-fileserver disable large file support in fileserver],, enable_largefile_fileserver="yes")
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE( namei-fileserver,
[ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
2003-01-15 17:36:07 +00:00
AC_ARG_ENABLE( supergroups,
[ --enable-supergroups enable support for nested pts groups],, enable_supergroups="no")
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE( fast-restart,
[ --enable-fast-restart enable fast startup of file server without salvaging],, enable_fast_restart="no")
AC_ARG_ENABLE( bitmap-later,
[ --enable-bitmap-later enable fast startup of file server by not reading bitmap till needed],, enable_bitmap_later="no")
2006-03-17 19:54:26 +00:00
AC_ARG_ENABLE( demand-attach-fs,
[ --enable-demand-attach-fs enable Demand Attach Fileserver (please see documentation)],, enable_demand_attach_fs="no")
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE( full-vos-listvol-switch,
2003-12-04 19:53:37 +00:00
[ --disable-full-vos-listvol-switch disable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="yes")
2001-10-09 16:48:25 +01:00
AC_ARG_WITH(dux-kernel-headers,
[ --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,
2004-10-18 20:39:16 +01:00
[ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)]
2001-10-09 16:48:25 +01:00
)
2003-06-30 21:44:50 +01:00
AC_ARG_WITH(bsd-kernel-headers,
[ --with-bsd-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/sys)]
)
2004-03-10 23:01:50 +00:00
AC_ARG_WITH(bsd-kernel-build,
[ --with-bsd-kernel-build=path use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)]
)
2001-10-09 16:48:25 +01:00
AC_ARG_ENABLE(kernel-module,
[ --disable-kernel-module disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
)
AC_ARG_ENABLE(redhat-buildsys,
[ --enable-redhat-buildsys enable compilation of the redhat build system kernel (defaults to disabled)],, enable_redhat_buildsys="no"
)
AC_ARG_ENABLE(transarc-paths,
[ --enable-transarc-paths Use Transarc style paths like /usr/afs and /usr/vice],, enable_transarc_paths="no"
)
2001-10-10 01:57:05 +01:00
AC_ARG_ENABLE(tivoli-tsm,
[ --enable-tivoli-tsm Enable use of the Tivoli TSM API libraries for butc support],, enable_tivoli_tsm="no"
)
2002-03-10 18:39:45 +00:00
AC_ARG_ENABLE(debug-kernel,
[ --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled)],, enable_debug_kernel="no"
)
2003-01-11 07:33:52 +00:00
AC_ARG_ENABLE(optimize-kernel,
[ --disable-optimize-kernel disable compilation of the kernel module with optimization (defaults based on platform)],, enable_optimize_kernel="yes"
)
AC_ARG_ENABLE(debug,
[ --enable-debug enable compilation of the user space code with debugging information (defaults to disabled)],, enable_debug="no"
)
AC_ARG_ENABLE(optimize,
[ --disable-optimize disable optimization for compilation of the user space code (defaults to enabled)],, enable_optimize="yes"
)
AC_ARG_ENABLE(debug-lwp,
[ --enable-debug-lwp enable compilation of the LWP code with debugging information (defaults to disabled)],, enable_debug_lwp="no"
)
AC_ARG_ENABLE(optimize-lwp,
[ --disable-optimize-lwp disable optimization for compilation of the LWP code (defaults to enabled)],, enable_optimize_lwp="yes"
)
2006-04-26 17:36:21 +01:00
AC_ARG_ENABLE(debug-pam,
[ --enable-debug-pam enable compilation of the PAM code with debugging information (defaults to disabled)],, enable_debug_pam="no"
)
AC_ARG_ENABLE(optimize-pam,
[ --disable-optimize-pam disable optimization for compilation of the PAM code (defaults to enabled)],, enable_optimize_pam="yes"
)
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
AC_AIX
AC_ISC_POSIX
AC_MINIX
dnl Various compiler setup.
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SIGNAL
2004-04-26 23:39:33 +01:00
COMPILER_HAS_FUNCTION_MACRO
2001-10-09 16:48:25 +01:00
dnl Checks for programs.
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_RANLIB
AC_PROG_YACC
AM_PROG_LEX
OPENAFS_CHECK_BIGENDIAN
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
2005-03-20 15:07:19 +00:00
LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
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
if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
2003-11-15 03:02:23 +00:00
linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
2001-10-09 16:48:25 +01:00
if test "x$linux_kvers" = "x"; then
if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
2003-11-15 03:02:23 +00:00
linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
2001-10-09 16:48:25 +01:00
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
if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
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)
SOLARIS_UFSVFS_HAS_DQRWLOCK
2002-02-15 05:07:13 +00:00
SOLARIS_PROC_HAS_P_COREFILE
2003-03-28 21:26:20 +00:00
SOLARIS_FS_HAS_FS_ROLLED
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)
if test "x$enable_kernel_module" = "xyes"; then
if test "x$with_dux_kernel_headers" != "x"; then
HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
else
HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
fi
fi
if test "$HEADER_RT" = "*" ; then
AC_MSG_ERROR([Need a configured kernel directory])
fi
AC_SUBST([HEADER_RT])
;;
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)
;;
2001-10-09 16:48:25 +01:00
*-freebsd*)
MKAFS_OSTYPE=FBSD
AC_MSG_RESULT(i386_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
;;
2001-10-09 16:48:25 +01:00
*-openbsd*)
MKAFS_OSTYPE=OBSD
AC_MSG_RESULT(i386_obsd)
;;
*)
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}"
;;
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
;;
2002-01-01 18:57:18 +00:00
i?86-*-netbsd*1.5*)
2002-01-18 18:45:27 +00:00
AFS_PARAM_COMMON=param.nbsd15.h
2002-01-01 18:57:18 +00:00
AFS_SYSNAME="i386_nbsd15"
;;
2002-01-18 18:45:27 +00:00
alpha-*-netbsd*1.5*)
AFS_PARAM_COMMON=param.nbsd15.h
AFS_SYSNAME="alpha_nbsd15"
;;
2003-02-03 23:10:38 +00:00
i?86-*-netbsd*1.6[[M-Z]]*)
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="i386_nbsd20"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*1.6[[M-Z]]*)
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="ppc_nbsd20"
;;
2003-02-03 23:10:38 +00:00
i?86-*-netbsd*2.0*)
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="i386_nbsd20"
;;
2005-10-15 16:16:07 +01:00
amd64-*-netbsd*2.0*)
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="amd64_nbsd20"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*2.0*)
AFS_PARAM_COMMON=param.nbsd20.h
AFS_SYSNAME="ppc_nbsd20"
;;
2002-06-30 19:13:36 +01:00
i?86-*-netbsd*1.6*)
AFS_PARAM_COMMON=param.nbsd16.h
AFS_SYSNAME="i386_nbsd16"
;;
alpha-*-netbsd*1.6*)
AFS_PARAM_COMMON=param.nbsd16.h
AFS_SYSNAME="alpha_nbsd16"
;;
2003-03-16 14:30:15 +00:00
powerpc-*-netbsd*1.6*)
AFS_PARAM_COMMON=param.nbsd16.h
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_PARAM_COMMON=param.nbsd21.h
AFS_SYSNAME="i386_nbsd21"
;;
2005-01-14 01:07:45 +00:00
i?86-*-netbsd*2.99*)
AFS_PARAM_COMMON=param.nbsd30.h
AFS_SYSNAME="i386_nbsd30"
;;
i?86-*-netbsd*3.0*)
AFS_PARAM_COMMON=param.nbsd30.h
AFS_SYSNAME="i386_nbsd30"
;;
2005-06-02 06:27:27 +01:00
i?86-*-netbsd*3.99*)
AFS_PARAM_COMMON=param.nbsd30.h
AFS_SYSNAME="i386_nbsd30"
;;
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"
;;
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"
;;
powerpc-apple-darwin1.2*)
AFS_SYSNAME="ppc_darwin_12"
;;
powerpc-apple-darwin1.3*)
AFS_SYSNAME="ppc_darwin_13"
;;
powerpc-apple-darwin1.4*)
AFS_SYSNAME="ppc_darwin_14"
2002-01-01 19:01:54 +00:00
;;
powerpc-apple-darwin5.1*)
2002-01-28 21:32:20 +00:00
AFS_SYSNAME="ppc_darwin_14"
;;
powerpc-apple-darwin5.2*)
AFS_SYSNAME="ppc_darwin_14"
2001-10-09 16:48:25 +01:00
;;
2002-04-25 23:44:53 +01:00
powerpc-apple-darwin5.3*)
AFS_SYSNAME="ppc_darwin_14"
;;
powerpc-apple-darwin5.4*)
AFS_SYSNAME="ppc_darwin_14"
;;
2002-06-08 03:29:50 +01:00
powerpc-apple-darwin5.5*)
AFS_SYSNAME="ppc_darwin_14"
;;
2002-08-22 00:07:52 +01:00
powerpc-apple-darwin6.0*)
AFS_SYSNAME="ppc_darwin_60"
;;
2002-09-26 05:47:32 +01:00
powerpc-apple-darwin6.1*)
AFS_SYSNAME="ppc_darwin_60"
;;
2002-11-12 22:52:12 +00:00
powerpc-apple-darwin6.2*)
AFS_SYSNAME="ppc_darwin_60"
;;
2003-03-31 20:22:04 +01:00
powerpc-apple-darwin6.3*)
AFS_SYSNAME="ppc_darwin_60"
;;
powerpc-apple-darwin6.4*)
AFS_SYSNAME="ppc_darwin_60"
;;
2003-04-10 21:23:23 +01:00
powerpc-apple-darwin6.5*)
AFS_SYSNAME="ppc_darwin_60"
;;
2004-03-17 08:24:13 +00:00
powerpc-apple-darwin7.0*)
AFS_SYSNAME="ppc_darwin_70"
;;
powerpc-apple-darwin7.1*)
AFS_SYSNAME="ppc_darwin_70"
;;
powerpc-apple-darwin7.2*)
AFS_SYSNAME="ppc_darwin_70"
;;
powerpc-apple-darwin7.3*)
AFS_SYSNAME="ppc_darwin_70"
;;
2004-08-08 21:07:09 +01:00
powerpc-apple-darwin7.4*)
AFS_SYSNAME="ppc_darwin_70"
;;
powerpc-apple-darwin7.5*)
AFS_SYSNAME="ppc_darwin_70"
;;
2005-05-08 08:49:43 +01:00
powerpc-apple-darwin8.0*)
AFS_SYSNAME="ppc_darwin_80"
;;
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"
;;
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"
;;
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"
;;
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*)
AFS_SYSNAME="sparc_linuxXX"
;;
sparc64-*-linux*)
AFS_SYSNAME="sparc64_linuxXX"
;;
i?86-*-linux*)
AFS_SYSNAME="i386_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"
;;
2003-04-28 23:38:20 +01:00
x86_64-*-linux-gnu)
AFS_SYSNAME="amd64_linuxXX"
2004-03-25 23:25:50 +00:00
enable_pam="no"
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"
2003-08-11 21:29:21 +01:00
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
AC_TRY_COMPILE(
[#include <linux/autoconf.h>],
[#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
CPPFLAGS="$save_CPPFLAGS"
AFS_SYSNAME="$_AFS_SYSNAME"
2001-10-09 16:48:25 +01:00
;;
esac
AC_MSG_RESULT($AFS_SYSNAME)
fi
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)]
)
LINUX_COMPLETION_H_EXISTS
LINUX_DEFINES_FOR_EACH_PROCESS
LINUX_DEFINES_PREV_TASK
2005-07-11 20:45:47 +01:00
LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
2004-12-01 23:21:18 +00:00
LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
2006-02-15 21:01:49 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED
LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
2005-02-04 21:13:51 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST
2004-12-01 23:21:18 +00:00
LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
2005-03-20 20:37:39 +00:00
LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK
2005-04-14 03:14:21 +01:00
LINUX_FS_STRUCT_INODE_HAS_INOTIFY_SEM
2004-12-01 23:21:18 +00:00
LINUX_INODE_SETATTR_RETURN_TYPE
2004-12-01 23:38:53 +00:00
LINUX_WRITE_INODE_RETURN_TYPE
LINUX_IOP_NAMEIDATA
LINUX_AOP_WRITEBACK_CONTROL
2004-12-01 23:21:18 +00:00
LINUX_KERNEL_LINUX_SYSCALL_H
2005-05-08 08:05:09 +01:00
LINUX_KERNEL_LINUX_SEQ_FILE_H
2004-12-01 23:21:18 +00:00
LINUX_KERNEL_SELINUX
LINUX_KERNEL_SOCK_CREATE
2004-12-09 16:16:55 +00:00
LINUX_KERNEL_PAGE_FOLLOW_LINK
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
2005-08-10 21:21:27 +01:00
LINUX_REFRIGERATOR
2004-12-01 23:21:18 +00:00
LINUX_WHICH_MODULES
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_INIT_MM
LINUX_EXPORTS_KALLSYMS_ADDRESS
LINUX_EXPORTS_KALLSYMS_SYMBOL
LINUX_EXPORTS_SYS_CALL_TABLE
LINUX_EXPORTS_IA32_SYS_CALL_TABLE
LINUX_EXPORTS_SYS_CHDIR
LINUX_EXPORTS_SYS_CLOSE
LINUX_EXPORTS_SYS_WAIT4
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 -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 "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
fi
if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
fi
if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
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)
fi
if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
fi
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
AC_DEFINE(EXPORTED_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])
fi
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
2004-12-01 23:38:53 +00:00
if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
AC_DEFINE(WRITE_INODE_NOT_VOID, 1, [define if your sops.write_inode returns 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_address_space_has_page_lock" = "xyes"; then
AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock])
fi
if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then
AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask])
fi
if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem])
fi
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
if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices])
fi
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
2005-02-10 16:30:41 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers])
fi
2005-03-20 20:37:39 +00:00
if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_LOCK, 1, [define if your struct inode has inotify_lock])
fi
2005-04-24 16:54:03 +01:00
if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then
AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_SEM, 1, [define if your struct inode has inotify_sem])
fi
2004-12-01 23:21:18 +00:00
if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then
AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
fi
if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
fi
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
2004-12-01 23:21:18 +00:00
if test "x$ac_linux_syscall" = "xyes" ; then
AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
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
2004-12-01 23:21:18 +00:00
:
fi
esac
2002-01-01 19:01:54 +00:00
case $AFS_SYSNAME in
*_darwin*)
DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
2002-08-22 02:15:09 +01:00
dnl the test below fails on darwin, even if the CPPFLAGS below
2005-10-13 17:12:00 +01:00
dnl are added. the headers from Kernel.framework must be used
2002-08-22 02:15:09 +01:00
dnl when KERNEL is defined.
2002-08-21 20:52:17 +01:00
2002-08-22 02:15:09 +01:00
dnl really, such a thing isn't guaranteed to work on any
dnl platform until the kernel cflags from MakefileProto are
dnl known to configure
2002-10-28 02:43:56 +00:00
AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
2002-08-22 02:15:09 +01:00
;;
*)
2002-08-21 20:52:17 +01:00
AC_MSG_CHECKING(for definition of struct buf)
2002-08-22 02:15:09 +01:00
dnl save_CPPFLAGS="$CPPFLAGS"
dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
2002-08-21 20:52:17 +01:00
AC_CACHE_VAL(ac_cv_have_struct_buf, [
ac_cv_have_struct_buf=no
AC_TRY_COMPILE(
[#include <sys/buf.h>],
[struct buf x;
printf("%d\n", sizeof(x));],
ac_cv_have_struct_buf=yes,)
]
)
2002-08-22 02:15:09 +01:00
dnl CPPFLAGS="$save_CPPFLAGS"
2002-08-21 20:52:17 +01:00
AC_MSG_RESULT($ac_cv_have_struct_buf)
if test "$ac_cv_have_struct_buf" = yes; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
2002-08-21 20:52:17 +01:00
fi
2002-08-22 02:15:09 +01:00
;;
esac
2002-08-21 20:52:17 +01:00
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
AC_CHECK_FUNCS(socket)
if test "$ac_cv_func_socket" = no; then
for lib in socket inet; do
if test "$HAVE_SOCKET" != 1; then
2002-10-28 02:43:56 +00:00
AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
2001-10-09 16:48:25 +01:00
fi
done
fi
AC_CHECK_FUNCS(connect)
if test "$ac_cv_func_connect" = no; then
for lib in nsl; do
if test "$HAVE_CONNECT" != 1; then
2002-10-28 02:43:56 +00:00
AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
2001-10-09 16:48:25 +01:00
fi
done
fi
AC_CHECK_FUNCS(gethostbyname)
if test "$ac_cv_func_gethostbyname" = no; then
for lib in dns nsl resolv; do
if test "$HAVE_GETHOSTBYNAME" != 1; then
2002-10-28 02:43:56 +00:00
AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
2001-10-09 16:48:25 +01:00
fi
done
fi
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)
AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
[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
LIB_res_search="-l$lib"
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
PTHREAD_LIBS=error
2006-03-09 15:27:17 +00:00
if test "x$MKAFS_OSTYPE" = OBSD; then
PTHREAD_LIBS="-pthread"
fi
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)
WITH_OBSOLETE=NO
if test "$enable_obsolete" = "yes"; then
WITH_OBSOLETE=YES
fi
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)
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
2001-10-09 16:48:25 +01:00
if test "$enable_full_vos_listvol_switch" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
2001-10-09 16:48:25 +01:00
fi
if test "$enable_bos_restricted_mode" = "yes"; then
2002-10-28 02:43:56 +00:00
AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
2001-10-09 16:48:25 +01:00
fi
2002-12-10 15:57:25 +00:00
if test "$enable_bos_new_config" = "yes"; then
AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
fi
2003-12-05 08:35:57 +00:00
if test "$enable_largefile_fileserver" = "yes"; then
AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
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])
2001-10-09 16:48:25 +01:00
fi
if test "$enable_afsdb" = "yes"; then
LIB_AFSDB="$LIB_res_search"
2002-10-28 02:43:56 +00:00
AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
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
2005-05-31 17:43:59 +01:00
if test -r "$XBSADIR1/xbsa.h"; then
2001-10-10 01:57:05 +01:00
XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
2005-05-31 17:43:59 +01:00
elif test -r "$XBSADIR2/xbsa.h"; then
2001-10-10 01:57:05 +01:00
XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
AC_MSG_RESULT([yes, $XBSA_CFLAGS])
else
AC_MSG_RESULT([no, missing xbsa.h header file])
fi
else
AC_MSG_RESULT([no])
fi
AC_SUBST(XBSA_CFLAGS)
2001-10-09 16:48:25 +01:00
dnl checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_CHECK_HEADERS(stdlib.h string.h unistd.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)
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)
2001-10-09 16:48:25 +01:00
AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
2004-03-10 08:35:38 +00:00
AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
2005-10-23 21:05:40 +01:00
AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h values.h)
2001-10-09 16:48:25 +01:00
2004-03-25 23:25:50 +00:00
if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
2003-07-01 21:27:54 +01:00
HAVE_PAM="yes"
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)
2003-06-27 16:01:21 +01:00
AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec)
2005-08-12 23:26:09 +01:00
AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr)
2006-06-07 06:25:38 +01:00
AC_CHECK_FUNCS(setvbuf)
AC_FUNC_SETVBUF_REVERSED
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
2002-08-21 21:19:28 +01:00
AC_CHECK_TYPE(ssize_t, int)
2002-11-16 03:12:30 +00:00
AC_SIZEOF_TYPE(long)
2001-10-09 16:48:25 +01:00
2005-07-07 03:31:05 +01:00
AC_MSG_CHECKING(size of time_t)
AC_CACHE_VAL(ac_cv_sizeof_time_t,
[AC_TRY_RUN([#include <stdio.h>
#include <time.h>
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(time_t));
exit(0);
}], ac_cv_sizeof_time_t=`cat conftestval`, ac_cv_sizeof_time_t=0)
])
AC_MSG_RESULT($ac_cv_sizeof_time_t)
AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t)
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}
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'}
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)
if test "x$enable_kernel_module" = "xyes"; then
ENABLE_KERNEL_MODULE=libafs
fi
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)
AC_SUBST(LIB_AFSDB)
AC_SUBST(LINUX_KERNEL_PATH)
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(WITH_OBSOLETE)
AC_SUBST(DARWIN_INFOFILE)
2001-11-01 05:05:26 +00:00
AC_SUBST(IRIX_BUILD_IP35)
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
])