[OpenAFS-devel] openafs uml
Matt Benjamin
matt@linuxbox.com
Wed, 24 Nov 2004 19:20:58 -0500
This is a multi-part message in MIME format.
--------------020409020802070006080002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
OpenAFS Folk,
Attached please find a patch adding support for building OpenAFS against
i386 Linux 2.6 User-Mode Linux kernels, similar to the existing
umlinux22 and umlinux24 targets.
The patch is against OpenAFS CVS, default tag, pulled today (reviewed
HEAD, doesn't look redundant). The patch only touches build files, and
afs_sysnames.h. There's some extra cleanup in acinclude.m4. (Also
fixes the srcdir typo in comerr/Makefile.in.)
(Testing building i386_linux26 also, but no other targets.)
Matt
--
Matt Benjamin
The Linux Box
206 South Fifth Ave. Suite 150
Ann Arbor, MI 48104
tel. 734-761-4689
fax. 734-769-8938
cel. 734-216-5309
--------------020409020802070006080002
Content-Type: text/x-patch;
name="openafs-uml26.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="openafs-uml26.patch"
diff -Nur openafs/acinclude.m4 openafs-uml26/acinclude.m4
--- openafs/acinclude.m4 2004-11-24 13:57:58.000000000 -0500
+++ openafs-uml26/acinclude.m4 2004-11-24 19:07:42.000000000 -0500
@@ -106,6 +106,7 @@
system=$host
case $system in
*-linux*)
+
MKAFS_OSTYPE=LINUX
if test "x$enable_redhat_buildsys" = "xyes"; then
AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
@@ -156,170 +157,6 @@
SUBARCH=default
fi
AC_MSG_RESULT(linux)
- 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],
- [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)],
- [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
- LINUX_EXPORTS_TASKLIST_LOCK
- 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
- LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
- LINUX_INODE_SETATTR_RETURN_TYPE
- LINUX_KERNEL_LINUX_SYSCALL_H
- LINUX_KERNEL_SELINUX
- LINUX_KERNEL_SOCK_CREATE
- 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
- LINUX_WHICH_MODULES
- if test "x$ac_cv_linux_config_modversions" = "xno"; 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
- AC_MSG_ERROR([no available sys_call_table access method])
- 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_tasklist_lock" = "xyes" ; then
- AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock])
- 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
- 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
- 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
- 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
- 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
- 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
- :
- fi
;;
*-solaris*)
MKAFS_OSTYPE=SOLARIS
@@ -652,7 +489,7 @@
;;
esac
case $AFS_SYSNAME in
- *_linux*)
+ *_linux* | *_umlinux*)
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. Please use the --with-afs-sysname option to configure an AFS sysname.)
@@ -677,6 +514,183 @@
AC_MSG_RESULT($AFS_SYSNAME)
fi
+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],
+ [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)],
+ [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
+ LINUX_EXPORTS_TASKLIST_LOCK
+ 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
+ LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
+ LINUX_INODE_SETATTR_RETURN_TYPE
+ LINUX_KERNEL_LINUX_SYSCALL_H
+ LINUX_KERNEL_SELINUX
+ LINUX_KERNEL_SOCK_CREATE
+ 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
+ LINUX_WHICH_MODULES
+ if test "x$ac_cv_linux_config_modversions" = "xno"; 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
+ AC_MSG_ERROR([no available sys_call_table access method])
+ 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_tasklist_lock" = "xyes" ; then
+ AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock])
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ :
+ fi
+esac
+
case $AFS_SYSNAME in
*_darwin*)
DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
diff -Nur openafs/acinclude.m4.orig openafs-uml26/acinclude.m4.orig
--- openafs/acinclude.m4.orig 1969-12-31 19:00:00.000000000 -0500
+++ openafs-uml26/acinclude.m4.orig 2004-11-24 13:57:58.000000000 -0500
@@ -0,0 +1,1042 @@
+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
+
+AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
+
+AC_CANONICAL_HOST
+SRCDIR_PARENT=`pwd`
+
+#BOZO_SAVE_CORES pam sia
+AC_ARG_WITH(afs-sysname,
+[ --with-afs-sysname=sys use sys for the afs sysname]
+)
+AC_ARG_ENABLE( obsolete,
+[ --enable-obsolete enable obsolete portions of AFS (mpp, ntp and package)],, enable_obsolete="no")
+AC_ARG_ENABLE( insecure,
+[ --enable-insecure enable insecure portions of AFS (ftpd, inetd, rcp, rlogind and rsh)],, enable_insecure="no")
+AC_ARG_ENABLE( afsdb,
+[ --disable-afsdb disable AFSDB RR support],, enable_afsdb="yes")
+AC_ARG_ENABLE( pam,
+[ --disable-pam disable PAM support],, enable_pam="yes")
+AC_ARG_ENABLE( bos-restricted-mode,
+[ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
+AC_ARG_ENABLE( bos-new-config,
+[ --enable-bos-new-config enable bosserver pickup of BosConfig.new on restarts],, enable_bos_new_config="no")
+AC_ARG_ENABLE( largefile-fileserver,
+[ --enable-largefile-fileserver enable large file support in fileserver],, enable_largefile_fileserver="no")
+AC_ARG_ENABLE( namei-fileserver,
+[ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
+AC_ARG_ENABLE( supergroups,
+[ --enable-supergroups enable support for nested pts groups],, enable_supergroups="no")
+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")
+AC_ARG_ENABLE( full-vos-listvol-switch,
+[ --disable-full-vos-listvol-switch disable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="yes")
+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,
+[ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)]
+)
+AC_ARG_WITH(bsd-kernel-headers,
+[ --with-bsd-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/sys)]
+)
+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)]
+)
+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"
+)
+AC_ARG_ENABLE(tivoli-tsm,
+[ --enable-tivoli-tsm Enable use of the Tivoli TSM API libraries for butc support],, enable_tivoli_tsm="no"
+)
+AC_ARG_ENABLE(debug-kernel,
+[ --enable-debug-kernel enable compilation of the kernel module with debugging information (defaults to disabled)],, enable_debug_kernel="no"
+)
+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"
+)
+
+enable_login="no"
+
+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
+COMPILER_HAS_FUNCTION_MACRO
+
+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*)
+ MKAFS_OSTYPE=LINUX
+ if test "x$enable_redhat_buildsys" = "xyes"; then
+ AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
+ 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
+ LINUX_KERNEL_PATH="/usr/src/linux-2.4"
+ if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ LINUX_KERNEL_PATH="/usr/src/linux"
+ fi
+ fi
+ if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ if test "x$linux_kvers" = "x"; then
+ if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
+ linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
+ if test "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
+ dnl do we need to determine SUBARCH from autoconf.h
+ SUBARCH=default
+ fi
+ AC_MSG_RESULT(linux)
+ 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],
+ [LINUX_BUILD_VNODE_FROM_INODE(src/config,afs)],
+ [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
+ LINUX_EXPORTS_TASKLIST_LOCK
+ 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
+ LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
+ LINUX_INODE_SETATTR_RETURN_TYPE
+ LINUX_KERNEL_LINUX_SYSCALL_H
+ LINUX_KERNEL_SELINUX
+ LINUX_KERNEL_SOCK_CREATE
+ 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
+ LINUX_WHICH_MODULES
+ if test "x$ac_cv_linux_config_modversions" = "xno"; 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
+ AC_MSG_ERROR([no available sys_call_table access method])
+ 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_tasklist_lock" = "xyes" ; then
+ AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock])
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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
+ :
+ fi
+ ;;
+ *-solaris*)
+ MKAFS_OSTYPE=SOLARIS
+ AC_MSG_RESULT(sun4)
+ SOLARIS_UFSVFS_HAS_DQRWLOCK
+ SOLARIS_PROC_HAS_P_COREFILE
+ SOLARIS_FS_HAS_FS_ROLLED
+ ;;
+ *-sunos*)
+ MKAFS_OSTYPE=SUNOS
+ enable_kernel_module=no
+ AC_MSG_RESULT(sun4)
+ ;;
+ *-hpux*)
+ MKAFS_OSTYPE=HPUX
+ AC_MSG_RESULT(hp_ux)
+ ;;
+ *-irix*)
+ if test -d /usr/include/sys/SN/SN1; then
+ IRIX_BUILD_IP35="IP35"
+ fi
+ 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])
+ ;;
+ *-darwin*)
+ MKAFS_OSTYPE=DARWIN
+ AC_MSG_RESULT(ppc_darwin)
+ ;;
+ *-freebsd*)
+ MKAFS_OSTYPE=FBSD
+ AC_MSG_RESULT(i386_fbsd)
+ ;;
+ *-netbsd*)
+ MKAFS_OSTYPE=NBSD
+ AC_MSG_RESULT(nbsd)
+ ;;
+ *-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
+ i?86-*-openbsd3.1)
+ AFS_SYSNAME="i386_obsd31"
+ ;;
+ i?86-*-openbsd3.2)
+ AFS_SYSNAME="i386_obsd32"
+ ;;
+ i?86-*-openbsd3.3)
+ AFS_SYSNAME="i386_obsd33"
+ ;;
+ i?86-*-openbsd3.4)
+ AFS_SYSNAME="i386_obsd34"
+ ;;
+ i?86-*-openbsd3.5)
+ AFS_SYSNAME="i386_obsd35"
+ ;;
+ i?86-*-openbsd3.6)
+ AFS_SYSNAME="i386_obsd36"
+ ;;
+ i?86-*-freebsd4.2*)
+ AFS_SYSNAME="i386_fbsd_42"
+ ;;
+ i?86-*-freebsd4.3*)
+ AFS_SYSNAME="i386_fbsd_43"
+ ;;
+ i?86-*-freebsd4.4*)
+ AFS_SYSNAME="i386_fbsd_44"
+ ;;
+ i?86-*-freebsd4.5*)
+ AFS_SYSNAME="i386_fbsd_45"
+ ;;
+ i?86-*-freebsd4.6*)
+ AFS_SYSNAME="i386_fbsd_46"
+ ;;
+ i?86-*-freebsd4.7*)
+ AFS_SYSNAME="i386_fbsd_47"
+ ;;
+ i?86-*-freebsd5.0*)
+ AFS_SYSNAME="i386_fbsd_50"
+ ;;
+ i?86-*-freebsd5.1*)
+ AFS_SYSNAME="i386_fbsd_51"
+ ;;
+ i?86-*-freebsd5.2*)
+ AFS_SYSNAME="i386_fbsd_52"
+ ;;
+ i?86-*-freebsd5.3*)
+ AFS_SYSNAME="i386_fbsd_53"
+ ;;
+ i?86-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="i386_nbsd15"
+ ;;
+ alpha-*-netbsd*1.5*)
+ AFS_PARAM_COMMON=param.nbsd15.h
+ AFS_SYSNAME="alpha_nbsd15"
+ ;;
+ i?86-*-netbsd*1.6[[M-Z]]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ powerpc-*-netbsd*1.6[[M-Z]]*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ i?86-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="i386_nbsd20"
+ ;;
+ powerpc-*-netbsd*2.0*)
+ AFS_PARAM_COMMON=param.nbsd20.h
+ AFS_SYSNAME="ppc_nbsd20"
+ ;;
+ 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"
+ ;;
+ powerpc-*-netbsd*1.6*)
+ AFS_PARAM_COMMON=param.nbsd16.h
+ AFS_SYSNAME="ppc_nbsd16"
+ ;;
+ i?86-*-netbsd*2.99*)
+ AFS_PARAM_COMMON=param.nbsd21.h
+ AFS_SYSNAME="i386_nbsd21"
+ ;;
+ hppa*-hp-hpux11.0*)
+ AFS_SYSNAME="hp_ux110"
+ ;;
+ hppa*-hp-hpux11.11)
+ AFS_SYSNAME="hp_ux11i"
+ ;;
+ ia64-hp-hpux11.22)
+ AFS_SYSNAME="ia64_hpux1122"
+ ;;
+ ia64-hp-hpux*)
+ AFS_SYSNAME="ia64_hpux1123"
+ ;;
+ 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"
+ ;;
+ powerpc-apple-darwin5.1*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.2*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.3*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.4*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin5.5*)
+ AFS_SYSNAME="ppc_darwin_14"
+ ;;
+ powerpc-apple-darwin6.0*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.1*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.2*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.3*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.4*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ powerpc-apple-darwin6.5*)
+ AFS_SYSNAME="ppc_darwin_60"
+ ;;
+ 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"
+ ;;
+ powerpc-apple-darwin7.4*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ powerpc-apple-darwin7.5*)
+ AFS_SYSNAME="ppc_darwin_70"
+ ;;
+ sparc-sun-solaris2.5*)
+ AFS_SYSNAME="sun4x_55"
+ enable_login="yes"
+ ;;
+ sparc-sun-solaris2.6)
+ AFS_SYSNAME="sun4x_56"
+ ;;
+ sparc-sun-solaris2.7)
+ AFS_SYSNAME="sun4x_57"
+ ;;
+ sparc-sun-solaris2.8)
+ AFS_SYSNAME="sun4x_58"
+ ;;
+ sparc-sun-solaris2.9)
+ AFS_SYSNAME="sun4x_59"
+ ;;
+ sparc-sun-solaris2.10)
+ AFS_SYSNAME="sun4x_510"
+ ;;
+ sparc-sun-sunos4*)
+ AFS_SYSNAME="sun4_413"
+ enable_login="yes"
+ ;;
+ i386-pc-solaris2.7)
+ AFS_SYSNAME="sunx86_57"
+ ;;
+ i386-pc-solaris2.8)
+ AFS_SYSNAME="sunx86_58"
+ ;;
+ i386-pc-solaris2.9)
+ AFS_SYSNAME="sunx86_59"
+ ;;
+ i386-pc-solaris2.10)
+ AFS_SYSNAME="sunx86_510"
+ ;;
+ alpha*-dec-osf4.0*)
+ AFS_SYSNAME="alpha_dux40"
+ ;;
+ alpha*-dec-osf5.0*)
+ AFS_SYSNAME="alpha_dux50"
+ ;;
+ alpha*-dec-osf5.1*)
+ AFS_SYSNAME="alpha_dux51"
+ ;;
+ mips-sgi-irix6.5)
+ AFS_SYSNAME="sgi_65"
+ ;;
+ ia64-*-linux*)
+ AFS_SYSNAME="ia64_linuxXX"
+ ;;
+ powerpc-*-linux*)
+ AFS_SYSNAME="ppc_linuxXX"
+ ;;
+ powerpc64-*-linux*)
+ AFS_SYSNAME="ppc64_linuxXX"
+ ;;
+ alpha*-linux*)
+ AFS_SYSNAME="alpha_linux_XX"
+ ;;
+ s390-*-linux*)
+ AFS_SYSNAME="s390_linuxXX"
+ ;;
+ s390x-*-linux*)
+ AFS_SYSNAME="s390x_linuxXX"
+ ;;
+ sparc-*-linux*)
+ AFS_SYSNAME="sparc_linuxXX"
+ ;;
+ sparc64-*-linux*)
+ AFS_SYSNAME="sparc64_linuxXX"
+ ;;
+ i?86-*-linux*)
+ AFS_SYSNAME="i386_linuxXX"
+ ;;
+ parisc-*-linux-gnu)
+ AFS_SYSNAME="parisc_linuxXX"
+ enable_pam="no"
+ ;;
+ power*-ibm-aix4.2*)
+ AFS_SYSNAME="rs_aix42"
+ ;;
+ power*-ibm-aix4.3*)
+ AFS_SYSNAME="rs_aix42"
+ ;;
+ power*-ibm-aix5.1*)
+ AFS_SYSNAME="rs_aix51"
+ ;;
+ power*-ibm-aix5.2*)
+ AFS_SYSNAME="rs_aix52"
+ ;;
+ x86_64-*-linux-gnu)
+ AFS_SYSNAME="amd64_linuxXX"
+ enable_pam="no"
+ ;;
+ *)
+ AC_MSG_ERROR(An AFS sysname is required)
+ exit 1
+ ;;
+ esac
+ case $AFS_SYSNAME in
+ *_linux*)
+ 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. 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"
+ 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/`
+ fi
+ CPPFLAGS="$save_CPPFLAGS"
+ AFS_SYSNAME="$_AFS_SYSNAME"
+ ;;
+ esac
+ AC_MSG_RESULT($AFS_SYSNAME)
+fi
+
+case $AFS_SYSNAME in
+ *_darwin*)
+ DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
+ DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
+ dnl the test below fails on darwin, even if the CPPFLAGS below
+ dnl are added. the headers from Kernel.Framework must be used
+ dnl when KERNEL is defined.
+
+ 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
+ AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
+ ;;
+ *)
+AC_MSG_CHECKING(for definition of struct buf)
+dnl save_CPPFLAGS="$CPPFLAGS"
+dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
+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,)
+ ]
+)
+dnl CPPFLAGS="$save_CPPFLAGS"
+AC_MSG_RESULT($ac_cv_have_struct_buf)
+if test "$ac_cv_have_struct_buf" = yes; then
+ AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
+fi
+;;
+esac
+
+
+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
+ AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
+fi
+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
+ AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
+ 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
+ AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
+ 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
+ AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
+ fi
+ done
+ fi
+
+ 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)
+ ])
+
+ openafs_save_libs="$LIBS"
+ AC_MSG_CHECKING([for res_search])
+ AC_FUNC_RES_SEARCH
+
+ if test "$ac_cv_func_res_search" = no; then
+ 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
+
+fi
+
+PTHREAD_LIBS=error
+AC_CHECK_LIB(pthread, pthread_attr_init,
+ PTHREAD_LIBS="-lpthread")
+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
+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
+
+WITH_INSECURE=NO
+if test "$enable_insecure" = "yes"; then
+ WITH_INSECURE=YES
+fi
+
+if test "x$with_bsd_kernel_headers" != "x"; then
+ BSD_KERNEL_PATH="$with_bsd_kernel_headers"
+else
+ BSD_KERNEL_PATH="/usr/src/sys"
+fi
+
+if test "x$with_bsd_kernel_build" != "x"; then
+ BSD_KERNEL_BUILD="$with_bsd_kernel_build"
+else
+ case $AFS_SYSNAME in
+ i386_fbsd_4?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
+ ;;
+ i386_fbsd_5?)
+ BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
+ ;;
+ esac
+fi
+
+# Fast restart
+if test "$enable_supergroups" = "yes"; then
+ AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
+fi
+
+if test "$enable_fast_restart" = "yes"; then
+ AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
+fi
+
+if test "$enable_bitmap_later" = "yes"; then
+ AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
+fi
+
+if test "$enable_full_vos_listvol_switch" = "yes"; then
+ AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
+fi
+
+if test "$enable_bos_restricted_mode" = "yes"; then
+ AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
+fi
+
+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
+
+if test "$enable_largefile_fileserver" = "yes"; then
+ AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
+fi
+
+if test "$enable_namei_fileserver" = "yes"; then
+ AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
+fi
+
+if test "$enable_afsdb" = "yes"; then
+ LIB_AFSDB="$LIB_res_search"
+ AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
+fi
+
+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
+
+ if test -e "$XBSADIR1/xbsa.h"; then
+ XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
+ AC_MSG_RESULT([yes, $XBSA_CFLAGS])
+ elif test -e "$XBSADIR2/xbsa.h"; then
+ 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)
+
+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)
+AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
+AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
+AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
+AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h)
+
+if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
+ HAVE_PAM="yes"
+else
+ HAVE_PAM="no"
+fi
+AC_SUBST(HAVE_PAM)
+
+if test "$enable_login" = yes; then
+ BUILD_LOGIN="yes"
+else
+ BUILD_LOGIN="no"
+fi
+AC_SUBST(BUILD_LOGIN)
+
+AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec)
+AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror)
+
+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
+
+AC_CHECK_TYPE(ssize_t, int)
+AC_SIZEOF_TYPE(long)
+
+AC_CHECK_FUNCS(timegm)
+
+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}
+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'}
+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)
+AC_SUBST(AFS_PARAM_COMMON)
+AC_SUBST(ENABLE_KERNEL_MODULE)
+AC_SUBST(LIB_AFSDB)
+AC_SUBST(LINUX_KERNEL_PATH)
+AC_SUBST(BSD_KERNEL_PATH)
+AC_SUBST(BSD_KERNEL_BUILD)
+AC_SUBST(LINUX_VERSION)
+AC_SUBST(MKAFS_OSTYPE)
+AC_SUBST(TOP_OBJDIR)
+AC_SUBST(TOP_SRCDIR)
+AC_SUBST(TOP_INCDIR)
+AC_SUBST(TOP_LIBDIR)
+AC_SUBST(DEST)
+AC_SUBST(WITH_OBSOLETE)
+AC_SUBST(WITH_INSECURE)
+AC_SUBST(DARWIN_INFOFILE)
+AC_SUBST(IRIX_BUILD_IP35)
+
+OPENAFS_OSCONF
+
+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
+ /*)
+ ;;
+ *)
+ TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
+ ;;
+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
+
+HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
+HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
+AC_SUBST(HELPER_SPLINT)
+AC_SUBST(HELPER_SPLINTCFG)
+
+
+])
diff -Nur openafs/src/cf/osconf.m4 openafs-uml26/src/cf/osconf.m4
--- openafs/src/cf/osconf.m4 2004-11-24 13:57:58.000000000 -0500
+++ openafs-uml26/src/cf/osconf.m4 2004-11-24 19:07:42.000000000 -0500
@@ -324,6 +324,26 @@
SHLIB_LINKER="${MT_CC} -shared"
;;
+ i386_umlinux26)
+ CC="gcc -pipe"
+ CCOBJ="gcc -pipe"
+ MT_CC="gcc -pipe"
+ KERN_OPTMZ=-O2
+ LEX="flex -l"
+ MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
+ MT_LIBS="-lpthread"
+ DBG=-g
+ KERN_DBG=-g
+ LWP_DBG=-g
+ LWP_OPTMZ=-O2
+ OPTMZ=-O2
+ PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
+ SHLIB_LDFLAGS="-shared -Xlinker -x"
+ TXLIBS="-lncurses"
+ XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
+ SHLIB_LINKER="${MT_CC} -shared"
+ ;;
+
*_obsd*)
LEX="flex -l"
MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
diff -Nur openafs/src/comerr/Makefile.in openafs-uml26/src/comerr/Makefile.in
--- openafs/src/comerr/Makefile.in 2003-01-11 02:34:03.000000000 -0500
+++ openafs-uml26/src/comerr/Makefile.in 2004-11-24 19:07:42.000000000 -0500
@@ -15,7 +15,7 @@
compile_et: compile_et.o error_table.o
case $(SYS_NAME) in \
- *_linux* ) \
+ *_linux* | *_umlinux* ) \
${CC} ${CFLAGS} -o compile_et compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil;; \
* ) \
${CC} ${CFLAGS} -o compile_et compile_et.o error_table.o -L${TOP_LIBDIR} -lafsutil -ll;; \
diff -Nur openafs/src/config/afs_sysnames.h openafs-uml26/src/config/afs_sysnames.h
--- openafs/src/config/afs_sysnames.h 2004-11-24 13:57:58.000000000 -0500
+++ openafs-uml26/src/config/afs_sysnames.h 2004-11-24 19:07:42.000000000 -0500
@@ -213,6 +213,7 @@
#define SYS_NAME_ID_i386_umlinux2 2800
#define SYS_NAME_ID_i386_umlinux22 2801
#define SYS_NAME_ID_i386_umlinux24 2802
+#define SYS_NAME_ID_i386_umlinux26 2803
#define SYS_NAME_ID_ppc64_linux2 2900
#define SYS_NAME_ID_ppc64_linux22 2901
diff -Nur openafs/src/config/afs_sysnames.h.orig openafs-uml26/src/config/afs_sysnames.h.orig
--- openafs/src/config/afs_sysnames.h.orig 1969-12-31 19:00:00.000000000 -0500
+++ openafs-uml26/src/config/afs_sysnames.h.orig 2004-11-24 13:57:58.000000000 -0500
@@ -0,0 +1,245 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ *
+ * This software has been released under the terms of the IBM Public
+ * License. For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ *
+ * Portions Copyright (c) 2003 Apple Computer, Inc.
+ */
+
+/*
+ * File: afs_sysnames.h
+ *
+ * Macros defining AFS systypes and their associated IDs, and generating
+ * them from the value of SYS_NAME.
+ *
+ * Groups of 100 IDs have been allocated to each major system type.
+ */
+
+#ifndef __AFS_SYSNAMES_INCL_ENV_
+#define __AFS_SYSNAMES_INCL_ENV_ 1
+
+#ifndef IGNORE_STDS_H
+#include "stds.h"
+#endif
+
+#define SYS_NAME_ID_UNDEFINED 0
+
+
+#define SYS_NAME_ID_aux_10 200
+
+#define SYS_NAME_ID_pmax_ul4 305
+#define SYS_NAME_ID_pmax_ul42 307
+#define SYS_NAME_ID_pmax_ul42a 308
+#define SYS_NAME_ID_pmax_ul43 309
+#define SYS_NAME_ID_pmax_ul43a 310
+
+#define SYS_NAME_ID_hp700_ux90 407
+#define SYS_NAME_ID_hp300_ux90 408
+#define SYS_NAME_ID_hp800_ux90 409
+#define SYS_NAME_ID_hp700_ux100 410
+#define SYS_NAME_ID_hp800_ux100 411
+#define SYS_NAME_ID_hp700_ux101 412
+#define SYS_NAME_ID_hp800_ux101 413
+#define SYS_NAME_ID_hp_ux102 414
+#define SYS_NAME_ID_hp_ux110 415
+#define SYS_NAME_ID_hp_ux11i 416
+#define SYS_NAME_ID_ia64_hpux1122 417
+#define SYS_NAME_ID_ia64_hpux1123 418
+
+#define SYS_NAME_ID_mac2_51 500
+#define SYS_NAME_ID_mac_aux10 501
+#define SYS_NAME_ID_mac_mach51 502
+#define SYS_NAME_ID_ppc_darwin_12 503
+#define SYS_NAME_ID_ppc_darwin_13 504
+#define SYS_NAME_ID_ppc_darwin_14 505
+#define SYS_NAME_ID_ppc_darwin_60 506
+#define SYS_NAME_ID_ppc_darwin_70 507
+
+#define SYS_NAME_ID_next_mach20 601
+#define SYS_NAME_ID_next_mach30 602
+
+#define SYS_NAME_ID_rs_aix32 701
+#define SYS_NAME_ID_rs_aix41 702
+#define SYS_NAME_ID_rs_aix42 703
+#define SYS_NAME_ID_rs_aix51 704
+#define SYS_NAME_ID_rs_aix43 705
+#define SYS_NAME_ID_rs_aix52 706
+
+#define SYS_NAME_ID_sun3_411 906
+#define SYS_NAME_ID_sun3x_411 912
+#define SYS_NAME_ID_sun4_411 917
+#define SYS_NAME_ID_sun4c_411 919
+#define SYS_NAME_ID_sun4c_51 920
+#define SYS_NAME_ID_sun4m_51 921
+#define SYS_NAME_ID_sun4c_52 923
+#define SYS_NAME_ID_sun4m_52 924
+/* For sun4_52 */
+#define SYS_NAME_ID_sun4c_53 926
+#define SYS_NAME_ID_sun4m_53 927
+#define SYS_NAME_ID_sun4_52 928
+#define SYS_NAME_ID_sun4_53 929
+#define SYS_NAME_ID_sun4_54 930
+#define SYS_NAME_ID_sun4m_54 931
+#define SYS_NAME_ID_sun4c_54 932
+#define SYS_NAME_ID_sunx86_54 933
+#define SYS_NAME_ID_sun4x_55 934
+#define SYS_NAME_ID_sun4x_56 935
+#define SYS_NAME_ID_sunx86_56 936
+#define SYS_NAME_ID_sunx86_55 937
+#define SYS_NAME_ID_sun4x_57 938
+#define SYS_NAME_ID_sun4x_58 939
+#define SYS_NAME_ID_sun4x_59 940
+#define SYS_NAME_ID_sun4x_510 941
+
+/* Sigh. If I leave a gap here IBM will do this sequentially. If I don't
+ they won't allocate sunx86 IDs at all. So leave a gap and pray. */
+#define SYS_NAME_ID_sunx86_57 950
+#define SYS_NAME_ID_sunx86_58 951
+#define SYS_NAME_ID_sunx86_59 952
+#define SYS_NAME_ID_sunx86_510 953
+
+#define SYS_NAME_ID_vax_ul4 1003
+#define SYS_NAME_ID_vax_ul40 1004
+#define SYS_NAME_ID_vax_ul43 1005
+
+#define SYS_NAME_ID_sgi_50 1100
+#define SYS_NAME_ID_sgi_51 1101
+#define SYS_NAME_ID_sgi_52 1102
+#define SYS_NAME_ID_sgi_53 1103
+#define SYS_NAME_ID_sgi_61 1104
+#define SYS_NAME_ID_sgi_62 1105
+#define SYS_NAME_ID_sgi_63 1106
+#define SYS_NAME_ID_sgi_64 1107
+#define SYS_NAME_ID_sgi_65 1108
+
+#define SYS_NAME_ID_alpha_osf1 1200
+#define SYS_NAME_ID_alpha_osf20 1201
+#define SYS_NAME_ID_alpha_osf30 1202
+#define SYS_NAME_ID_alpha_osf32 1203
+#define SYS_NAME_ID_alpha_osf32c 1204
+#define SYS_NAME_ID_alpha_dux40 1205
+#define SYS_NAME_ID_alpha_dux50 1206
+#define SYS_NAME_ID_alpha_dux51 1207
+
+#define SYS_NAME_ID_ncrx86_20 1300
+#define SYS_NAME_ID_ncrx86_30 1301
+
+#define SYS_NAME_ID_i386_nt35 1400
+#define SYS_NAME_ID_i386_win95 1401
+
+#define SYS_NAME_ID_i386_linux2 1500
+#define SYS_NAME_ID_i386_linux22 1501
+#define SYS_NAME_ID_i386_linux24 1502
+#define SYS_NAME_ID_i386_linux26 1503
+
+#define SYS_NAME_ID_ppc_linux2 1600
+#define SYS_NAME_ID_ppc_linux22 1601
+#define SYS_NAME_ID_ppc_linux24 1602
+#define SYS_NAME_ID_ppc_linux26 1603
+
+#define SYS_NAME_ID_sparc_linux2 1700
+#define SYS_NAME_ID_sparc_linux22 1701
+#define SYS_NAME_ID_sparc_linux24 1702
+
+#define SYS_NAME_ID_sparc64_linux2 1800
+#define SYS_NAME_ID_sparc64_linux22 1801
+#define SYS_NAME_ID_sparc64_linux24 1802
+
+#define SYS_NAME_ID_s390_linux2 1900
+#define SYS_NAME_ID_s390_linux22 1901
+#define SYS_NAME_ID_s390_linux24 1902
+#define SYS_NAME_ID_s390x_linux2 1903
+#define SYS_NAME_ID_s390x_linux22 1904
+#define SYS_NAME_ID_s390x_linux24 1905
+
+#define SYS_NAME_ID_alpha_linux_2 2000
+#define SYS_NAME_ID_alpha_linux_22 2001
+#define SYS_NAME_ID_alpha_linux_24 2002
+
+#define SYS_NAME_ID_i386_fbsd_42 2100
+#define SYS_NAME_ID_i386_fbsd_43 2101
+#define SYS_NAME_ID_i386_fbsd_44 2102
+#define SYS_NAME_ID_i386_fbsd_45 2103
+#define SYS_NAME_ID_i386_fbsd_46 2103
+#define SYS_NAME_ID_i386_fbsd_47 2104
+#define SYS_NAME_ID_i386_fbsd_50 2105
+#define SYS_NAME_ID_i386_fbsd_51 2106
+#define SYS_NAME_ID_i386_fbsd_52 2107
+#define SYS_NAME_ID_i386_fbsd_53 2108
+
+#define SYS_NAME_ID_ia64_linux2 2200
+#define SYS_NAME_ID_ia64_linux22 2201
+#define SYS_NAME_ID_ia64_linux24 2202
+
+#define SYS_NAME_ID_m68k_linux22 2301
+#define SYS_NAME_ID_m68k_linux24 2302
+
+#define SYS_NAME_ID_parisc_linux22 2401
+#define SYS_NAME_ID_parisc_linux24 2402
+
+#define SYS_NAME_ID_i386_nbsd15 2501
+#define SYS_NAME_ID_alpha_nbsd15 2502
+#define SYS_NAME_ID_sparc_nbsd15 2503
+#define SYS_NAME_ID_sparc64_nbsd15 2504
+
+#define SYS_NAME_ID_i386_nbsd16 2510
+#define SYS_NAME_ID_alpha_nbsd16 2511
+#define SYS_NAME_ID_sparc_nbsd16 2512
+#define SYS_NAME_ID_sparc64_nbsd16 2513
+#define SYS_NAME_ID_macppc_nbsd16 2514
+
+#define SYS_NAME_ID_i386_nbsd20 2520
+#define SYS_NAME_ID_alpha_nbsd20 2521
+#define SYS_NAME_ID_sparc_nbsd20 2522
+#define SYS_NAME_ID_sparc64_nbsd20 2523
+#define SYS_NAME_ID_macppc_nbsd20 2524
+#define SYS_NAME_ID_i386_nbsd21 2525
+
+#define SYS_NAME_ID_i386_obsd31 2600
+#define SYS_NAME_ID_i386_obsd32 2601
+#define SYS_NAME_ID_i386_obsd33 2602
+#define SYS_NAME_ID_i386_obsd34 2603
+#define SYS_NAME_ID_i386_obsd35 2604
+#define SYS_NAME_ID_i386_obsd36 2605
+
+#define SYS_NAME_ID_amd64_linux2 2700
+#define SYS_NAME_ID_amd64_linux22 2701
+#define SYS_NAME_ID_amd64_linux24 2702
+#define SYS_NAME_ID_amd64_linux26 2703
+
+#define SYS_NAME_ID_i386_umlinux2 2800
+#define SYS_NAME_ID_i386_umlinux22 2801
+#define SYS_NAME_ID_i386_umlinux24 2802
+
+#define SYS_NAME_ID_ppc64_linux2 2900
+#define SYS_NAME_ID_ppc64_linux22 2901
+#define SYS_NAME_ID_ppc64_linux24 2902
+#define SYS_NAME_ID_ppc64_linux26 2903
+
+/*
+ * Placeholder to keep system-wide standard flags since this file is included by all
+ * files (i.e in afs/param.h)
+ */
+#ifdef notdef
+/* Should be enabled by src sites that are compiling afs in a kerberos environment
+ * (i.e. use their headers and libs) and want to use the realm-related kerberos code
+ */
+#define AFS_ATHENA_STDENV 1
+#endif
+#ifdef AFS_ATHENA_STDENV
+/* So that they don't get our own version of the kerb-related function in libutil.a */
+#define afs_krb_get_lrealm(r,n) krb_get_lrealm(r,n)
+#define AFS_REALM_SZ REALM_SZ
+#endif
+
+/* Should be enabled by src sites that are compiling afs without the kerb headers/libs
+ * but want to use the kerberos realm-related code
+ */
+#define AFS_KERBREALM_ENV 1
+#ifdef AFS_KERBREALM_ENV
+#define AFS_REALM_SZ 64
+#endif
+#endif /* __AFS_SYSNAMES_INCL_ENV_ */
diff -Nur openafs/src/config/param.i386_umlinux26.h openafs-uml26/src/config/param.i386_umlinux26.h
--- openafs/src/config/param.i386_umlinux26.h 1969-12-31 19:00:00.000000000 -0500
+++ openafs-uml26/src/config/param.i386_umlinux26.h 2004-11-24 19:07:42.000000000 -0500
@@ -0,0 +1,152 @@
+#ifndef UKERNEL
+/* This section for kernel libafs compiles only */
+
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously i386 specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define AFS_LINUX20_ENV 1
+#define AFS_LINUX22_ENV 1
+#define AFS_LINUX24_ENV 1
+#define AFS_LINUX26_ENV 1
+#define AFS_I386_LINUX20_ENV 1
+#define AFS_I386_LINUX22_ENV 1
+#define AFS_I386_LINUX24_ENV 1
+#define AFS_I386_LINUX26_ENV 1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV 1
+#define AFS_NAMEI_ENV 1 /* User space interface to file system */
+#define AFS_64BIT_ENV 1
+#define AFS_64BIT_CLIENT 1
+
+#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
+#include <linux/threads.h>
+
+#include <linux/config.h>
+#ifdef CONFIG_SMP
+#ifndef AFS_SMP
+#define AFS_SMP 1
+#endif
+#endif
+/* Using "AFS_SMP" to map to however many #define's are required to get
+ * MP to compile for Linux
+ */
+#ifdef AFS_SMP
+#ifndef CONFIG_SMP
+#define CONFIG_SMP 1
+#endif
+#ifndef CONFIG_X86_LOCAL_APIC
+#define CONFIG_X86_LOCAL_APIC 1
+#endif
+#ifndef __SMP__
+#define __SMP__
+#endif
+#define AFS_GLOBAL_SUNLOCK
+#endif
+
+#endif /* __KERNEL__ && !DUMP_KERNEL */
+
+#include <afs/afs_sysnames.h>
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 2 /* Set to Userdisabled, allow sysctl to override */
+
+#define AFSLITTLE_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
+#ifdef KERNEL
+#ifndef MIN
+#define MIN(A,B) ((A) < (B) ? (A) : (B))
+#endif
+#ifndef MAX
+#define MAX(A,B) ((A) > (B) ? (A) : (B))
+#endif
+#endif /* KERNEL */
+
+#ifndef KERNEL
+#define __USE_LARGEFILE64 1
+#if !defined off64_t
+#define off64_t __off64_t
+#endif
+#endif
+
+/* Machine / Operating system information */
+#define SYS_NAME "i386_umlinux26"
+#define SYS_NAME_ID SYS_NAME_ID_i386_umlinux26
+
+#endif /* AFS_PARAM_H */
+
+
+
+#else /* !defined(UKERNEL) */
+
+/* This section for user space compiles only */
+
+#ifndef AFS_PARAM_H
+#define AFS_PARAM_H
+
+/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
+ * it's a judgment call. If something is obviously i386 specific, use that
+ * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
+ * in the sysname is the current version of the client. This takes into
+ * account the perferred OS user space configuration as well as the kernel.
+ */
+
+#define UKERNEL 1 /* user space kernel */
+#define AFS_ENV 1
+#define AFS_USR_LINUX20_ENV 1
+#define AFS_USR_LINUX22_ENV 1
+#define AFS_USR_LINUX24_ENV 1
+#define AFS_USR_LINUX26_ENV 1
+#define AFS_NONFSTRANS 1
+
+#define AFS_MOUNT_AFS "afs" /* The name of the filesystem type. */
+#define AFS_SYSCALL 137
+#define AFS_64BIT_IOPS_ENV 1
+#define AFS_NAMEI_ENV 1 /* User space interface to file system */
+#include <afs/afs_sysnames.h>
+
+#define AFS_USERSPACE_IP_ADDR 1
+#define RXK_LISTENER_ENV 1
+#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
+
+
+/* Machine / Operating system information */
+#define SYS_NAME "i386_umlinux26"
+#define SYS_NAME_ID SYS_NAME_ID_i386_umlinux26
+#define AFSLITTLE_ENDIAN 1
+#define AFS_HAVE_FFS 1 /* Use system's ffs. */
+#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
+#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
+
+#define afsio_iov uio_iov
+#define afsio_iovcnt uio_iovcnt
+#define afsio_offset uio_offset
+#define afsio_seg uio_segflg
+#define afsio_fmode uio_fmode
+#define afsio_resid uio_resid
+#define AFS_UIOSYS 1
+#define AFS_UIOUSER UIO_USERSPACE
+#define AFS_CLBYTES MCLBYTES
+#define AFS_MINCHANGE 2
+#define VATTR_NULL usr_vattr_null
+
+#define AFS_DIRENT
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#endif /* AFS_PARAM_H */
+
+#endif /* !defined(UKERNEL) */
diff -Nur openafs/src/libafs/MakefileProto.LINUX.in openafs-uml26/src/libafs/MakefileProto.LINUX.in
--- openafs/src/libafs/MakefileProto.LINUX.in 2004-10-13 17:00:04.000000000 -0400
+++ openafs-uml26/src/libafs/MakefileProto.LINUX.in 2004-11-24 19:07:42.000000000 -0500
@@ -49,10 +49,13 @@
CCFLAGS = $(COMMON_KERN_CFLAGS) -mcmodel=kernel
DEFINES = $(COMMON_DEFINES)
-<i386_umlinux22 i386_umlinux24>
-CCFLAGS = $(COMMON_KERN_CFLAGS) @P5PLUS_KOPTS@ -I$(LINUX_KERNEL_PATH)/arch/um/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/tt/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/skas/include
+<i386_umlinux22 i386_umlinux24 i386_umlinux26>
+CCFLAGS = $(COMMON_KERN_CFLAGS) @P5PLUS_KOPTS@ -Wno-strict-prototypes -I$(LINUX_KERNEL_PATH)/arch/um/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/tt/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/skas/include
DEFINES = $(COMMON_DEFINES) -DCPU=586
+<i386_umlinux26>
+EXTRA_CFLAGS = -I$(LINUX_KERNEL_PATH)/arch/um/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/tt/include -I$(LINUX_KERNEL_PATH)/arch/um/kernel/skas/include
+
<alpha_linux_22 alpha_linux_24>
CCFLAGS = $(COMMON_KERN_CFLAGS) -mno-fp-regs -ffixed-8
DEFINES = $(COMMON_DEFINES)
@@ -152,6 +155,7 @@
ln -fs ${LINUX_KERNEL_PATH}/include/asm-i386 asm
<i386_umlinux22 i386_umlinux24 i386_umlinux26>
ln -fs ${LINUX_KERNEL_PATH}/include/asm-um asm
+ ln -fs ${LINUX_KERNEL_PATH}/arch/um/include/sysdep
<amd64_linux24 amd64_linux26>
ln -fs ${LINUX_KERNEL_PATH}/include/asm-x86_64 asm
<s390_linux22 s390_linux24 s390_linux26>
@@ -235,14 +239,14 @@
libafs.bm: $(LIBAFS_BM)
echo BM Build Complete
-<linux26>
+<linux26 umlinux26>
${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: libafs.ko
cp libafs.ko $@
.FORCE:
libafs.ko: .FORCE
- ../$(srcdir)/make_kbuild_makefile.pl ${KDIR} $@ \
- @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
+ export EXTRA_CFLAGS=${EXKERNFLAGS}
+ $(shell export EXTRA_CFLAGS="${EXKERNFLAGS}" && ../$(srcdir)/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common)
$(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
<all -linux26>
diff -Nur openafs/src/libafsrpc/Makefile.in openafs-uml26/src/libafsrpc/Makefile.in
--- openafs/src/libafsrpc/Makefile.in 2004-11-10 23:24:14.000000000 -0500
+++ openafs-uml26/src/libafsrpc/Makefile.in 2004-11-24 19:07:42.000000000 -0500
@@ -202,11 +202,11 @@
md5.o: ${RXKAD}/md5.c
${CCRULE} ${RXKAD}/md5.c
-fcrypt.o: ${TOP_SRCDIR}/src/rxkad/domestic/fcrypt.c
- ${CCRULE} ${TOP_SRCDIR}/src/rxkad/domestic/fcrypt.c
+fcrypt.o: ${TOP_SRCDIR}/rxkad/domestic/fcrypt.c
+ ${CCRULE} ${TOP_SRCDIR}/rxkad/domestic/fcrypt.c
-crypt_conn.o: ${TOP_SRCDIR}/src/rxkad/domestic/crypt_conn.c
- ${CCRULE} ${TOP_SRCDIR}/src/rxkad/domestic/crypt_conn.c
+crypt_conn.o: ${TOP_SRCDIR}/rxkad/domestic/crypt_conn.c
+ ${CCRULE} ${TOP_SRCDIR}/rxkad/domestic/crypt_conn.c
AFS_component_version_number.o: ${TOP_OBJDIR}/src/rx/AFS_component_version_number.c
${CCRULE} ${TOP_OBJDIR}/src/rx/AFS_component_version_number.c
--------------020409020802070006080002--