-AC_INIT
+/*
+ * 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_LANG(C)
+SPL_AC_META
+AC_CONFIG_AUX_DIR([config])
AC_CANONICAL_SYSTEM
-AM_INIT_AUTOMAKE(spl, 0.3.0)
-AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([$SPL_META_NAME], [$SPL_META_VERSION])
+AC_CONFIG_HEADERS([spl_config.h])
+AH_BOTTOM([#include <spl_unconfig.h>])
+AM_MAINTAINER_MODE
AC_PROG_INSTALL
AC_PROG_CC
AC_PROG_LIBTOOL
-kernelsrc=
-kernelbuild=
-
-AC_DEFUN([SPL_AC_KERNEL], [
- ver=`uname -r`
-
- AC_ARG_WITH([linux],
- AS_HELP_STRING([--with-linux=PATH],
- [Path to kernel source]),
- [kernelsrc="$withval"; kernelbuild="$withval"])
-
- AC_ARG_WITH([linux-obj],
- AS_HELP_STRING([--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)
-])
-
-AC_DEFUN([SPL_AC_DEBUG], [
- AC_MSG_CHECKING([whether debugging is enabled])
- AC_ARG_ENABLE( [debug],
- AS_HELP_STRING([--enable-debug],
- [Enable generic debug support (default off)]),
- [ case "$enableval" in
- yes) spl_ac_debug=yes ;;
- no) spl_ac_debug=no ;;
- *) AC_MSG_RESULT([Error!])
- AC_MSG_ERROR([Bad value "$enableval" for --enable-debug]) ;;
- esac ]
- )
- if test "$spl_ac_debug" = yes; then
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG"
- else
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
- AC_DEFINE([NDEBUG], [1],
- [Define to 1 to disable debug tracing])
- fi
- AC_MSG_RESULT([${spl_ac_debug=no}])
-])
-
-AC_DEFUN([SPL_AC_DEBUG_KMEM], [
- AC_MSG_CHECKING([whether kmem debugging is enabled])
- AC_ARG_ENABLE( [debug-kmem],
- AS_HELP_STRING([--enable-debug-kmem],
- [Enable kmem debug support (default off)]),
- [ case "$enableval" in
- yes) spl_ac_debug=yes ;;
- no) spl_ac_debug=no ;;
- *) AC_MSG_RESULT([Error!])
- AC_MSG_ERROR([Bad value "$enableval" for --enable-debug-kmem]) ;;
- esac ]
- )
- if test "$spl_ac_debug" = yes; then
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
- AC_DEFINE([DEBUG_KMEM], [1],
- [Define to 1 to enable kmem debugging])
- fi
- AC_MSG_RESULT([${spl_ac_debug=no}])
-])
-
-AC_DEFUN([SPL_AC_DEBUG_MUTEX], [
- AC_MSG_CHECKING([whether mutex debugging is enabled])
- AC_ARG_ENABLE( [debug-mutex],
- AS_HELP_STRING([--enable-debug-mutex],
- [Enable mutex debug support (default off)]),
- [ case "$enableval" in
- yes) spl_ac_debug=yes ;;
- no) spl_ac_debug=no ;;
- *) AC_MSG_RESULT([Error!])
- AC_MSG_ERROR([Bad value "$enableval" for --enable-debug-mutex]) ;;
- esac ]
- )
- if test "$spl_ac_debug" = yes; then
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_MUTEX"
- AC_DEFINE([DEBUG_MUTEX], [1],
- [Define to 1 to enable mutex debugging])
- fi
- AC_MSG_RESULT([${spl_ac_debug=no}])
-])
-
-AC_DEFUN([SPL_AC_DEBUG_KSTAT], [
- AC_MSG_CHECKING([whether kstat debugging is enabled])
- AC_ARG_ENABLE( [debug-kstat],
- AS_HELP_STRING([--enable-debug-kstat],
- [Enable kstat debug support (default off)]),
- [ case "$enableval" in
- yes) spl_ac_debug=yes ;;
- no) spl_ac_debug=no ;;
- *) AC_MSG_RESULT([Error!])
- AC_MSG_ERROR([Bad value "$enableval" for --enable-debug-kstat]) ;;
- esac ]
- )
- if test "$spl_ac_debug" = yes; then
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KSTAT"
- AC_DEFINE([DEBUG_KSTAT], [1],
- [Define to 1 to enable kstat debugging])
- fi
- AC_MSG_RESULT([${spl_ac_debug=no}])
-])
-
-AC_DEFUN([SPL_AC_DEBUG_CALLB], [
- AC_MSG_CHECKING([whether callb debugging is enabled])
- AC_ARG_ENABLE( [debug-callb],
- AS_HELP_STRING([--enable-debug-callb],
- [Enable callb debug support (default off)]),
- [ case "$enableval" in
- yes) spl_ac_debug=yes ;;
- no) spl_ac_debug=no ;;
- *) AC_MSG_RESULT([Error!])
- AC_MSG_ERROR([Bad value "$enableval" for --enable-debug-callb]) ;;
- esac ]
- )
- if test "$spl_ac_debug" = yes; then
- KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_CALLB"
- AC_DEFINE([DEBUG_CALLB], [1],
- [Define to 1 to enable callb debugging])
- fi
- AC_MSG_RESULT([${spl_ac_debug=no}])
-])
-
SPL_AC_KERNEL
+SPL_AC_MODULE_SYMVERS
+SPL_AC_LICENSE
SPL_AC_DEBUG
SPL_AC_DEBUG_KMEM
SPL_AC_DEBUG_MUTEX
SPL_AC_DEBUG_KSTAT
SPL_AC_DEBUG_CALLB
-
-TOPDIR=`/bin/pwd`
-
-# Add "V=1" to KERNELMAKE_PARAMS to enable verbose module build
-KERNELMAKE_PARAMS=
-KERNELCPPFLAGS="${KERNELCPPFLAGS} -I$TOPDIR -I$TOPDIR/include"
-
-if test "$kernelbuild" != "$kernelsrc"; then
- KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$kernelbuild"
-fi
-
-AC_SUBST(KERNELMAKE_PARAMS)
-AC_SUBST(KERNELCPPFLAGS)
-AC_SUBST(KERNELCFLAGS)
-
-AC_CONFIG_FILES([ Makefile
- lib/Makefile
- cmd/Makefile
- modules/Makefile
- modules/spl/Makefile
- modules/splat/Makefile
- include/Makefile
- include/sys/Makefile
- scripts/Makefile
- scripts/spl.spec
- ])
+SPL_AC_TYPE_UINTPTR_T
+SPL_AC_TYPE_ATOMIC64_T
+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_5ARGS_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_INIT_UTSNAME
+SPL_AC_FDTABLE_HEADER
+SPL_AC_FILES_FDTABLE
+SPL_AC_UACCESS_HEADER
+SPL_AC_KMALLOC_NODE
+SPL_AC_MONOTONIC_CLOCK
+SPL_AC_INODE_I_MUTEX
+SPL_AC_MUTEX_LOCK_NESTED
+SPL_AC_DIV64_64
+SPL_AC_DIV64_U64
+SPL_AC_3ARGS_ON_EACH_CPU
+SPL_AC_KALLSYMS_LOOKUP_NAME
+SPL_AC_GET_VMALLOC_INFO
+SPL_AC_PGDAT_HELPERS
+SPL_AC_FIRST_ONLINE_PGDAT
+SPL_AC_NEXT_ONLINE_PGDAT
+SPL_AC_NEXT_ZONE
+SPL_AC_PGDAT_LIST
+SPL_AC_GET_ZONE_COUNTS
+SPL_AC_GLOBAL_PAGE_STATE
+SPL_AC_ZONE_STAT_ITEM_FIA
+SPL_AC_2ARGS_VFS_UNLINK
+SPL_AC_4ARGS_VFS_RENAME
+
+AC_CONFIG_FILES([
+ Makefile
+ lib/Makefile
+ cmd/Makefile
+ module/Makefile
+ module/spl/Makefile
+ module/splat/Makefile
+ include/Makefile
+ scripts/Makefile
+ spl.spec
+])
AC_OUTPUT