]> git.proxmox.com Git - mirror_spl.git/blobdiff - config/spl-build.m4
Add ASSERT3B/VERIFY3B/USEC2NSEC/NSEC2USEC macros
[mirror_spl.git] / config / spl-build.m4
index fc0efcf39cbdf1132d3cb28d699989603f697543..698d51a87f276c45650607cee5d3750503bd0004 100644 (file)
@@ -33,7 +33,6 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
        SPL_AC_INODE_TRUNCATE_RANGE
        SPL_AC_FS_STRUCT_SPINLOCK
        SPL_AC_KUIDGID_T
-       SPL_AC_PUT_TASK_STRUCT
        SPL_AC_KERNEL_FALLOCATE
        SPL_AC_CONFIG_ZLIB_INFLATE
        SPL_AC_CONFIG_ZLIB_DEFLATE
@@ -43,6 +42,7 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
        SPL_AC_RWSEM_ACTIVITY
        SPL_AC_RWSEM_ATOMIC_LONG_COUNT
        SPL_AC_SCHED_RT_HEADER
+       SPL_AC_SCHED_SIGNAL_HEADER
        SPL_AC_4ARGS_VFS_GETATTR
        SPL_AC_3ARGS_VFS_GETATTR
        SPL_AC_2ARGS_VFS_GETATTR
@@ -113,6 +113,7 @@ AC_DEFUN([SPL_AC_KERNEL], [
                if test "$kernelsrc" = "NONE"; then
                        kernsrcver=NONE
                fi
+               withlinux=yes
        fi
 
        AC_MSG_RESULT([$kernelsrc])
@@ -125,7 +126,7 @@ AC_DEFUN([SPL_AC_KERNEL], [
 
        AC_MSG_CHECKING([kernel build directory])
        if test -z "$kernelbuild"; then
-               if test -e "/lib/modules/$(uname -r)/build"; then
+               if test x$withlinux != xyes -a -e "/lib/modules/$(uname -r)/build"; then
                        kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
                elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
                        kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
@@ -1084,25 +1085,6 @@ AC_DEFUN([SPL_AC_KUIDGID_T], [
        ])
 ])
 
-dnl #
-dnl # 2.6.39 API change,
-dnl # __put_task_struct() was exported by the mainline kernel.
-dnl #
-AC_DEFUN([SPL_AC_PUT_TASK_STRUCT],
-       [AC_MSG_CHECKING([whether __put_task_struct() is available])
-       SPL_LINUX_TRY_COMPILE_SYMBOL([
-               #include <linux/sched.h>
-       ], [
-               __put_task_struct(NULL);
-       ], [__put_task_struct], [], [
-               AC_MSG_RESULT(yes)
-               AC_DEFINE(HAVE_PUT_TASK_STRUCT, 1,
-                         [__put_task_struct() is available])
-       ], [
-               AC_MSG_RESULT(no)
-       ])
-])
-
 dnl #
 dnl # 2.6.35 API change,
 dnl # Unused 'struct dentry *' removed from vfs_fsync() prototype.
@@ -1331,7 +1313,8 @@ AC_DEFUN([SPL_AC_RWSEM_SPINLOCK_IS_RAW], [
                #include <linux/rwsem.h>
        ],[
                struct rw_semaphore dummy_semaphore __attribute__ ((unused));
-               raw_spinlock_t dummy_lock __attribute__ ((unused));
+               raw_spinlock_t dummy_lock __attribute__ ((unused)) =
+                   __RAW_SPIN_LOCK_INITIALIZER(dummy_lock);
                dummy_semaphore.wait_lock = dummy_lock;
        ],[
                AC_MSG_RESULT(yes)
@@ -1411,6 +1394,24 @@ AC_DEFUN([SPL_AC_SCHED_RT_HEADER],
        ])
 ])
 
+dnl #
+dnl # 4.11 API change,
+dnl # Moved things from linux/sched.h to linux/sched/signal.h
+dnl #
+AC_DEFUN([SPL_AC_SCHED_SIGNAL_HEADER],
+       [AC_MSG_CHECKING([whether header linux/sched/signal.h exists])
+       SPL_LINUX_TRY_COMPILE([
+               #include <linux/sched.h>
+               #include <linux/sched/signal.h>
+       ],[
+               return 0;
+       ],[
+               AC_DEFINE(HAVE_SCHED_SIGNAL_HEADER, 1, [linux/sched/signal.h exists])
+               AC_MSG_RESULT(yes)
+       ],[
+               AC_MSG_RESULT(no)
+       ])
+])
 
 dnl #
 dnl # 4.11 API, a528d35e@torvalds/linux