Commit Graph

221 Commits

Author SHA1 Message Date
Brian Behlendorf 4a1b926a81 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-14 12:50:57 -07:00
Brian Behlendorf 2e646504f1 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-14 12:48:45 -07:00
Brian Behlendorf 548c9c6829 Use $target_cpu instead of `arch`
We should not be using arch for a few reasons.  First off it might
not be installed on their system, and secondly they may be trying
to cross-compile.
2010-07-14 12:44:42 -07:00
Brian Behlendorf d81440c8ab Check sourcelink is set before passing to readlink
When no source was found in any of the expected paths treat
this as fatal and provide the user with a hint as to what
they should do.
2010-07-14 12:44:37 -07:00
Brian Behlendorf 7f41f96626 Refresh autogen products 2010-07-14 10:51:41 -07:00
Brian Behlendorf 9794f54c0f Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-14 10:45:07 -07:00
Brian Behlendorf fdaac6be54 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-14 10:42:28 -07:00
Brian Behlendorf dccff58e11 Only make compiler warnings fatal with --enable-debug
While in theory I like the idea of compiler warnings always being
fatal.  In practice this causes problems when small harmless errors
cause build failures for end users.  To handle this I've updated
the build system such that -Werror is only used when --enable-debug
is passed to configure.  This is how I always build when developing
so I'll catch all build warnings and end users will not get stuck
by minor issues.
2010-07-14 10:41:48 -07:00
Brian Behlendorf 995c4e789d Update config.guess to recognize additional distros
The following distros were added: redhat, fedora, debian,
ubuntu, sles, slackware, and gentoo.
2010-07-02 14:46:11 -07:00
Brian Behlendorf eb85f6d7e8 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-02 14:05:04 -07:00
Brian Behlendorf 2fe7754343 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-02 14:02:28 -07:00
Lars Johannsen 77f748fd1c Allow config/build to work with autoconf-2.65
As of autoconf-2.65 the AC_LANG_SOURCE source macro no longer
includes the confdef.h results when expanded.  To handle this
simply explicitly include confdef.h in conftest.c.  This will
cause two copies to of confdef.h to be added to the test for
earlier autoconf versions but this is not harmful.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-07-02 13:56:00 -07:00
Brian Behlendorf ddfa136302 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-07-01 20:48:17 -07:00
Brian Behlendorf 8728219d6a Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-01 20:45:43 -07:00
Brian Behlendorf 61119d3f5b Linux-2.6.33 compat, check <generated/utsrelease.h> for UTS_RELEASE
It seems the upstream community moved the definition of UTS_RELEASE
yet again as of linux-2.6.33.  Update the build system to check in
all three possible locations where your kernel version may be defined.

    $kernelbuild/include/linux/version.h
    $kernelbuild/include/linux/utsrelease.h
    $kernelbuild/include/generated/utsrelease.h
2010-07-01 20:43:36 -07:00
Brian Behlendorf e5a5693222 Refresh autogen.sh products 2010-06-29 17:05:00 -07:00
Brian Behlendorf b4fa1a9544 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-06-29 17:00:20 -07:00
Brian Behlendorf 9c4837d5da Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-06-29 16:57:45 -07:00
Brian Behlendorf 6f1eda0629 Add configure check for -Wframe-larger-than=<size>
It turns out the gcc option -Wframe-larger-than=<size> which I recently
added to the build system is not supported in older versions of gcc.
Since this is just a flag to ensure I keep stack usage under control
I've added a configure check to detect if gcc supports it.  If it's
available we use it in the proper places, if it's not we don't.
2010-06-29 16:53:02 -07:00
Brian Behlendorf 1097607827 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-06-29 11:02:24 -07:00
Brian Behlendorf b8229898ab Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-06-29 10:59:58 -07:00
Brian Behlendorf 9af7aa53eb Set stack frame limit
For all module/library functions ensure so stack frame exceeds 1024
bytes.  Ideally this should be set lower to say 512 bytes but there
are still numerous functions which exceed even this limit.  For now
this is set to 1024 to ensure we catch the worst offenders.

Additionally, set the limit for ztest to 1024 bytes since the idea
here is to catch stack issues in user space before we find them by
overrunning a kernel stack.  This should also be reduced to 512
bytes as soon as all the trouble makes are fixed.

Finally, add -fstack-check to gcc build options when --enable-debug
is specified at configure time.  This ensures that each page on the
stack will be touched and we will generate a segfault on stack
overflow.

Over time we can gradually fix the following functions:

536 zfs:dsl_deadlist_regenerate
536 zfs:dsl_load_sets
536 zfs:zil_parse
544 zfs:zfs_ioc_recv
552 zfs:dsl_deadlist_insert_bpobj
552 zfs:vdev_dtl_sync
584 zfs:copy_create_perms
608 zfs:ddt_class_contains
608 zfs:ddt_prefetch
608 zfs:__dprintf
616 zfs:ddt_lookup
648 zfs:dsl_scan_ddt
696 zfs:dsl_deadlist_merge
736 zfs:ddt_zap_walk
744 zfs:dsl_prop_get_all_impl
872 zfs:dnode_evict_dbufs
2010-06-29 10:08:48 -07:00
Brian Behlendorf 343bcf823f Refresh autogen products with automake 1.11.1 2010-05-21 16:04:53 -07:00
Brian Behlendorf 89375ef80b Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-05-20 10:29:55 -07:00
Brian Behlendorf c6ea865e3a Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-05-20 10:24:05 -07:00
Brian Behlendorf b974e4bf4d Fix error message to reference the new libuuid package.
It used to be the case that libuuid was part of e2fsprogs.  However,
since other projects unrelated to e2fsprogs make use of that library
it was getting aukward to have that dependency.  The package was
split from e2fsprogs and moved to its own devel package in the
util-linux-ng project.  Anyway, I'm just updating the error message
to reflect the new upstream reality.
2010-05-20 10:00:03 -07:00
Brian Behlendorf d5c0441641 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-05-18 15:13:53 -07:00
Brian Behlendorf ccbfbcd223 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-05-18 15:11:35 -07:00
Brian Behlendorf 4e7fd8ff9d Move build system and core script changes to correct zfs-branch. 2010-05-18 15:05:44 -07:00
Brian Behlendorf ecb8603d26 Revert changes which don't belong on linux-configure-branch. 2010-05-18 15:04:19 -07:00
Brian Behlendorf 13ad721a84 Move user-arch.m4 change from linux-libspl to zfs-branch. 2010-05-18 12:26:48 -07:00
Brian Behlendorf 753d533ed4 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-04-22 10:02:29 -07:00
Brian Behlendorf 53f5636918 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-04-22 10:00:13 -07:00
Brian Behlendorf d69cfcab40 Add top level SPL include path which is needed for *-devel builds 2010-04-22 09:55:07 -07:00
Brian Behlendorf 34edbcd956 Refresh autogen products 2010-03-26 15:57:19 -07:00
Brian Behlendorf 5b09380297 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
Conflicts:
	config/Rules.am
2010-03-26 15:52:42 -07:00
Brian Behlendorf 52e5e6e6d0 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-26 15:47:25 -07:00
Brian Behlendorf 23ab272555 Add support for 'make -s' silent builds
The cleanest way to do this is to set AM_LIBTOOLFLAGS = --silent.  However,
AM_LIBTOOLFLAGS is not honored by automake-1.9.6-2.1 which is what I have
been using.  To cleanly handle this I am updating to automake-1.11-3 which
is why it looks like there is a lot of churn in the Makefiles.
2010-03-26 15:41:41 -07:00
Brian Behlendorf 42dbe7d063 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
Conflicts:
	config/kernel.m4
2010-03-22 16:58:51 -07:00
Brian Behlendorf 6b9f42c3be Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-22 16:55:48 -07:00
Brian Behlendorf e96be1888a Allow zfs_config.h to be included by dependant packages (updated)
We need dependent packages to be able to include zfs_config.h to
build properly.  This was partially solved previously be using
AH_BOTTOM to #undef common #defines (PACKAGE, VERSION, etc) which
autoconf always adds and cannot be easily removed.  This solution
works as long as the zfs_config.h is included before your projects
config.h.  That turns out to be easier said than done.  In particular,
this is a problem when your package includes its config.h using the
-include gcc option which ensures the first thing included is your
config.h.

To handle all cases cleanly I have removed the AH_BOTTOM hack and
replaced it with an AC_CONFIG_HEADERS command.  This command runs
immediately after zfs_config.h is written and with a little awk-foo
it strips the offending #defines from the file.  This eliminates
the problem entirely and makes header safe for inclusion.
2010-03-22 16:42:18 -07:00
Brian Behlendorf 5421d05a48 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-11 14:10:36 -08:00
Brian Behlendorf b0436b0a97 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-11 14:08:33 -08:00
Brian Behlendorf e7b3766a69 Remove udev dependency when running in-tree
After much contemplation I can't see a clean way to use udev entirely
in-tree for testing.  This patch removed a horrible horrible hack which
would copy the needed udev bits in to place on your system to make it
work.  That however is simply not acceptable, nothing you in in-tree
should ever ever ever install something on your system.

Since I could not come up with a clean way to use udev in-tree.  The
fix is to simply parse the zdev config file and create the needed
symlinks in a sub-diretory or your working tree.  This is not as clean
as using udev but it does work perfectly well for in-tree testing.
2010-03-11 13:56:20 -08:00
Brian Behlendorf 4f46459052 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-11 10:02:18 -08:00
Brian Behlendorf e65e071268 Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-11 10:00:20 -08:00
Brian Behlendorf 369293803b Allow recursive configure/make
Previously the ZFS configure was dependent on a correct Module{s}.symvers
file which is generated as one of the last steps of the full SPL build.
This meant you could not do a recursive configure because this will
configure all sub-packages before building any of them.

To resolve this issue the ZFS code has been updated to make a very
educated guess as to this file name at configure time.  This means
SPL_SYMBOLS may still be used in various places in the build system
such as modules/Makefile.in.  But we do give up the ability to
seemlessly detect symbols exported by the SPL at ZFS configure time.
At the moment this is not as issue, hopefully it will stay that way.
2010-03-11 09:45:23 -08:00
Brian Behlendorf c3fdc3b521 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-08 16:09:21 -08:00
Brian Behlendorf 64da100fee Merge branch 'linux-docs' into refs/top-bases/linux-zfs-branch 2010-03-08 16:07:40 -08:00
Brian J. Murrell 3f30f74414 Check for spl in ../spl if not found in install path
If the spl source could not be found in /usr/src/spl-*, also try to
find it in ../spl.  This makes finding it in a development sandbox
more natural.
2010-03-08 16:04:25 -08:00