X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fcf%2Flinux-test4.m4;h=b5df711c5db443d2d93cbcd6f699316a0ea688a0;hp=a21a2365fbf5f91553ba0e67399b9e45f754d43d;hb=284d3edd2375f672057aef638c0e0afd41cc559d;hpb=6b0d58257d64404e6723b9dcef27f320b5ba9b31 diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index a21a236..b5df711 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -1,18 +1,208 @@ -AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED, [ -AC_MSG_CHECKING(for i_mmap_shared in struct inode) +AC_DEFUN(LINUX_COMPLETION_H_EXISTS, [ +AC_MSG_CHECKING(for linux/completion.h existance) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" -AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_mmap_shared, +AC_CACHE_VAL(ac_cv_linux_completion_h_exists, +[ +AC_TRY_COMPILE( +[#include +#include ], +[struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif +], +ac_cv_linux_completion_h_exists=yes, +ac_cv_linux_completion_h_exists=no)]) +AC_MSG_RESULT($ac_cv_linux_completion_h_exists) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_DEFINES_FOR_EACH_PROCESS, [ +AC_MSG_CHECKING(for defined for_each_process) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_defines_for_each_process, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef for_each_process(p) +#error for_each_process not defined +#endif], +ac_cv_linux_defines_for_each_process=yes, +ac_cv_linux_defines_for_each_process=no)]) +AC_MSG_RESULT($ac_cv_linux_defines_for_each_process) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_DEFINES_PREV_TASK, [ +AC_MSG_CHECKING(for defined prev_task) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_defines_prev_task, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef prev_task(p) +#error prev_task not defined +#endif], +ac_cv_linux_defines_prev_task=yes, +ac_cv_linux_defines_prev_task=no)]) +AC_MSG_RESULT($ac_cv_linux_defines_prev_task) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_INIT_MM, [ +AC_MSG_CHECKING(for exported init_mm) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_init_mm, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_init_mm +#error init_mm not exported +#endif], +ac_cv_linux_exports_init_mm=yes, +ac_cv_linux_exports_init_mm=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_init_mm) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_KALLSYMS_ADDRESS, [ +AC_MSG_CHECKING(for exported kallsyms_address_to_symbol) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_kallsyms_address, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_kallsyms_address_to_symbol +#error kallsyms_address_to_symbol not exported +#endif], +ac_cv_linux_exports_kallsyms_address=yes, +ac_cv_linux_exports_kallsyms_address=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_address) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_KALLSYMS_SYMBOL, [ +AC_MSG_CHECKING(for exported kallsyms_symbol_to_address) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_kallsyms_symbol, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_kallsyms_symbol_to_address +#error kallsyms_symbol_to_address not exported +#endif], +ac_cv_linux_exports_kallsyms_symbol=yes, +ac_cv_linux_exports_kallsyms_symbol=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_symbol) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_SYS_CALL_TABLE, [ +AC_MSG_CHECKING(for exported sys_call_table) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_sys_call_table, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_sys_call_table +#error sys_call_table not exported +#endif], +ac_cv_linux_exports_sys_call_table=yes, +ac_cv_linux_exports_sys_call_table=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_sys_call_table) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_SYS_CHDIR, [ +AC_MSG_CHECKING(for exported sys_chdir) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_sys_chdir, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_sys_chdir +#error sys_chdir not exported +#endif], +ac_cv_linux_exports_sys_chdir=yes, +ac_cv_linux_exports_sys_chdir=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_sys_chdir) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_SYS_CLOSE, [ +AC_MSG_CHECKING(for exported sys_close) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_sys_close, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_sys_close +#error sys_close not exported +#endif], +ac_cv_linux_exports_sys_close=yes, +ac_cv_linux_exports_sys_close=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_sys_close) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_EXPORTS_TASKLIST_LOCK, [ +AC_MSG_CHECKING(for exported tasklist_lock) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_tasklist_lock, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_tasklist_lock +#error tasklist_lock not exported +#endif], +ac_cv_linux_exports_tasklist_lock=yes, +ac_cv_linux_exports_tasklist_lock=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_tasklist_lock) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_CDEV, [ +AC_MSG_CHECKING(for i_cdev in struct inode) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev, [ AC_TRY_COMPILE( [#include ], [struct inode _inode; -printf("%d\n", _inode.i_mmap_shared);], -ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes, -ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no)]) -AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mmap_shared) +printf("%d\n", _inode.i_cdev);], +ac_cv_linux_fs_struct_inode_has_i_cdev=yes, +ac_cv_linux_fs_struct_inode_has_i_cdev=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_cdev) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_DEVICES, [ +AC_MSG_CHECKING(for i_devices in struct inode) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev, +[ +AC_TRY_COMPILE( +[#include ], +[struct inode _inode; +printf("%d\n", _inode.i_devices);], +ac_cv_linux_fs_struct_inode_has_i_devices=yes, +ac_cv_linux_fs_struct_inode_has_i_devices=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_devices) CPPFLAGS="$save_CPPFLAGS"]) + AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, [ AC_MSG_CHECKING(for i_dirty_data_buffers in struct inode) save_CPPFLAGS="$CPPFLAGS" @@ -28,6 +218,7 @@ ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no)]) AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers) CPPFLAGS="$save_CPPFLAGS"]) + AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_MAPPING_OVERLOAD, [ AC_MSG_CHECKING(for i_mapping_overload in struct inode) save_CPPFLAGS="$CPPFLAGS" @@ -43,33 +234,96 @@ ac_cv_linux_fs_struct_inode_has_i_mapping_overload=no)]) AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mapping_overload) CPPFLAGS="$save_CPPFLAGS"]) -AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_CDEV, [ -AC_MSG_CHECKING(for i_cdev in struct inode) + +AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED, [ +AC_MSG_CHECKING(for i_mmap_shared in struct inode) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" -AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev, +AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_mmap_shared, [ AC_TRY_COMPILE( [#include ], [struct inode _inode; -printf("%d\n", _inode.i_cdev);], -ac_cv_linux_fs_struct_inode_has_i_cdev=yes, -ac_cv_linux_fs_struct_inode_has_i_cdev=no)]) -AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_cdev) +printf("%d\n", _inode.i_mmap_shared);], +ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes, +ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no)]) +AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mmap_shared) CPPFLAGS="$save_CPPFLAGS"]) -AC_DEFUN(LINUX_FS_STRUCT_INODE_HAS_I_DEVICES, [ -AC_MSG_CHECKING(for i_devices in struct inode) + +AC_DEFUN(LINUX_RECALC_SIGPENDING_ARG_TYPE,[ +AC_MSG_CHECKING(for recalc_sigpending arg type) save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" -AC_CACHE_VAL(ac_cv_linux_fs_struct_inode_has_i_cdev, +AC_CACHE_VAL(ac_cv_linux_func_recalc_sigpending_takes_void, [ AC_TRY_COMPILE( -[#include ], -[struct inode _inode; -printf("%d\n", _inode.i_devices);], -ac_cv_linux_fs_struct_inode_has_i_devices=yes, -ac_cv_linux_fs_struct_inode_has_i_devices=no)]) -AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_devices) +[#include ], +[recalc_sigpending();], +ac_cv_linux_func_recalc_sigpending_takes_void=yes, +ac_cv_linux_func_recalc_sigpending_takes_void=no)]) +AC_MSG_RESULT($ac_cv_linux_func_recalc_sigpending_takes_void) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT, [ +AC_MSG_CHECKING(for parent in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_parent, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.parent);], +ac_cv_linux_sched_struct_task_struct_has_parent=yes, +ac_cv_linux_sched_struct_task_struct_has_parent=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_parent) CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN(LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT, [ +AC_MSG_CHECKING(for real_parent in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_real_parent, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.real_parent);], +ac_cv_linux_sched_struct_task_struct_has_real_parent=yes, +ac_cv_linux_sched_struct_task_struct_has_real_parent=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_real_parent) +CPPFLAGS="$save_CPPFLAGS"]) + + +AC_DEFUN(LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, [ +AC_MSG_CHECKING(for sigmask_lock in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_sigmask_lock, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.sigmask_lock);], +ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes, +ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sigmask_lock) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN(LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND, [ +AC_MSG_CHECKING(for sighand in struct task_struct) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_sched_struct_task_struct_has_sighand, +[ +AC_TRY_COMPILE( +[#include ], +[struct task_struct _tsk; +printf("%d\n", _tsk.sighand);], +ac_cv_linux_sched_struct_task_struct_has_sighand=yes, +ac_cv_linux_sched_struct_task_struct_has_sighand=no)]) +AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sighand) +CPPFLAGS="$save_CPPFLAGS"])