]> git.proxmox.com Git - mirror_spl-debian.git/blob - config/spl-meta.m4
54c9ac38fc5f99a7cf3c16c6c0143f858db00a4d
[mirror_spl-debian.git] / config / spl-meta.m4
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>
7 dnl # Brian Behlendorf <behlendorf1@llnl.gov>
8 dnl #
9 AC_DEFUN([SPL_AC_META], [
10
11 AH_BOTTOM([
12 #undef PACKAGE
13 #undef PACKAGE_BUGREPORT
14 #undef PACKAGE_NAME
15 #undef PACKAGE_STRING
16 #undef PACKAGE_TARNAME
17 #undef PACKAGE_VERSION
18 #undef STDC_HEADERS
19 #undef VERSION])
20
21 AC_MSG_CHECKING([metadata])
22
23 META="$srcdir/META"
24 _spl_ac_meta_got_file=no
25 if test -f "$META"; then
26 _spl_ac_meta_got_file=yes
27
28 SPL_META_NAME=_SPL_AC_META_GETVAL([(?:NAME|PROJECT|PACKAGE)]);
29 if test -n "$SPL_META_NAME"; then
30 AC_DEFINE_UNQUOTED([SPL_META_NAME], ["$SPL_META_NAME"],
31 [Define the project name.]
32 )
33 AC_SUBST([SPL_META_NAME])
34 fi
35
36 SPL_META_VERSION=_SPL_AC_META_GETVAL([VERSION]);
37 if test -n "$SPL_META_VERSION"; then
38 AC_DEFINE_UNQUOTED([SPL_META_VERSION], ["$SPL_META_VERSION"],
39 [Define the project version.]
40 )
41 AC_SUBST([SPL_META_VERSION])
42 fi
43
44 SPL_META_RELEASE=_SPL_AC_META_GETVAL([RELEASE]);
45 if test -n "$SPL_META_RELEASE"; then
46 AC_DEFINE_UNQUOTED([SPL_META_RELEASE], ["$SPL_META_RELEASE"],
47 [Define the project release.]
48 )
49 AC_SUBST([SPL_META_RELEASE])
50 fi
51
52 if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then
53 SPL_META_ALIAS="$SPL_META_NAME-$SPL_META_VERSION"
54 test -n "$SPL_META_RELEASE" &&
55 SPL_META_ALIAS="$SPL_META_ALIAS-$SPL_META_RELEASE"
56 AC_DEFINE_UNQUOTED([SPL_META_ALIAS],
57 ["$SPL_META_ALIAS"],
58 [Define the project alias string.]
59 )
60 AC_SUBST([SPL_META_ALIAS])
61 fi
62
63 SPL_META_DATA=_SPL_AC_META_GETVAL([DATE]);
64 if test -n "$SPL_META_DATA"; then
65 AC_DEFINE_UNQUOTED([SPL_META_DATA], ["$SPL_META_DATA"],
66 [Define the project release date.]
67 )
68 AC_SUBST([SPL_META_DATA])
69 fi
70
71 SPL_META_AUTHOR=_SPL_AC_META_GETVAL([AUTHOR]);
72 if test -n "$SPL_META_AUTHOR"; then
73 AC_DEFINE_UNQUOTED([SPL_META_AUTHOR], ["$SPL_META_AUTHOR"],
74 [Define the project author.]
75 )
76 AC_SUBST([SPL_META_AUTHOR])
77 fi
78
79 m4_pattern_allow([^LT_(CURRENT|REVISION|AGE)$])
80 SPL_META_LT_CURRENT=_SPL_AC_META_GETVAL([LT_CURRENT]);
81 SPL_META_LT_REVISION=_SPL_AC_META_GETVAL([LT_REVISION]);
82 SPL_META_LT_AGE=_SPL_AC_META_GETVAL([LT_AGE]);
83 if test -n "$SPL_META_LT_CURRENT" \
84 -o -n "$SPL_META_LT_REVISION" \
85 -o -n "$SPL_META_LT_AGE"; then
86 test -n "$SPL_META_LT_CURRENT" || SPL_META_LT_CURRENT="0"
87 test -n "$SPL_META_LT_REVISION" || SPL_META_LT_REVISION="0"
88 test -n "$SPL_META_LT_AGE" || SPL_META_LT_AGE="0"
89 AC_DEFINE_UNQUOTED([SPL_META_LT_CURRENT],
90 ["$SPL_META_LT_CURRENT"],
91 [Define the libtool library 'current'
92 version information.]
93 )
94 AC_DEFINE_UNQUOTED([SPL_META_LT_REVISION],
95 ["$SPL_META_LT_REVISION"],
96 [Define the libtool library 'revision'
97 version information.]
98 )
99 AC_DEFINE_UNQUOTED([SPL_META_LT_AGE], ["$SPL_META_LT_AGE"],
100 [Define the libtool library 'age'
101 version information.]
102 )
103 AC_SUBST([SPL_META_LT_CURRENT])
104 AC_SUBST([SPL_META_LT_REVISION])
105 AC_SUBST([SPL_META_LT_AGE])
106 fi
107 fi
108
109 AC_MSG_RESULT([$_spl_ac_meta_got_file])
110 ]
111 )
112
113 AC_DEFUN([_SPL_AC_META_GETVAL],
114 [`perl -n\
115 -e "BEGIN { \\$key=shift @ARGV; }"\
116 -e "next unless s/^\s*\\$key@<:@:=@:>@//i;"\
117 -e "s/^((?:@<:@^'\"#@:>@*(?:(@<:@'\"@:>@)@<:@^\2@:>@*\2)*)*)#.*/\\@S|@1/;"\
118 -e "s/^\s+//;"\
119 -e "s/\s+$//;"\
120 -e "s/^(@<:@'\"@:>@)(.*)\1/\\@S|@2/;"\
121 -e "\\$val=\\$_;"\
122 -e "END { print \\$val if defined \\$val; }"\
123 '$1' $META`]dnl
124 )