3 dnl # Read metadata from the META file.
6 dnl # Chris Dunlap <cdunlap@llnl.gov>
7 dnl # Brian Behlendorf <behlendorf1@llnl.gov>
9 AC_DEFUN([SPL_AC_META], [
10 AC_MSG_CHECKING([metadata])
13 _spl_ac_meta_got_file=no
14 if test -f "$META"; then
15 _spl_ac_meta_got_file=yes
17 SPL_META_NAME=_SPL_AC_META_GETVAL([(?:NAME|PROJECT|PACKAGE)]);
18 if test -n "$SPL_META_NAME"; then
19 AC_DEFINE_UNQUOTED([SPL_META_NAME], ["$SPL_META_NAME"],
20 [Define the project name.]
22 AC_SUBST([SPL_META_NAME])
25 SPL_META_VERSION=_SPL_AC_META_GETVAL([VERSION]);
26 if test -n "$SPL_META_VERSION"; then
27 AC_DEFINE_UNQUOTED([SPL_META_VERSION], ["$SPL_META_VERSION"],
28 [Define the project version.]
30 AC_SUBST([SPL_META_VERSION])
33 SPL_META_RELEASE=_SPL_AC_META_GETVAL([RELEASE]);
34 if test -n "$SPL_META_RELEASE"; then
35 AC_DEFINE_UNQUOTED([SPL_META_RELEASE], ["$SPL_META_RELEASE"],
36 [Define the project release.]
38 AC_SUBST([SPL_META_RELEASE])
41 if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then
42 SPL_META_ALIAS="$SPL_META_NAME-$SPL_META_VERSION"
43 test -n "$SPL_META_RELEASE" &&
44 SPL_META_ALIAS="$SPL_META_ALIAS-$SPL_META_RELEASE"
45 AC_DEFINE_UNQUOTED([SPL_META_ALIAS],
47 [Define the project alias string.]
49 AC_SUBST([SPL_META_ALIAS])
52 SPL_META_DATA=_SPL_AC_META_GETVAL([DATE]);
53 if test -n "$SPL_META_DATA"; then
54 AC_DEFINE_UNQUOTED([SPL_META_DATA], ["$SPL_META_DATA"],
55 [Define the project release date.]
57 AC_SUBST([SPL_META_DATA])
60 SPL_META_AUTHOR=_SPL_AC_META_GETVAL([AUTHOR]);
61 if test -n "$SPL_META_AUTHOR"; then
62 AC_DEFINE_UNQUOTED([SPL_META_AUTHOR], ["$SPL_META_AUTHOR"],
63 [Define the project author.]
65 AC_SUBST([SPL_META_AUTHOR])
68 m4_pattern_allow([^LT_(CURRENT|REVISION|AGE)$])
69 SPL_META_LT_CURRENT=_SPL_AC_META_GETVAL([LT_CURRENT]);
70 SPL_META_LT_REVISION=_SPL_AC_META_GETVAL([LT_REVISION]);
71 SPL_META_LT_AGE=_SPL_AC_META_GETVAL([LT_AGE]);
72 if test -n "$SPL_META_LT_CURRENT" \
73 -o -n "$SPL_META_LT_REVISION" \
74 -o -n "$SPL_META_LT_AGE"; then
75 test -n "$SPL_META_LT_CURRENT" || SPL_META_LT_CURRENT="0"
76 test -n "$SPL_META_LT_REVISION" || SPL_META_LT_REVISION="0"
77 test -n "$SPL_META_LT_AGE" || SPL_META_LT_AGE="0"
78 AC_DEFINE_UNQUOTED([SPL_META_LT_CURRENT],
79 ["$SPL_META_LT_CURRENT"],
80 [Define the libtool library 'current'
83 AC_DEFINE_UNQUOTED([SPL_META_LT_REVISION],
84 ["$SPL_META_LT_REVISION"],
85 [Define the libtool library 'revision'
88 AC_DEFINE_UNQUOTED([SPL_META_LT_AGE], ["$SPL_META_LT_AGE"],
89 [Define the libtool library 'age'
92 AC_SUBST([SPL_META_LT_CURRENT])
93 AC_SUBST([SPL_META_LT_REVISION])
94 AC_SUBST([SPL_META_LT_AGE])
98 AC_MSG_RESULT([$_spl_ac_meta_got_file])
102 AC_DEFUN([_SPL_AC_META_GETVAL],
104 -e "BEGIN { \\$key=shift @ARGV; }"\
105 -e "next unless s/^\s*\\$key@<:@:=@:>@//i;"\
106 -e "s/^((?:@<:@^'\"#@:>@*(?:(@<:@'\"@:>@)@<:@^\2@:>@*\2)*)*)#.*/\\@S|@1/;"\
109 -e "s/^(@<:@'\"@:>@)(.*)\1/\\@S|@2/;"\
111 -e "END { print \\$val if defined \\$val; }"\