Commit Graph

44 Commits

Author SHA1 Message Date
Brian Behlendorf c3fdc3b521 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-08 16:09:21 -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
Brian Behlendorf f2a7c80f3e Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-08 14:58:22 -08:00
Brian J. Murrell 0ec3b7e122 When no kernel source has been pointed to, first attempt to use
/lib/modules/$(uname -r)/source.  This will likely fail when building
under a mock (http://fedoraproject.org/wiki/Projects/Mock) chroot
environment since `uname -r` will report the running kernel which
likely is not the kernel in your chroot.  To cleanly handle this
we fallback to using the first kernel in your chroot.

The kernel-devel package which contains all the kernel headers and
a few build products such as Module.symver{s} is all the is required.
Full source is not needed.
2010-03-08 14:53:13 -08:00
Brian Behlendorf 48d4d44961 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2010-03-08 10:52:58 -08:00
Brian Behlendorf fd7578215e Configure checks for kernel build options incompatible with the license
Twice now I've been bitten by building agaist a kernel which is
configured such that it is incompatible with the CDDL license.  These
build failures don't occur until the linking phase at which point they
simply callout the offending symbol.  No location information can be
provided at this point so it often can be confusing what the problem is
particularly when building against a new kernel for the first time.

To help address this I've added a configure check which can be extended
over time to detect known kernel config options which if set will break
the ZFS build.  Currently I have just added CONFIG_DEBUG_LOCK_ALLOC which
makes mutex's GPL-only and is on by default in the RHEL6 alpha builds.
I know for a fact there are other similiar options which can be added
as they are encountered.
2010-03-08 10:27:42 -08:00
Brian Behlendorf d711dc6b34 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-12-23 14:52:18 -08:00
Brian Behlendorf c824f39f95 Add a check for the fmode_t type.
This typedef first appears in 2.6.28 kernels as part of some
block device operation reworking.
2009-12-23 14:42:32 -08:00
Brian Behlendorf 8bacf4f03d Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-11-20 10:32:06 -08:00
Brian Behlendorf 6fabeffd3b Additional ZVOL compatibility autoconf checks and zconfig ZVOL sanity test. 2009-11-20 10:04:56 -08:00
Brian Behlendorf c8806102c5 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-11-16 10:38:37 -08:00
Brian Behlendorf 915205a6e8 Add autoconf checks for zvol integration. 2009-11-16 10:31:10 -08:00
Brian Behlendorf bf58182f76 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-11-12 12:56:40 -08:00
Brian Behlendorf 9ee04032de Linux 2.6.31 logical block size compatibility.
Autoconf check for bdev_logical_block_size() helper which replaced
bdev_hardsect_size() as the correct way to get the sector size.
2009-11-12 12:49:01 -08:00
Brian Behlendorf c3fb5766d2 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-29 17:53:21 -07:00
Brian Behlendorf 9cabcac115 Required autoconf support for vdev_disk integration with 2.6.30 kernels.
2.6.22 API change
Unused destroy_dirty_buffers arg removed from prototype.

2.6.24 API change
Empty write barriers are now supported and we should use them.

2.6.24 API change
Size argument dropped from bio_endio and bi_end_io, because the
bi_end_io is only called once now when the request is complete.
There is no longer any need for a size argument.  This also means
that partial IO's are no longer possibe and the end_io callback
should not check bi->bi_size.  Finally, the return type was updated
to void.

2.6.28 API change
open/close_bdev_excl() renamed to open/close_bdev_exclusive().

2.6.29 API change
BIO_RW_SYNC renamed to BIO_RW_SYNCIO.
2009-07-29 17:14:23 -07:00
Brian Behlendorf 198180fdd2 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-27 10:51:34 -07:00
Brian Behlendorf 3a431c68c2 Remove LINUXINCLUDE from autoconf wrapper, breaks 2.6.28+ kernels.
Modern kernel build systems at least post 2.6.16 will set this properly
so we should not.  In fact post 2.6.28 the include headers have moved
under arch so the guess we make here is completely wrong.  Letting
the kernel build system set this ensure it will be correct.  Also
drop the ulimit from the Makefile which, not surprisingly, turns out
to be very non-portable.  If your expecting failures set the ulimit
in your shell before kicking off the test suite.
2009-07-27 10:39:28 -07:00
Brian Behlendorf 1deac81a1c Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-24 16:37:01 -07:00
Brian Behlendorf 18ffe73d3f Check arch/default/ path when detecting kernel objects on SLES
We still preferentially use arch/arch looking for a native version
but if that fails it is acceptable to use default.
2009-07-24 16:26:17 -07:00
Brian Behlendorf 28f9bfb2db Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-07-02 10:52:41 -07:00
Brian Behlendorf f984d28e0c Cleanly handle --with-linux=NONE and --with-spl=NONE options
when used to generate source rpms.  These should not be fatal
because we actually don't need them until we build the source
rpm.  When doing mock build this is important because these
dependent rpms will only be installed if they are specificed
in the source rpms spec file.
2009-07-02 10:44:43 -07:00
Brian Behlendorf 6eb5b7a8c8 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
Conflicts:

	config/zfs-build.m4
2009-07-01 11:25:56 -07:00
Brian Behlendorf ef0a712858 Distro friendly build system / packaging improvements.
These changes bring the zfs-0.4.4 tree in to compliance with
the spl-0.4.4 packaging changes.  The bottom line is 2 source
rpms and 4 binary rpms will now be generated when creating
packages there will be:

zfs-<version>.src.rpm
- Fully rebuildable source rpm for libzfs and utils.
zfs-modules-<version>.src.rpm
- Fully rebuildable source rpm for kernel modules.

zfs-<version>.<arch>.rpm
- Binary rpm for libzfs and utils.  The utils in this package are
  compatible with all zfs-module rpms of the same version.
zfs-devel-<version>.<arch>.rpm
- Binary rpm containing headers for building against libzfs libraries.

zfs-modules-<verion>-<kernel>.arch.rpm
- Binary rpm containing the kernel modules for a specific kernel build.
  The package name contains the kernel version and you should have one
  of these packages installed to match every kernel on your system.
zfs-modules-devel-<verion>-<kernel>.arch.rpm
- Binary rpm containing development header and module symbols needed
  for building additional kernel modules which are dependent on the
  zfs module stack.

Expect minor interations on these changes as I validate they work
properly on CHAOS, RHEL, Fedora, and SLES style distros.
2009-07-01 10:53:05 -07:00
Brian Behlendorf 36363b2d23 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-03-12 11:05:17 -07:00
Brian Behlendorf 74432ad2fb Remove remaining compiler flags for disabling specific compiler checks.
All these errors are now either addressed in a gcc-* topic branch, or
in whatever branch the original warning was introduced by (i.e. I fixed
the bug which just went unnoticed until now due to the compiler flags)
2009-03-12 10:55:56 -07:00
Brian Behlendorf 4acf3b07c0 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-03-11 22:30:41 -07:00
Brian Behlendorf 031709f9d5 Remove --Wno-unused and -Wno-missing braces gcc-* patches have been
added to address these issues.  Other instances unused variables will
be addressed in the topic branch which caused the problem.
2009-03-11 22:12:00 -07:00
Brian Behlendorf 3f8174047a Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-03-11 14:13:57 -07:00
Brian Behlendorf 64119ce40d Remove -Wno-parentheses this is handled by the gcc-no-parentheses branch. 2009-03-11 13:59:34 -07:00
Brian Behlendorf 918d9d1500 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-03-11 13:28:22 -07:00
Brian Behlendorf 4e945fb768 Remove -Wno-unknown-pragmas compile option, all unknown pragmas
have been removed by the gcc-ident-pragmas topic branch.
2009-03-11 13:14:08 -07:00
Brian Behlendorf 1369219816 Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch 2009-01-09 11:32:53 -08:00
Brian Behlendorf d7f4512ed3 Quiet warnings for now 2009-01-09 11:29:00 -08:00
Brian Behlendorf d8c0d57440 Refresh autogen products 2008-12-23 10:41:37 -08:00
Brian Behlendorf cc420402bf Moving addition configure checks to m4 macros 2008-12-15 16:46:34 -08:00
Brian Behlendorf 98ce19f04c Update avl, nvpair, spl to unique build dirs 2008-12-11 13:54:57 -08:00
Brian Behlendorf 5b29fa2d78 Disable unknown pragmas 2008-12-05 16:53:29 -08:00
Brian Behlendorf 644386044b Add -Wno-unknown-pragmas 2008-12-05 15:03:48 -08:00
Brian Behlendorf 18266508c7 Change libport+libsolcompat references to libspl 2008-12-05 14:20:33 -08:00
Brian Behlendorf 9baaa468ac Refresh zfs-branch 2008-12-05 09:46:11 -08:00
Brian Behlendorf 42baae9615 Removed build system from master branch, will relocate to linux-zfs-branch 2008-12-01 15:38:41 -08:00
Brian Behlendorf 62b749c8c8 Working version of M4 macro config 2008-11-26 15:32:39 -08:00
Brian Behlendorf f0e648ca02 Make everything a M4 macro, it's just cleaner that way 2008-11-26 14:29:45 -08:00