]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - configure.ac
More 2.6.26 compat changes
[mirror_spl-debian.git] / configure.ac
index be8271b6b4a9c6b1b1227f146bfcf71576c1422f..58d469e1b07d8cc3af8522cecee732d673d5edb2 100644 (file)
+/*
+ *  This file is part of the SPL: Solaris Porting Layer.
+ *
+ *  Copyright (c) 2008 Lawrence Livermore National Security, LLC.
+ *  Produced at Lawrence Livermore National Laboratory
+ *  Written by:
+ *          Brian Behlendorf <behlendorf1@llnl.gov>,
+ *          Herb Wartens <wartens2@llnl.gov>,
+ *          Jim Garlick <garlick@llnl.gov>
+ *  UCRL-CODE-235197
+ *
+ *  This is free software; you can redistribute it and/or modify it
+ *  under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This is distributed in the hope that it will be useful, but WITHOUT
+ *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ *  for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.
+ */
+
 AC_INIT
 
 AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE(spl, 0.2.1)
-AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE(spl, 0.3.3)
+AC_CONFIG_HEADERS([spl_config.h])
 
 AC_PROG_INSTALL
 AC_PROG_CC
 AC_PROG_LIBTOOL
 
-ver=`uname -r`
-kernelsrc=
-kernelbuild=
-AC_ARG_WITH(kernel,
-       [  --with-linux=PATH      Path to kernel source ],
-       [kernelsrc="$withval"; kernelbuild="$withval"])
-AC_ARG_WITH(kernel-build,
-       [  --with-linux-obj=PATH  Path to kernel build objects ],
-       [kernelbuild="$withval"])
-
-AC_MSG_CHECKING([kernel source directory])
-if test -z "$kernelsrc"; then
-       kernelbuild=
-       sourcelink=/lib/modules/${ver}/source
-       buildlink=/lib/modules/${ver}/build
-
-       if test -e $sourcelink; then
-               kernelsrc=`(cd $sourcelink; /bin/pwd)`
-       fi
-       if test -e $buildlink; then
-               kernelbuild=`(cd $buildlink; /bin/pwd)`
-       fi
-       if test -z "$kernelsrc"; then
-               kernelsrc=$kernelbuild
-       fi
-       if test -z "$kernelsrc" -o -z "$kernelbuild"; then
-               AC_MSG_RESULT([Not found])
-               AC_MSG_ERROR([
-                       *** Please specify the location of the kernel source
-                       *** with the '--with-kernel=PATH' option])
-       fi
-fi
-
-AC_MSG_RESULT([$kernelsrc])
-AC_MSG_CHECKING([kernel build directory])
-AC_MSG_RESULT([$kernelbuild])
-
-AC_MSG_CHECKING([kernel source version])
-if test -r $kernelbuild/include/linux/version.h && 
-       fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
-
-       kernsrcver=`(echo "#include <linux/version.h>"; 
-                    echo "kernsrcver=UTS_RELEASE") | 
-                    cpp -I $kernelbuild/include |
-                    grep "^kernsrcver=" | cut -d \" -f 2`
-
-elif test -r $kernelbuild/include/linux/utsrelease.h && 
-       fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then
-
-       kernsrcver=`(echo "#include <linux/utsrelease.h>"; 
-                    echo "kernsrcver=UTS_RELEASE") | 
-                    cpp -I $kernelbuild/include |
-                    grep "^kernsrcver=" | cut -d \" -f 2`
-fi
-
-if test -z "$kernsrcver"; then
-       AC_MSG_RESULT([Not found])
-       AC_MSG_ERROR([
-               *** Cannot determine the version of the linux kernel source.
-               *** Please prepare the kernel before running this script])
-fi
-
-AC_MSG_RESULT([$kernsrcver])
-kmoduledir=${INSTALL_MOD_PATH}/lib/modules/$kernsrcver
-AC_SUBST(kernelsrc)
-AC_SUBST(kmoduledir)
-
-#
-# Each version of the kernel provides a slightly different
-# ABI, so figure out what we have to work with and adapt.
-#
-AC_MSG_CHECKING([if kernel defines kzalloc function])
-if egrep -qw "kzalloc" $kernelsrc/include/linux/slab.h; then
-       AC_DEFINE(HAVE_KZALLOC, 1, [kzalloc() is defined])
-       AC_MSG_RESULT([yes])
-else
-       AC_MSG_RESULT([no])
-fi
-
-
-AC_MSG_CHECKING([if kernel has mutex.h ])
-if test -f $kernelsrc/include/linux/mutex.h; then
-       AC_DEFINE(HAVE_MUTEX_H, 1, [kernel has mutex.h])
-       AC_MSG_RESULT([yes])
-else
-       AC_MSG_RESULT([no])
-fi
+LINUX=
+LINUX_OBJ=
+
+SPL_AC_KERNEL
+SPL_AC_DEBUG
+SPL_AC_DEBUG_KMEM
+SPL_AC_DEBUG_MUTEX
+SPL_AC_DEBUG_KSTAT
+SPL_AC_DEBUG_CALLB
+SPL_AC_TYPE_UINTPTR_T
+SPL_AC_ATOMIC_PANIC_NOTIFIER
+SPL_AC_3ARGS_INIT_WORK
+SPL_AC_2ARGS_REGISTER_SYSCTL
+SPL_AC_SET_SHRINKER
+SPL_AC_PATH_IN_NAMEIDATA
+SPL_AC_TASK_CURR
+SPL_AC_CTL_UNNUMBERED
+SPL_AC_FLS64
+SPL_AC_DEVICE_CREATE
+SPL_AC_CLASS_DEVICE_CREATE
+SPL_AC_SET_NORMALIZED_TIMESPEC_EXPORT
+SPL_AC_SET_NORMALIZED_TIMESPEC_INLINE
+SPL_AC_TIMESPEC_SUB
+SPL_AC_FDTABLE_HEADER
 
 TOPDIR=`/bin/pwd`
 
 # Add "V=1" to KERNELMAKE_PARAMS to enable verbose module build
 KERNELMAKE_PARAMS=
-KERNELCPPFLAGS="-I$TOPDIR -I$TOPDIR/include"
+KERNELCPPFLAGS="${KERNELCPPFLAGS} -I$TOPDIR -I$TOPDIR/include"
 
-if test "$kernelbuild" != "$kernelsrc"; then
+if test "${LINUX_OBJ}" != "${LINUX}"; then
        KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$kernelbuild"
 fi