linux-packaging-module-build-20080701
[openafs.git] / acinclude.m4
index e5acb84..91cbd7f 100644 (file)
@@ -53,6 +53,18 @@ AC_ARG_WITH(bsd-kernel-headers,
 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_WITH([linux-kernel-packaging],
+           AS_HELP_STRING([--with-linux-kernel-packaging],
+                          [ use standard naming conventions to aid Linux 
+                            kernel build packaging (disables MPS, sets the 
+                            kernel module name to openafs.ko, and installs 
+                            kernel modules into the standard Linux location)
+                          ]), 
+           [ AC_SUBST(LINUX_KERNEL_PACKAGING, "yes")
+             AC_SUBST(LINUX_LIBAFS_NAME, "openafs") ], 
+            [ AC_SUBST(LINUX_LIBAFS_NAME, "libafs") ] )
+
 AC_ARG_ENABLE(kernel-module,
 [  --disable-kernel-module                     disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
 )
@@ -607,10 +619,14 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
 
                  LINUX_KBUILD_USES_EXTRA_CFLAGS
                 LINUX_KERNEL_COMPILE_WORKS
+                LINUX_EXPORTS_FIND_TASK_BY_PID
+                LINUX_EXPORTS_PROC_ROOT_FS
                  LINUX_HAVE_CURRENT_KERNEL_TIME
                  LINUX_KMEM_CACHE_INIT
                 LINUX_HAVE_KMEM_CACHE_T
                 LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
+                LINUX_D_PATH_TAKES_STRUCT_PATH
+                LINUX_NEW_EXPORT_OPS
                 LINUX_CONFIG_H_EXISTS
                 LINUX_COMPLETION_H_EXISTS
                 LINUX_EXPORTFS_H_EXISTS
@@ -688,7 +704,11 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                  LINUX_EXPORTS_SYS_OPEN
                  LINUX_EXPORTS_SYS_WAIT4
                 LINUX_EXPORTS_RCU_READ_LOCK
-                LINUX_WHICH_MODULES
+                if test "x$with_linux_kernel_packaging" = "xno" ; then
+                  LINUX_WHICH_MODULES
+                else
+                  AC_SUBST(MPS,'SP')
+                fi
                  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
@@ -828,7 +848,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
                  AC_DEFINE(HAVE_KERNEL_PAGE_FOLLOW_LINK, 1, [define if your linux kernel provides page_follow_link])
                 fi
-                if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
+                if test "x$ac_cv_linux_kernel_hlist_unhashed" = "xyes" ; then
                  AC_DEFINE(HAVE_KERNEL_HLIST_UNHASHED, 1, [define if your linux kernel provides hlist_unhashed])
                 fi
                 if test "x$ac_linux_syscall" = "xyes" ; then