STABLE14-umlinux26-20041202

FIXES 16591

umlinux 26 support. i wonder what i just reverted
This commit is contained in:
Matt Benjamin 2004-12-07 06:08:36 +00:00 committed by Derrick Brashear
parent 33ea19e7ef
commit 7746776a84
7 changed files with 372 additions and 183 deletions

View File

@ -106,6 +106,7 @@ 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])
@ -156,174 +157,6 @@ case $system in
SUBARCH=default
fi
AC_MSG_RESULT(linux)
if test "x$enable_kernel_module" = "xyes"; then
AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
if test "x${AFS_SYSKVERS}" = "x"; then
AC_MSG_ERROR(Couldn't guess your Linux version [2])
fi
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" -o $AFS_SYSKVERS -ge 26; then
AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
ac_cv_linux_exports_sys_call_table=no
if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
ac_cv_linux_exports_ia32_sys_call_table=yes
fi
else
LINUX_EXPORTS_INIT_MM
LINUX_EXPORTS_KALLSYMS_ADDRESS
LINUX_EXPORTS_KALLSYMS_SYMBOL
LINUX_EXPORTS_SYS_CALL_TABLE
LINUX_EXPORTS_IA32_SYS_CALL_TABLE
LINUX_EXPORTS_SYS_CHDIR
LINUX_EXPORTS_SYS_CLOSE
LINUX_EXPORTS_SYS_WAIT4
if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
linux_syscall_method=none
if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
linux_syscall_method=scan
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
linux_syscall_method=scan_with_kallsyms_address
fi
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
linux_syscall_method=kallsyms_symbol
fi
if test "x$linux_syscall_method" = "xnone"; then
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
@ -656,7 +489,10 @@ else
;;
esac
case $AFS_SYSNAME in
*_linux*)
*_linux* | *_umlinux*)
if test "x$enable_kernel_module" = "xyes"; then
AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
fi
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
@ -680,6 +516,183 @@ else
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" -o $AFS_SYSKVERS -ge 26; then
AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
ac_cv_linux_exports_sys_call_table=no
if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
ac_cv_linux_exports_ia32_sys_call_table=yes
fi
else
LINUX_EXPORTS_INIT_MM
LINUX_EXPORTS_KALLSYMS_ADDRESS
LINUX_EXPORTS_KALLSYMS_SYMBOL
LINUX_EXPORTS_SYS_CALL_TABLE
LINUX_EXPORTS_IA32_SYS_CALL_TABLE
LINUX_EXPORTS_SYS_CHDIR
LINUX_EXPORTS_SYS_CLOSE
LINUX_EXPORTS_SYS_WAIT4
if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
linux_syscall_method=none
if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
linux_syscall_method=scan
if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
linux_syscall_method=scan_with_kallsyms_address
fi
fi
if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
linux_syscall_method=kallsyms_symbol
fi
if test "x$linux_syscall_method" = "xnone"; then
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

View File

@ -324,6 +324,26 @@ case $AFS_SYSNAME in
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}'

View File

@ -15,7 +15,7 @@ et_lex.lex.c: et_lex.lex.l
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;; \

View File

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

View File

@ -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) */

View File

@ -49,10 +49,13 @@ DEFINES = $(COMMON_DEFINES) -DCPU=586
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)
@ -108,9 +111,9 @@ DESTDIRS=linux_destdirs
include Makefile.common
<linux26>
<linux26 umlinux26>
LINUX_MODULE_EXT=ko
<all -linux26>
<all -linux26 -umlinux26>
LINUX_MODULE_EXT=o
<all>
@ -152,6 +155,7 @@ ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}:
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,17 +239,16 @@ libafs.ep: $(LIBAFS_EP)
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
$(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
env EXTRA_CFLAGS="${EXTRA_CFLAGS}" ../$(srcdir)/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL/src/libafs/${KDIR} modules
<all -linux26>
<all -linux26 -umlinux26>
${LIBAFS}: $(AFSAOBJS) $(AFSNONFSOBJS)
$(RM) -f $@
$(LD) -r -o $@ $(AFSAOBJS) $(AFSNONFSOBJS)

View File

@ -203,11 +203,11 @@ md4.o: ${RXKAD}/md4.c
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: ${RXKAD}/domestic/fcrypt.c
${CCRULE} ${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: ${RXKAD}/domestic/crypt_conn.c
${CCRULE} ${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