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.
This commit is contained in:
parent
dbceaca71d
commit
e833fd4a5c
30
TODO
30
TODO
|
@ -1,30 +0,0 @@
|
|||
* We may need a libefi replacement. It appears libefi is used
|
||||
to determine if the device passed to zpool is a 'whole device'
|
||||
or just a partition of a device. In the short term I think we
|
||||
can simply treat everything as a partition and be alright.
|
||||
|
||||
* We also do not have support for getting Solaris style device
|
||||
ids which is done when a zpool is setup. We may or may not
|
||||
be able to live without this, the jury is still out.
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
* Port zvol (ZFS volume interface).
|
||||
|
||||
* Port zpl (ZFS posix interface).
|
||||
|
||||
* Port lustre fsfilt interface to use DMU.
|
||||
|
||||
* Andreas issue #1:
|
||||
"the maximum allocation DMU "blocksize" was 128kB and it would be better
|
||||
to be able to get 1MB contiguous allocations for best performance"
|
||||
|
||||
* Andreas issue #2:
|
||||
"there would need to be some work done to allow multiple operations to
|
||||
be atomic. This is needed by Lustre for object creation + LAST_ID
|
||||
updates, unlink + llog updates, etc. Conceptually this isn't very
|
||||
much work for a phase tree, but I've never looked at the ZFS code."
|
||||
|
||||
* Design and implement mechanism for viewing and modifying OST content
|
||||
from user space (by manipulating datasets/objects), possibly
|
||||
by implementing scaled down file system interface.
|
|
@ -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
|
||||
|
|
|
@ -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], [
|
||||
|
|
47
configure.ac
47
configure.ac
|
@ -102,30 +102,6 @@ AC_EGREP_HEADER(sysinfo, sys/systeminfo.h,
|
|||
#AC_DEFINE([HAVE_UNICODE], 1, ["None"])
|
||||
#AC_DEFINE([HAVE_INTTYPES], 1, [Define to 1 if unint16 defined in <sys/types.h> header file])
|
||||
|
||||
# Add "V=1" to KERNELMAKE_PARAMS to enable verbose module build
|
||||
KERNELMAKE_PARAMS=
|
||||
KERNELCPPFLAGS="$KERNELCPPFLAGS -DHAVE_SPL -D_KERNEL -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__ "
|
||||
# Quiet warnings not covered by the gcc-* patches
|
||||
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
|
||||
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
|
||||
|
||||
AC_SUBST(KERNELMAKE_PARAMS)
|
||||
AC_SUBST(KERNELCPPFLAGS)
|
||||
AC_SUBST(HOSTCFLAGS)
|
||||
|
||||
AC_CONFIG_FILES([ Makefile
|
||||
config/Makefile
|
||||
doc/Makefile
|
||||
|
@ -187,26 +163,3 @@ AC_CONFIG_FILES([ Makefile
|
|||
zfs/zcmd/zpool/Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
|
||||
# HACK: 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
|
||||
echo "Creating symlinks for additional make targets"
|
||||
ln -s $LIBDIR/libport/u8_textprep.c $LIBDIR/libport/ku8_textprep.c
|
||||
ln -s $LIBDIR/libavl/avl.c $LIBDIR/libavl/kavl.c
|
||||
ln -s $LIBDIR/libavl/avl.c $LIBDIR/libavl/uavl.c
|
||||
ln -s $LIBDIR/libnvpair/nvpair.c $LIBDIR/libnvpair/knvpair.c
|
||||
ln -s $LIBDIR/libnvpair/nvpair.c $LIBDIR/libnvpair/unvpair.c
|
||||
ln -s $LIBDIR/libzcommon/zfs_deleg.c $LIBDIR/libzcommon/kzfs_deleg.c
|
||||
ln -s $LIBDIR/libzcommon/zfs_prop.c $LIBDIR/libzcommon/kzfs_prop.c
|
||||
ln -s $LIBDIR/libzcommon/zprop_common.c $LIBDIR/libzcommon/kzprop_common.c
|
||||
ln -s $LIBDIR/libzcommon/compress.c $LIBDIR/libzcommon/kcompress.c
|
||||
ln -s $LIBDIR/libzcommon/list.c $LIBDIR/libzcommon/klist.c
|
||||
ln -s $LIBDIR/libzcommon/zfs_namecheck.c $LIBDIR/libzcommon/kzfs_namecheck.c
|
||||
ln -s $LIBDIR/libzcommon/zfs_comutil.c $LIBDIR/libzcommon/kzfs_comutil.c
|
||||
ln -s $LIBDIR/libzcommon/zpool_prop.c $LIBDIR/libzcommon/kzpool_prop.c
|
||||
|
|
Loading…
Reference in New Issue