[Ocfs2-commits] manish commits r2106 - in trunk: .
kapi-compat/include
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Mon Apr 4 02:41:42 CDT 2005
Author: manish
Signed-off-by: mfasheh
Date: 2005-04-04 02:41:40 -0500 (Mon, 04 Apr 2005)
New Revision: 2106
Added:
trunk/kfeature.m4
Modified:
trunk/Config.make.in
trunk/aclocal.m4
trunk/configure.in
trunk/kapi-compat/include/assert_spin_locked.h
Log:
autoconf macroize the kernel feature tests, deletes a lot of duplicated shell
code. Also remove the iocb dtor in union test, since it's no longer needed.
Signed-off-by: mfasheh
Modified: trunk/Config.make.in
===================================================================
--- trunk/Config.make.in 2005-04-04 07:17:20 UTC (rev 2105)
+++ trunk/Config.make.in 2005-04-04 07:41:40 UTC (rev 2106)
@@ -63,7 +63,6 @@
MISSING_SOCK_CREATE_LITE = @MISSING_SOCK_CREATE_LITE@
JOURNAL_ACCESS_WITH_CREDITS = @JOURNAL_ACCESS_WITH_CREDITS@
-KIOCB_DTOR_IN_PRIVATE = @KIOCB_DTOR_IN_PRIVATE@
BACKING_DEV_CAPABILITIES = @BACKING_DEV_CAPABILITIES@
COMPAT_SAFE_WRITE = @COMPAT_SAFE_WRITE@
Modified: trunk/aclocal.m4
===================================================================
--- trunk/aclocal.m4 2005-04-04 07:17:20 UTC (rev 2105)
+++ trunk/aclocal.m4 2005-04-04 07:41:40 UTC (rev 2106)
@@ -1 +1,2 @@
m4_include([kver.m4])
+m4_include([kfeature.m4])
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2005-04-04 07:17:20 UTC (rev 2105)
+++ trunk/configure.in 2005-04-04 07:41:40 UTC (rev 2106)
@@ -232,23 +232,22 @@
AC_SUBST(KERNELVER)
COMPAT_SAFE_WRITE=
-AC_MSG_CHECKING([for safe write ordering])
-if test "x$KERNEL_26" = "xyes"; then
- have_safe_write=yes
-elif egrep "EXPORT_SYMBOL.*\(generic_file_write_nolock\);" "$KERNELSRC/kernel/ksyms.c" >/dev/null 2>&1; then
- have_safe_write=yes
-elif egrep "EXPORT_SYMBOL.*\(do_generic_file_write\);" "$KERNELSRC/kernel/ksyms.c" >/dev/null 2>&1; then
- have_safe_write=yes
- COMPAT_SAFE_WRITE=yes
-else
- have_safe_write=no
-fi
-AC_MSG_RESULT($have_safe_write)
+if test "x$KERNEL_26" != "xyes"; then
+ AC_MSG_CHECKING([for safe write ordering])
+ if egrep "EXPORT_SYMBOL.*\(generic_file_write_nolock\);" "$KERNELSRC/kernel/ksyms.c" >/dev/null 2>&1; then
+ have_safe_write=yes
+ elif egrep "EXPORT_SYMBOL.*\(do_generic_file_write\);" "$KERNELSRC/kernel/ksyms.c" >/dev/null 2>&1; then
+ have_safe_write=yes
+ COMPAT_SAFE_WRITE=yes
+ else
+ have_safe_write=no
+ fi
+ AC_MSG_RESULT($have_safe_write)
-if test "$have_safe_write" = "no"; then
- AC_MSG_ERROR([Can't guarantee safe writes, please try a 2.6.x kernel])
+ if test "$have_safe_write" = "no"; then
+ AC_MSG_ERROR([Can't guarantee safe writes, please try a 2.6.x kernel])
+ fi
fi
-
AC_SUBST(COMPAT_SAFE_WRITE)
MODVERSIONS=
@@ -268,10 +267,9 @@
fi
AC_SUBST(MODVERSIONS)
-AC_MSG_CHECKING([for NPTL support])
-if test "x$KERNEL_26" = "xyes"; then
- have_NPTL=yes
-else
+if test "x$KERNEL_26" != "xyes"; then
+ AC_MSG_CHECKING([for NPTL support])
+
saved_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="-I$KERNELINC $saved_CPPFLAGS"
@@ -282,109 +280,46 @@
[recalc_sigpending ();], have_NPTL=yes, have_NPTL=no)
CPPFLAGS="$saved_CPPFLAGS"
-fi
-AC_MSG_RESULT($have_NPTL)
-if test "x$have_NPTL" = "xno"; then
- AC_MSG_ERROR([No NPTL support, please try a 2.6.x kernel])
+ AC_MSG_RESULT($have_NPTL)
+
+ if test "x$have_NPTL" = "xno"; then
+ AC_MSG_ERROR([No NPTL support, please try a 2.6.x kernel])
+ fi
fi
MISSING_SOCK_CREATE_LITE=
-AC_MSG_CHECKING([for sock_create_lite])
-if grep "\<sock_create_lite(" "$KERNELINC/linux/net.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- MISSING_SOCK_CREATE_LITE=yes
- AC_MSG_RESULT(no)
-fi
+OCFS2_CHECK_KERNEL(sock_create_lite, net.h,, MISSING_SOCK_CREATE_LITE=yes)
AC_SUBST(MISSING_SOCK_CREATE_LITE)
-AC_MSG_CHECKING([for msecs_to_jiffies])
-if grep "\<msecs_to_jiffies(" "$KERNELINC/linux/jiffies.h" "$KERNELINC/linux/time.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS msecs_to_jiffies.h"
- AC_MSG_RESULT(no)
-fi
+OCFS2_KERNEL_COMPAT(msecs_to_jiffies, [jiffies.h time.h])
+OCFS2_KERNEL_COMPAT(wait_event_timeout, wait.h)
+OCFS2_KERNEL_COMPAT(wait_event_interruptible_timeout, wait.h)
+OCFS2_KERNEL_COMPAT(kcalloc, slab.h)
+OCFS2_KERNEL_COMPAT(assert_spin_locked, spinlock.h)
-AC_MSG_CHECKING([for wait_event_timeout])
-if grep "\<wait_event_timeout(" "$KERNELINC/linux/wait.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS wait_event_timeout.h"
- AC_MSG_RESULT(no)
-fi
-
-AC_MSG_CHECKING([for wait_event_interruptible_timeout])
-if grep "\<wait_event_interruptible_timeout(" "$KERNELINC/linux/wait.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS wait_event_interruptible_timeout.h"
- AC_MSG_RESULT(no)
-fi
-
-AC_MSG_CHECKING([for kcalloc])
-if grep "\<kcalloc(" "$KERNELINC/linux/slab.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS kcalloc.h"
- AC_MSG_RESULT(no)
-fi
-
#this check will break for 2.4 kernels...
-AC_MSG_CHECKING([for kref_init with release callback])
-if grep "kref_init.*release" "$KERNELINC/linux/kref.h" >/dev/null 2>&1 ; then
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS kref_put.h"
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS kref_init.h"
- AC_MSG_RESULT(no)
-fi
+OCFS2_CHECK_KERNEL([kref_init with release callback], kref.h,
+ kref_compat_header="kref_put.h", kref_compat_header="kref_init.h",
+ [kref_init.*release])
+KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS $kref_compat_header"
-AC_MSG_CHECKING([for assert_spin_locked])
-if grep "\<assert_spin_locked(" "$KERNELINC/linux/spinlock.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
-else
- KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS assert_spin_locked.h"
- AC_MSG_RESULT(no)
-fi
-
-AC_MSG_CHECKING([for journal access functions with a credits pointer])
-KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS journal_access.h"
- JOURNAL_ACCESS_WITH_CREDITS=
-if grep "\<int \*credits);" "$KERNELINC/linux/jbd.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
- JOURNAL_ACCESS_WITH_CREDITS=yes
-else
- AC_MSG_RESULT(no)
-fi
+JOURNAL_ACCESS_WITH_CREDITS=
+OCFS2_CHECK_KERNEL([journal access functions with a credits pointer], jbd.h,
+ JOURNAL_ACCESS_WITH_CREDITS=yes, , [\<int \*credits);])
AC_SUBST(JOURNAL_ACCESS_WITH_CREDITS)
+KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS journal_access.h"
-KIOCB_DTOR_IN_PRIVATE=
-AC_MSG_CHECKING([for iocb dtor in union])
-if grep "\<DTOR_IN_PRIVATE\>" "$KERNELINC/linux/aio.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
- KIOCB_DTOR_IN_PRIVATE=yes
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST(KIOCB_DTOR_IN_PRIVATE)
-
BACKING_DEV_CAPABILITIES=
-AC_MSG_CHECKING([for cababilities mask in backing_dev_info])
-if grep "\<BDI_CAP_NO_WRITEBACK\>" "$KERNELINC/linux/backing-dev.h" >/dev/null 2>&1 ; then
- AC_MSG_RESULT(yes)
- BACKING_DEV_CAPABILITIES=yes
-else
- AC_MSG_RESULT(no)
-fi
+OCFS2_CHECK_KERNEL([for cababilities mask in backing_dev_info], backing-dev.h,
+ BACKING_DEV_CAPABILITIES=yes, , [\<BDI_CAP_NO_WRITEBACK\>])
AC_SUBST(BACKING_DEV_CAPABILITIES)
# using -include has two advantages:
# the source doesn't need to know to include compat headers
# the compat header file names don't go through the search path
for h in $KAPI_COMPAT_HEADERS; do
- KAPI_COMPAT_CFLAGS="$KAPI_COMPAT_CFLAGS -include \$(OUR_TOPDIR)/kapi-compat/include/$h"
+ KAPI_COMPAT_CFLAGS="$KAPI_COMPAT_CFLAGS -include \$(OUR_TOPDIR)/kapi-compat/include/$h"
done
AC_SUBST(KAPI_COMPAT_CFLAGS)
Modified: trunk/kapi-compat/include/assert_spin_locked.h
===================================================================
--- trunk/kapi-compat/include/assert_spin_locked.h 2005-04-04 07:17:20 UTC (rev 2105)
+++ trunk/kapi-compat/include/assert_spin_locked.h 2005-04-04 07:41:40 UTC (rev 2106)
@@ -9,6 +9,7 @@
* that expose this api. (kernel namespace inconsistency 1, universe 0)
*/
+#include <linux/types.h>
#include <linux/jbd.h>
#ifndef assert_spin_locked
#define assert_spin_locked(lock) do { (void)(lock); } while(0)
Added: trunk/kfeature.m4
===================================================================
--- trunk/kfeature.m4 2005-04-04 07:17:20 UTC (rev 2105)
+++ trunk/kfeature.m4 2005-04-04 07:41:40 UTC (rev 2106)
@@ -0,0 +1,21 @@
+AC_DEFUN([OCFS2_CHECK_KERNEL],
+ [AC_MSG_CHECKING([for $1])
+ kernel_check_regexp="m4_default([$5], [\<$1(])"
+
+ kernel_check_headers=
+ for kfile in $2; do
+ kernel_check_headers="$kernel_check_headers $KERNELINC/linux/$kfile"
+ done
+
+ if grep "$kernel_check_regexp" $kernel_check_headers >/dev/null 2>&1 ; then
+ m4_default([$3], :)
+ AC_MSG_RESULT(yes)
+ else
+ m4_default([$4], :)
+ AC_MSG_RESULT(no)
+ fi
+])# OCFS2_CHECK_KERNEL
+
+AC_DEFUN([OCFS2_KERNEL_COMPAT],
+ [OCFS2_CHECK_KERNEL($1, $2, ,
+ [KAPI_COMPAT_HEADERS="$KAPI_COMPAT_HEADERS $1.h"])])
More information about the Ocfs2-commits
mailing list