]>
Commit | Line | Data |
---|---|---|
dd529a30 | 1 | dnl # |
2 | dnl # SPL_AC_META | |
3 | dnl # Read metadata from the META file. | |
4 | dnl # | |
5 | dnl # AUTHOR: | |
6 | dnl # Chris Dunlap <cdunlap@llnl.gov> | |
0c617c9a | 7 | dnl # Brian Behlendorf <behlendorf1@llnl.gov> |
dd529a30 | 8 | dnl # |
9 | AC_DEFUN([SPL_AC_META], [ | |
10 | AC_MSG_CHECKING([metadata]) | |
11 | ||
12 | META="$srcdir/META" | |
13 | _spl_ac_meta_got_file=no | |
14 | if test -f "$META"; then | |
15 | _spl_ac_meta_got_file=yes | |
16 | ||
abc3ca14 BB |
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"], | |
dd529a30 | 20 | [Define the project name.] |
21 | ) | |
abc3ca14 | 22 | AC_SUBST([SPL_META_NAME]) |
dd529a30 | 23 | fi |
24 | ||
abc3ca14 BB |
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"], | |
dd529a30 | 28 | [Define the project version.] |
29 | ) | |
abc3ca14 | 30 | AC_SUBST([SPL_META_VERSION]) |
dd529a30 | 31 | fi |
32 | ||
abc3ca14 BB |
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"], | |
dd529a30 | 36 | [Define the project release.] |
37 | ) | |
abc3ca14 | 38 | AC_SUBST([SPL_META_RELEASE]) |
dd529a30 | 39 | fi |
40 | ||
abc3ca14 | 41 | if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then |
72e7de60 | 42 | SPL_META_ALIAS="$SPL_META_NAME-$SPL_META_VERSION" |
abc3ca14 | 43 | test -n "$SPL_META_RELEASE" && |
72e7de60 BB |
44 | SPL_META_ALIAS="$SPL_META_ALIAS-$SPL_META_RELEASE" |
45 | AC_DEFINE_UNQUOTED([SPL_META_ALIAS], | |
46 | ["$SPL_META_ALIAS"], | |
dd529a30 | 47 | [Define the project alias string.] |
48 | ) | |
72e7de60 | 49 | AC_SUBST([SPL_META_ALIAS]) |
dd529a30 | 50 | fi |
51 | ||
abc3ca14 BB |
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"], | |
dd529a30 | 55 | [Define the project release date.] |
56 | ) | |
abc3ca14 | 57 | AC_SUBST([SPL_META_DATA]) |
dd529a30 | 58 | fi |
59 | ||
abc3ca14 BB |
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"], | |
dd529a30 | 63 | [Define the project author.] |
64 | ) | |
abc3ca14 | 65 | AC_SUBST([SPL_META_AUTHOR]) |
dd529a30 | 66 | fi |
67 | ||
68 | m4_pattern_allow([^LT_(CURRENT|REVISION|AGE)$]) | |
abc3ca14 BB |
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"], | |
dd529a30 | 80 | [Define the libtool library 'current' |
81 | version information.] | |
82 | ) | |
abc3ca14 BB |
83 | AC_DEFINE_UNQUOTED([SPL_META_LT_REVISION], |
84 | ["$SPL_META_LT_REVISION"], | |
dd529a30 | 85 | [Define the libtool library 'revision' |
86 | version information.] | |
87 | ) | |
abc3ca14 | 88 | AC_DEFINE_UNQUOTED([SPL_META_LT_AGE], ["$SPL_META_LT_AGE"], |
dd529a30 | 89 | [Define the libtool library 'age' |
90 | version information.] | |
91 | ) | |
abc3ca14 BB |
92 | AC_SUBST([SPL_META_LT_CURRENT]) |
93 | AC_SUBST([SPL_META_LT_REVISION]) | |
94 | AC_SUBST([SPL_META_LT_AGE]) | |
dd529a30 | 95 | fi |
96 | fi | |
97 | ||
98 | AC_MSG_RESULT([$_spl_ac_meta_got_file]) | |
99 | ] | |
100 | ) | |
101 | ||
102 | AC_DEFUN([_SPL_AC_META_GETVAL], | |
103 | [`perl -n\ | |
104 | -e "BEGIN { \\$key=shift @ARGV; }"\ | |
105 | -e "next unless s/^\s*\\$key@<:@:=@:>@//i;"\ | |
106 | -e "s/^((?:@<:@^'\"#@:>@*(?:(@<:@'\"@:>@)@<:@^\2@:>@*\2)*)*)#.*/\\@S|@1/;"\ | |
107 | -e "s/^\s+//;"\ | |
108 | -e "s/\s+$//;"\ | |
109 | -e "s/^(@<:@'\"@:>@)(.*)\1/\\@S|@2/;"\ | |
110 | -e "\\$val=\\$_;"\ | |
111 | -e "END { print \\$val if defined \\$val; }"\ | |
112 | '$1' $META`]dnl | |
113 | ) |