AC_INIT(lib/fuse.c) AM_INIT_AUTOMAKE(fuse, 1.9) AM_CONFIG_HEADER(include/config.h) m4_ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL]) AC_PROG_CC if test -z "$LD"; then LD=ld fi AC_SUBST(LD) # compatibility for automake < 1.8 if test -z "$mkdir_p"; then mkdir_p="../mkinstalldirs" AC_SUBST(mkdir_p) fi CFLAGS="-Wall -W -g -O2" CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT" AC_ARG_ENABLE(kernel-module, [ --enable-kernel-module Compile kernel module, requires --with-kernel option ]) AC_ARG_ENABLE(lib, [ --enable-lib Compile with library ]) AC_ARG_ENABLE(util, [ --enable-util Compile with util ]) AC_ARG_ENABLE(example, [ --enable-example Compile with examples ]) AC_ARG_ENABLE(auto-modprobe, [ --enable-auto-modprobe Automatically insert kernel module]) subdirs="include patch" if test "$enable_kernel_module" != "no"; then AC_MSG_CHECKING([kernel source directory]) kernelsrc= AC_ARG_WITH(kernel, [ --with-kernel Specify location of kernel source ], [kernelsrc="$withval"]) if test -z "$kernelsrc"; then buildlink=/lib/modules/`uname -r`/build if test -e $buildlink; then kernelsrc=`(cd $buildlink; /bin/pwd)` else AC_MSG_RESULT([Not found]) AC_MSG_ERROR([ *** Please specify the location of the kernel source with *** the '--with-kernel=SRCDIR' option]) fi fi AC_MSG_RESULT([$kernelsrc]) AC_MSG_CHECKING([kernel source version]) if test -r $kernelsrc/include/linux/version.h; then kernsrcver=`(echo "#include "; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelsrc/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 *** configure the kernel before running this script]) fi AC_MSG_RESULT([$kernsrcver]) majver=`echo "$kernsrcver" | cut -f-2 -d.` kmoduledir=/lib/modules/$kernsrcver AC_SUBST(kernelsrc) AC_SUBST(majver) AC_SUBST(kmoduledir) subdirs="$subdirs kernel" if echo "$kernsrcver" | grep -q "^2.4"; then old_cflags="$CFLAGS" CFLAGS="-I${kernelsrc}/include -Wall -O2 -fno-strict-aliasing -D__KERNEL__" AC_CHECK_DECL(i_size_read, AC_DEFINE(HAVE_I_SIZE_FUNC, 1, [Kernel has i_size_read() and i_size_write() functions]),, [#include ]) CFLAGS="$old_cflags" fi AC_MSG_CHECKING([if kernel has extended attribute support]) if test -f $kernelsrc/include/linux/xattr.h; then AC_DEFINE(HAVE_KERNEL_XATTR, 1, [Kernel has xattr support],,) AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi isuml=no KERNELMAKE_PARAMS= KERNELCPPFLAGS= AC_MSG_CHECKING([if this is user mode linux]) if test -f $kernelsrc/include/linux/autoconf.h && grep -q "^#define CONFIG_USERMODE 1" $kernelsrc/include/linux/autoconf.h; then isuml=yes KERNELMAKE_PARAMS="ARCH=um" KERNELCPPFLAGS="-D__arch_um__ -DSUBARCH=\\\"i386\\\" -D_LARGEFILE64_SOURCE -I${kernelsrc}/arch/um/include -Derrno=kernel_errno -I${kernelsrc}/arch/um/kernel/tt/include -I${kernelsrc}/arch/um/kernel/skas/include" fi AC_MSG_RESULT([$isuml]) AC_SUBST(KERNELMAKE_PARAMS) AC_SUBST(KERNELCPPFLAGS) fi if test "$enable_lib" != "no"; then subdirs="$subdirs lib"; fi if test "$enable_util" != "no"; then subdirs="$subdirs util"; fi if test "$enable_example" != "no"; then subdirs="$subdirs example"; fi if test "$enable_auto_modprobe" = "yes"; then AC_DEFINE(AUTO_MODPROBE, 1, [Automatically insert kernel module]) fi AC_CHECK_FUNCS([setxattr]) AC_CHECK_MEMBERS([struct stat.st_atim]) AC_SUBST(subdirs) AC_OUTPUT([Makefile kernel/Makefile lib/Makefile util/Makefile example/Makefile include/Makefile include/linux/Makefile patch/Makefile])