# Default ZFS kernel mode configuration # Kernel build make options KERNELMAKE_PARAMS= #KERNELMAKE_PARAMS="V=1" # Enable verbose module build # Kernel build cpp flags KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL " KERNELCPPFLAGS="$KERNELCPPFLAGS -I$splsrc -I$splsrc/include -I$TOPDIR" # Minimally required for pread() functionality an other GNU goodness HOSTCFLAGS="$HOSTCFLAGS -ggdb -O2 -std=c99 -D_GNU_SOURCE -D__EXTENSIONS__ " # XXX: Quiet warnings not covered by the gcc-* patches # XXX: Once all the warnings are resolved these flags should be removed HOSTCFLAGS="$HOSTCFLAGS -Wno-switch -Wno-unused -Wno-missing-braces -Wno-parentheses " HOSTCFLAGS="$HOSTCFLAGS -Wno-uninitialized -fno-strict-aliasing " # Expected defines not covered by zfs_config.h or spl_config.h HOSTCFLAGS="$HOSTCFLAGS -DHAVE_SPL -D_POSIX_PTHREAD_SEMANTICS " HOSTCFLAGS="$HOSTCFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT " HOSTCFLAGS="$HOSTCFLAGS -DTEXT_DOMAIN=\\\"zfs-linux-kernel\\\" " # Expected default include paths additional paths added by Makefiles HOSTCFLAGS="$HOSTCFLAGS -I$TOPDIR " if test "$kernelbuild" != "$kernelsrc"; then KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$kernelbuild" fi # XXX: I really, really hate this... but to ensure the kernel build # system compiles C files shared between a library and a kernel module, # we need to ensure each file has a unique make target. To do that # I'm creating symlinks for each shared file at configure time. It # may be possible something better can be done in the Makefile but it # will take some serious investigation and I don't have the time now. echo "Creating symlinks for additional make targets" ln -f -s $LIBDIR/libport/u8_textprep.c $LIBDIR/libport/ku8_textprep.c ln -f -s $LIBDIR/libavl/avl.c $LIBDIR/libavl/kavl.c ln -f -s $LIBDIR/libavl/avl.c $LIBDIR/libavl/uavl.c ln -f -s $LIBDIR/libnvpair/nvpair.c $LIBDIR/libnvpair/knvpair.c ln -f -s $LIBDIR/libnvpair/nvpair.c $LIBDIR/libnvpair/unvpair.c ln -f -s $LIBDIR/libzcommon/zfs_deleg.c $LIBDIR/libzcommon/kzfs_deleg.c ln -f -s $LIBDIR/libzcommon/zfs_prop.c $LIBDIR/libzcommon/kzfs_prop.c ln -f -s $LIBDIR/libzcommon/zprop_common.c $LIBDIR/libzcommon/kzprop_common.c ln -f -s $LIBDIR/libzcommon/compress.c $LIBDIR/libzcommon/kcompress.c ln -f -s $LIBDIR/libzcommon/list.c $LIBDIR/libzcommon/klist.c ln -f -s $LIBDIR/libzcommon/zfs_namecheck.c $LIBDIR/libzcommon/kzfs_namecheck.c ln -f -s $LIBDIR/libzcommon/zfs_comutil.c $LIBDIR/libzcommon/kzfs_comutil.c ln -f -s $LIBDIR/libzcommon/zpool_prop.c $LIBDIR/libzcommon/kzpool_prop.c