[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--