diff --git a/META b/META
index 2b06b650cd..90ea64efa1 100644
--- a/META
+++ b/META
@@ -4,3 +4,5 @@ Branch:       1.0
 Version:      0.4.7
 Release:      1
 Release-Tags: relext
+License:      CDDL
+Author:       Sun Microsystems/Oracle, Lawrence Livermore National Laboratory
diff --git a/config/kernel.m4 b/config/kernel.m4
index ae1b5e5321..9f5dd6894a 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -4,6 +4,7 @@ dnl #
 AC_DEFUN([ZFS_AC_CONFIG_KERNEL], [
 	ZFS_AC_KERNEL
 	ZFS_AC_SPL
+	ZFS_AC_KERNEL_CONFIG
 	ZFS_AC_KERNEL_BDEV_BLOCK_DEVICE_OPERATIONS
 	ZFS_AC_KERNEL_TYPE_FMODE_T
 	ZFS_AC_KERNEL_OPEN_BDEV_EXCLUSIVE
@@ -238,6 +239,30 @@ AC_DEFUN([ZFS_AC_SPL], [
 	ZFS_AC_SPL_MODULE_SYMVERS
 ])
 
+dnl #
+dnl # There are certain kernel build options which when enabled are
+dnl # completely incompatible with non GPL kernel modules.  It is best
+dnl # to detect these at configure time and fail with a clear error
+dnl # rather than build everything and fail during linking.
+dnl #
+dnl # CONFIG_DEBUG_LOCK_ALLOC - Maps mutex_lock() to mutex_lock_nested()
+dnl #
+AC_DEFUN([ZFS_AC_KERNEL_CONFIG], [
+
+	if test "$ZFS_META_LICENSE" = CDDL; then
+		ZFS_LINUX_CONFIG([DEBUG_LOCK_ALLOC],
+		AC_MSG_ERROR([
+		*** Kernel built with CONFIG_DEBUG_LOCK_ALLOC which is
+		*** incompatible with the CDDL license.  You must rebuild
+		*** your kernel without this option.]), [])
+	fi
+
+	if test "$ZFS_META_LICENSE" = GPL; then
+		AC_DEFINE([HAVE_GPL_ONLY_SYMBOLS], [1],
+			[Define to 1 if licensed under the GPL])
+	fi
+])
+
 dnl #
 dnl # ZFS_LINUX_CONFTEST
 dnl #
diff --git a/config/zfs-build.m4 b/config/zfs-build.m4
index d2ba2977fa..a10fd2e1ef 100644
--- a/config/zfs-build.m4
+++ b/config/zfs-build.m4
@@ -1,13 +1,9 @@
 AC_DEFUN([ZFS_AC_LICENSE], [
-	AC_MSG_CHECKING([zfs license])
-	LICENSE=`grep MODULE_LICENSE module/zfs/zfs_ioctl.c | cut -f2 -d'"'`
-	AC_MSG_RESULT([$LICENSE])
-	if test "$LICENSE" = GPL; then
-		AC_DEFINE([HAVE_GPL_ONLY_SYMBOLS], [1],
-		          [Define to 1 if module is licensed under the GPL])
-	fi
+	AC_MSG_CHECKING([zfs author])
+	AC_MSG_RESULT([$ZFS_META_AUTHOR])
 
-	AC_SUBST(LICENSE)
+	AC_MSG_CHECKING([zfs license])
+	AC_MSG_RESULT([$ZFS_META_LICENSE])
 ])
 
 AC_DEFUN([ZFS_AC_DEBUG], [
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
index 393ced0dbe..8b3689af71 100644
--- a/config/zfs-meta.m4
+++ b/config/zfs-meta.m4
@@ -48,6 +48,14 @@ AC_DEFUN([ZFS_AC_META], [
 			AC_SUBST([ZFS_META_RELEASE])
 		fi
 
+		ZFS_META_LICENSE=_ZFS_AC_META_GETVAL([LICENSE]);
+		if test -n "$ZFS_META_LICENSE"; then
+			AC_DEFINE_UNQUOTED([ZFS_META_LICENSE], ["$ZFS_META_LICENSE"],
+				[Define the project license.]
+			)
+			AC_SUBST([ZFS_META_LICENSE])
+		fi
+
 		if test -n "$ZFS_META_NAME" -a -n "$ZFS_META_VERSION"; then
 				ZFS_META_ALIAS="$ZFS_META_NAME-$ZFS_META_VERSION"
 				test -n "$ZFS_META_RELEASE" &&