3 dnl # Read metadata from the META file.
6 dnl # Chris Dunlap <cdunlap@llnl.gov>
8 AC_DEFUN([ZFS_AC_META], [
12 #undef PACKAGE_BUGREPORT
15 #undef PACKAGE_TARNAME
16 #undef PACKAGE_VERSION
20 AC_MSG_CHECKING([metadata])
23 _zfs_ac_meta_got_file=no
24 if test -f "$META"; then
25 _zfs_ac_meta_got_file=yes
27 ZFS_META_NAME=_ZFS_AC_META_GETVAL([(?:NAME|PROJECT|PACKAGE)]);
28 if test -n "$ZFS_META_NAME"; then
29 AC_DEFINE_UNQUOTED([ZFS_META_NAME], ["$ZFS_META_NAME"],
30 [Define the project name.]
32 AC_SUBST([ZFS_META_NAME])
35 ZFS_META_VERSION=_ZFS_AC_META_GETVAL([VERSION]);
36 if test -n "$ZFS_META_VERSION"; then
37 AC_DEFINE_UNQUOTED([ZFS_META_VERSION], ["$ZFS_META_VERSION"],
38 [Define the project version.]
40 AC_SUBST([ZFS_META_VERSION])
43 ZFS_META_RELEASE=_ZFS_AC_META_GETVAL([RELEASE]);
44 if test -n "$ZFS_META_RELEASE"; then
45 AC_DEFINE_UNQUOTED([ZFS_META_RELEASE], ["$ZFS_META_RELEASE"],
46 [Define the project release.]
48 AC_SUBST([ZFS_META_RELEASE])
50 RELEASE="$ZFS_META_RELEASE"
54 ZFS_META_LICENSE=_ZFS_AC_META_GETVAL([LICENSE]);
55 if test -n "$ZFS_META_LICENSE"; then
56 AC_DEFINE_UNQUOTED([ZFS_META_LICENSE], ["$ZFS_META_LICENSE"],
57 [Define the project license.]
59 AC_SUBST([ZFS_META_LICENSE])
62 if test -n "$ZFS_META_NAME" -a -n "$ZFS_META_VERSION"; then
63 ZFS_META_ALIAS="$ZFS_META_NAME-$ZFS_META_VERSION"
64 test -n "$ZFS_META_RELEASE" &&
65 ZFS_META_ALIAS="$ZFS_META_ALIAS-$ZFS_META_RELEASE"
66 AC_DEFINE_UNQUOTED([ZFS_META_ALIAS],
68 [Define the project alias string.]
70 AC_SUBST([ZFS_META_ALIAS])
73 ZFS_META_DATA=_ZFS_AC_META_GETVAL([DATE]);
74 if test -n "$ZFS_META_DATA"; then
75 AC_DEFINE_UNQUOTED([ZFS_META_DATA], ["$ZFS_META_DATA"],
76 [Define the project release date.]
78 AC_SUBST([ZFS_META_DATA])
81 ZFS_META_AUTHOR=_ZFS_AC_META_GETVAL([AUTHOR]);
82 if test -n "$ZFS_META_AUTHOR"; then
83 AC_DEFINE_UNQUOTED([ZFS_META_AUTHOR], ["$ZFS_META_AUTHOR"],
84 [Define the project author.]
86 AC_SUBST([ZFS_META_AUTHOR])
89 m4_pattern_allow([^LT_(CURRENT|REVISION|AGE)$])
90 ZFS_META_LT_CURRENT=_ZFS_AC_META_GETVAL([LT_CURRENT]);
91 ZFS_META_LT_REVISION=_ZFS_AC_META_GETVAL([LT_REVISION]);
92 ZFS_META_LT_AGE=_ZFS_AC_META_GETVAL([LT_AGE]);
93 if test -n "$ZFS_META_LT_CURRENT" \
94 -o -n "$ZFS_META_LT_REVISION" \
95 -o -n "$ZFS_META_LT_AGE"; then
96 test -n "$ZFS_META_LT_CURRENT" || ZFS_META_LT_CURRENT="0"
97 test -n "$ZFS_META_LT_REVISION" || ZFS_META_LT_REVISION="0"
98 test -n "$ZFS_META_LT_AGE" || ZFS_META_LT_AGE="0"
99 AC_DEFINE_UNQUOTED([ZFS_META_LT_CURRENT],
100 ["$ZFS_META_LT_CURRENT"],
101 [Define the libtool library 'current'
102 version information.]
104 AC_DEFINE_UNQUOTED([ZFS_META_LT_REVISION],
105 ["$ZFS_META_LT_REVISION"],
106 [Define the libtool library 'revision'
107 version information.]
109 AC_DEFINE_UNQUOTED([ZFS_META_LT_AGE], ["$ZFS_META_LT_AGE"],
110 [Define the libtool library 'age'
111 version information.]
113 AC_SUBST([ZFS_META_LT_CURRENT])
114 AC_SUBST([ZFS_META_LT_REVISION])
115 AC_SUBST([ZFS_META_LT_AGE])
119 AC_MSG_RESULT([$_zfs_ac_meta_got_file])
123 AC_DEFUN([_ZFS_AC_META_GETVAL],
125 -e "BEGIN { \\$key=shift @ARGV; }"\
126 -e "next unless s/^\s*\\$key@<:@:=@:>@//i;"\
127 -e "s/^((?:@<:@^'\"#@:>@*(?:(@<:@'\"@:>@)@<:@^\2@:>@*\2)*)*)#.*/\\@S|@1/;"\
130 -e "s/^(@<:@'\"@:>@)(.*)\1/\\@S|@2/;"\
132 -e "END { print \\$val if defined \\$val; }"\