From c9a913795679c3f5895de8258f31269530c5eaed Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 26 Nov 2008 12:53:24 -0800 Subject: First step of META build system cleanup --- config/kernel | 10 ----- config/lustre | 10 ----- config/user | 8 ---- config/zfs-build.m4 | 7 +++- config/zfs-meta.m4 | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 118 insertions(+), 29 deletions(-) create mode 100644 config/zfs-meta.m4 (limited to 'config') diff --git a/config/kernel b/config/kernel index 0ffcc6fa6..22a43aaa7 100644 --- a/config/kernel +++ b/config/kernel @@ -1,11 +1 @@ # Default ZFS kernel mode configuration - -UNAME=`uname -r | cut -d- -f1` - -CONFIG=kernel - -NAME=zfs -BRANCH=`awk '/[Bb]ranch:/ {print $$2}' META` -VERSION=`awk '/[Vv]ersion:/ {print $$2}' META` -RELEASE=`awk '/[Rr]elease:/ {print $$2}' META` -BUILDDIR=$NAME #+$CONFIG diff --git a/config/lustre b/config/lustre index e3daba908..33feba291 100644 --- a/config/lustre +++ b/config/lustre @@ -1,11 +1 @@ # Default ZFS lustre mode configuration - -UNAME=`uname -r | cut -d- -f1` - -CONFIG=lustre - -NAME=zfs -BRANCH=`awk '/[Bb]ranch:/ {print $$2}' META` -VERSION=`awk '/[Vv]ersion:/ {print $$2}' META` -RELEASE=`awk '/[Rr]elease:/ {print $$2}' META` -BUILDDIR=$NAME #+$CONFIG diff --git a/config/user b/config/user index 2061d3d77..0d617c86b 100644 --- a/config/user +++ b/config/user @@ -1,9 +1 @@ # Default ZFS user mode configuration - -CONFIG=user - -NAME=zfs -BRANCH=`awk '/[Bb]ranch:/ {print $$2}' META` -VERSION=`awk '/[Vv]ersion:/ {print $$2}' META` -RELEASE=`awk '/[Rr]elease:/ {print $$2}' META` -BUILDDIR=$NAME #+$CONFIG diff --git a/config/zfs-build.m4 b/config/zfs-build.m4 index a268e5986..aba0be6a7 100644 --- a/config/zfs-build.m4 +++ b/config/zfs-build.m4 @@ -17,14 +17,19 @@ AC_DEFUN([ZFS_AC_CONFIG], [ . ./config/$zfsconfig TOPDIR=`/bin/pwd` - ZFSDIR=${TOPDIR}/$BUILDDIR + BUILDDIR=$META_NAME #+$zfsconfig + ZFSDIR=$TOPDIR/$BUILDDIR LIBDIR=$ZFSDIR/lib CMDDIR=$ZFSDIR/zcmd + UNAME=`uname -r | cut -d- -f1` + AC_SUBST(UNAME) AC_SUBST(TOPDIR) + AC_SUBST(BUILDDIR) AC_SUBST(ZFSDIR) AC_SUBST(LIBDIR) AC_SUBST(CMDDIR) + AC_SUBST(UNAME) ]) AC_DEFUN([ZFS_AC_KERNEL], [ diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4 new file mode 100644 index 000000000..199638096 --- /dev/null +++ b/config/zfs-meta.m4 @@ -0,0 +1,112 @@ +dnl # +dnl # ZFS_AC_META +dnl # Read metadata from the META file. +dnl # +dnl # AUTHOR: +dnl # Chris Dunlap +dnl # +AC_DEFUN([ZFS_AC_META], [ + AC_MSG_CHECKING([metadata]) + + META="$srcdir/META" + _zfs_ac_meta_got_file=no + if test -f "$META"; then + _zfs_ac_meta_got_file=yes + + META_NAME=_ZFS_AC_META_GETVAL([(?:NAME|PROJECT|PACKAGE)]); + if test -n "$META_NAME"; then + AC_DEFINE_UNQUOTED([META_NAME], ["$META_NAME"], + [Define the project name.] + ) + AC_SUBST([META_NAME]) + fi + + META_VERSION=_ZFS_AC_META_GETVAL([VERSION]); + if test -n "$META_VERSION"; then + AC_DEFINE_UNQUOTED([META_VERSION], ["$META_VERSION"], + [Define the project version.] + ) + AC_SUBST([META_VERSION]) + fi + + META_RELEASE=_ZFS_AC_META_GETVAL([RELEASE]); + if test -n "$META_RELEASE"; then + AC_DEFINE_UNQUOTED([META_RELEASE], ["$META_RELEASE"], + [Define the project release.] + ) + AC_SUBST([META_RELEASE]) + fi + + if test -n "$META_NAME" -a -n "$META_VERSION"; then + META_ALIAS="$META_NAME-$META_VERSION" + test -n "$META_RELEASE" && + META_ALIAS="$META_ALIAS-$META_RELEASE" + AC_DEFINE_UNQUOTED([META_ALIAS], + ["$META_ALIAS"], + [Define the project alias string.] + ) + AC_SUBST([META_ALIAS]) + fi + + META_DATE=_ZFS_AC_META_GETVAL([DATE]); + if test -n "$META_DATE"; then + AC_DEFINE_UNQUOTED([META_DATE], ["$META_DATE"], + [Define the project release date.] + ) + AC_SUBST([META_DATE]) + fi + + META_AUTHOR=_ZFS_AC_META_GETVAL([AUTHOR]); + if test -n "$META_AUTHOR"; then + AC_DEFINE_UNQUOTED([META_AUTHOR], ["$META_AUTHOR"], + [Define the project author.] + ) + AC_SUBST([META_AUTHOR]) + fi + + m4_pattern_allow([^LT_(CURRENT|REVISION|AGE)$]) + META_LT_CURRENT=_ZFS_AC_META_GETVAL([LT_CURRENT]); + META_LT_REVISION=_ZFS_AC_META_GETVAL([LT_REVISION]); + META_LT_AGE=_ZFS_AC_META_GETVAL([LT_AGE]); + if test -n "$META_LT_CURRENT" \ + -o -n "$META_LT_REVISION" \ + -o -n "$META_LT_AGE"; then + test -n "$META_LT_CURRENT" || META_LT_CURRENT="0" + test -n "$META_LT_REVISION" || META_LT_REVISION="0" + test -n "$META_LT_AGE" || META_LT_AGE="0" + AC_DEFINE_UNQUOTED([META_LT_CURRENT], + ["$META_LT_CURRENT"], + [Define the libtool library 'current' + version information.] + ) + AC_DEFINE_UNQUOTED([META_LT_REVISION], + ["$META_LT_REVISION"], + [Define the libtool library 'revision' + version information.] + ) + AC_DEFINE_UNQUOTED([META_LT_AGE], ["$META_LT_AGE"], + [Define the libtool library 'age' + version information.] + ) + AC_SUBST([META_LT_CURRENT]) + AC_SUBST([META_LT_REVISION]) + AC_SUBST([META_LT_AGE]) + fi + fi + + AC_MSG_RESULT([$_zfs_ac_meta_got_file]) + ] +) + +AC_DEFUN([_ZFS_AC_META_GETVAL], + [`perl -n\ + -e "BEGIN { \\$key=shift @ARGV; }"\ + -e "next unless s/^\s*\\$key@<:@:=@:>@//i;"\ + -e "s/^((?:@<:@^'\"#@:>@*(?:(@<:@'\"@:>@)@<:@^\2@:>@*\2)*)*)#.*/\\@S|@1/;"\ + -e "s/^\s+//;"\ + -e "s/\s+$//;"\ + -e "s/^(@<:@'\"@:>@)(.*)\1/\\@S|@2/;"\ + -e "\\$val=\\$_;"\ + -e "END { print \\$val if defined \\$val; }"\ + '$1' $META`]dnl +) -- cgit v1.2.3