diff options
author | Brian Behlendorf <[email protected]> | 2008-11-26 14:06:23 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2008-11-26 14:06:23 -0800 |
commit | e833fd4a5c1fc22077c36782070837553f60b258 (patch) | |
tree | ff12e099c95add19fdefe77bec6e89d2c4f54e9c /config | |
parent | dbceaca71db4d7989acdef950ae23d4c92a55b67 (diff) |
Additional buidl system cleanup. Starting to move all
of the kernel specific build info in to config/kernel,
likewise and user specific build flags should go in
config/user. This seems like a reasonable way to go.
Diffstat (limited to 'config')
-rw-r--r-- | config/kernel | 50 | ||||
-rw-r--r-- | config/zfs-build.m4 | 10 |
2 files changed, 57 insertions, 3 deletions
diff --git a/config/kernel b/config/kernel index 22a43aaa7..d7d52ad07 100644 --- a/config/kernel +++ b/config/kernel @@ -1 +1,51 @@ # 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 diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 index 484ce8dd3..badb8b69e 100644 --- a/config/zfs-build.m4 +++ b/config/zfs-build.m4 @@ -13,9 +13,6 @@ AC_DEFUN([ZFS_AC_CONFIG], [ *** in ./config/ with the '--with-zfs-config=CONFIG' option]) fi - AC_MSG_RESULT([$zfsconfig]); - . ./config/$zfsconfig - TOPDIR=`/bin/pwd` BUILDDIR=$ZFS_META_NAME #+$zfsconfig ZFSDIR=$TOPDIR/$BUILDDIR @@ -30,6 +27,13 @@ AC_DEFUN([ZFS_AC_CONFIG], [ AC_SUBST(LIBDIR) AC_SUBST(CMDDIR) AC_SUBST(UNAME) + + AC_MSG_RESULT([$zfsconfig]); + . ./config/$zfsconfig + + AC_SUBST(KERNELMAKE_PARAMS) + AC_SUBST(KERNELCPPFLAGS) + AC_SUBST(HOSTCFLAGS) ]) AC_DEFUN([ZFS_AC_KERNEL], [ |