forked from fchapoton/cairo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
acinclude.m4
55 lines (43 loc) · 1.57 KB
/
acinclude.m4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
dnl -*- mode: autoconf -*-
dnl [m4_newline] didn't appear until autoconf 2.62
m4_ifdef([m4_newline],,[m4_define([m4_newline],[
])])
dnl These are not available in autoconf 2.59
m4_ifdef([m4_foreach_w],,[m4_define([m4_foreach_w],
[m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])])])
m4_ifdef([AS_CASE],,[
m4_define([_AS_CASE],
[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
[$#], 1, [ *) $1 ;;],
[$#], 2, [ $1) m4_default([$2], [:]) ;;],
[ $1) m4_default([$2], [:]) ;;
$0(m4_shift2($@))])dnl
])
m4_defun([AS_CASE],
[m4_ifval([$2$3],
[case $1 in
_AS_CASE(m4_shift($@))
esac
])dnl
])# AS_CASE
])
m4_ifdef([m4_shift2],, [m4_define([m4_shift2], [m4_shift(m4_shift($@))])])
dnl ==========================================================================
dnl This has to be in acinclude.m4 as it includes other files
dnl Parse Version.mk and declare m4 variables out of it
m4_define([CAIRO_PARSE_VERSION],dnl
m4_translit(dnl
m4_bpatsubst(m4_include(cairo-version.h),
[^.define \([a-zA-Z0-9_]*\) *\([0-9][0-9]*\)],
[[m4_define(\1, \2)]]),
[A-Z], [a-z])dnl
)dnl
dnl ==========================================================================
m4_pattern_forbid([^cr_])
dnl AC_AUTOCONF_VERSION was introduced in 2.62, so its definition works as
dnl a conditional on version >= 2.62. Older versions did not call
dnl m4_pattern_allow from AC_DEFINE and friends. To avoid lots of warnings we
dnl only forbid CAIRO_ if autoconf is recent enough.
m4_ifdef([AC_AUTOCONF_VERSION],
[m4_pattern_forbid([CAIRO])],
[m4_pattern_forbid([_CAIRO])])