configure-linux-redhat-support-on-redhat-only-20010706
[openafs.git] / configure.in
index 70efdec..d5e9863 100644 (file)
@@ -3,7 +3,7 @@ AM_INIT_AUTOMAKE(openafs,devel)
 AC_CANONICAL_HOST
 AC_CONFIG_HEADER(src/config/afsconfig.h)
 
-#BOZO_SAVE_CORES BOS_RESTRICTED_MODE BOS_NEW_CONFIG pam sia  BITMAP_LATER FAST_RESTART
+#BOZO_SAVE_CORES BOS_RESTRICTED_MODE BOS_NEW_CONFIG pam sia
 AC_ARG_WITH(afs-sysname,
 [  --with-afs-sysname=sys    use sys for the afs sysname]
 )
@@ -24,6 +24,9 @@ AC_ARG_ENABLE( bitmap-later,
 AC_ARG_WITH(linux-kernel-headers,
 [  --with-linux-kernel-headers=path            use the kernel headers found at path(optional, defaults to /usr/src/linux)]
 )
+AC_ARG_ENABLE(kernel-module,
+[  --disable-kernel-module                     disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
+)
 
 AC_PROG_CC
 
@@ -53,26 +56,43 @@ system=$host
 case $system in
         *-linux*)
                MKAFS_OSTYPE=LINUX
-               if test "x$with_linux_kernel_headers" != "x"; then
-                       LINUX_KERNEL_PATH="$with_linux_kernel_headers"
-               else
-                       LINUX_KERNEL_PATH="/usr/src/linux"
-               fi
-               if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'`
-                if test "x$linux_kvers" = "x"; then
-                 AC_MSG_ERROR(Linux headers lack version definition)
-                 exit 1
+               if test "x$enable_kernel_module" = "xyes"; then
+                if test "x$with_linux_kernel_headers" != "x"; then
+                  LINUX_KERNEL_PATH="$with_linux_kernel_headers"
+                else
+                  LINUX_KERNEL_PATH="/usr/src/linux"
+                fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
+                 linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -1`
+                 if test "x$linux_kvers" = "x"; then
+                   AC_MSG_ERROR(Linux headers lack version definition)
+                   exit 1
+                 else
+                   LINUX_VERSION="$linux_kvers"
+                 fi
                 else
-                 LINUX_VERSION="$linux_kvers"
+                    enable_kernel_module="no"
+                 fi
+                if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
+                    enable_kernel_module="no"
                 fi
-               else
-                AC_MSG_ERROR(No linux headers found at $with_linux_kernel_headers)
-                exit 1
+                if test "x$enable_kernel_module" = "xno"; then
+                 if test "x$with_linux_kernel_headers" != "x"; then
+                  AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH)
+                  exit 1
+                 else
+                  AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module)
+                 fi
+                fi
+               fi
+               AC_MSG_RESULT(linux)
+               if test "x$enable_kernel_module" = "xyes"; then
+                LINUX_FS_STRUCT_INODE_HAS_I_BYTES
+                LINUX_INODE_SETATTR_RETURN_TYPE
+                LINUX_NEED_RHCONFIG
+                LINUX_WHICH_MODULES
+                :
                fi
-                AC_MSG_RESULT(linux)
-               LINUX_FS_STRUCT_INODE_HAS_I_BYTES
-               LINUX_INODE_SETATTR_RETURN_TYPE
                 ;;
         *-solaris*)
                MKAFS_OSTYPE=SOLARIS
@@ -167,7 +187,7 @@ if test "x$PTHREAD_LIBS" = xerror; then
         AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
-        AC_MSG_ERROR(*** Unable to locate working posix thread library ***)
+        AC_MSG_WARN(*** Unable to locate working posix thread library ***)
 fi
 AC_SUBST(PTHREAD_LIBS)
 
@@ -227,7 +247,12 @@ AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h)
 
 AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf re_comp re_exec)
 
+if test "x$enable_kernel_module" = "xyes"; then
+ENABLE_KERNEL_MODULE=libafs
+fi
+
 AC_SUBST(AFS_SYSNAME)
+AC_SUBST(ENABLE_KERNEL_MODULE)
 AC_SUBST(LIB_AFSDB)
 AC_SUBST(LINUX_KERNEL_PATH)
 AC_SUBST(LINUX_VERSION)