forked from mono/Mono.Zeroconf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shamrock.m4
102 lines (88 loc) · 2.28 KB
/
shamrock.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
AC_DEFUN([SHAMROCK_EXPAND_LIBDIR],
[
expanded_libdir=`(
case $prefix in
NONE) prefix=$ac_default_prefix ;;
*) ;;
esac
case $exec_prefix in
NONE) exec_prefix=$prefix ;;
*) ;;
esac
eval echo $libdir
)`
AC_SUBST(expanded_libdir)
])
AC_DEFUN([SHAMROCK_FIND_PROGRAM],
[
AC_PATH_PROG($1, $2, $3)
AC_SUBST($1)
])
AC_DEFUN([SHAMROCK_FIND_PROGRAM_OR_BAIL],
[
SHAMROCK_FIND_PROGRAM($1, $2, no)
if test "x$1" = "xno"; then
AC_MSG_ERROR([You need to install '$2'])
fi
])
AC_DEFUN([SHAMROCK_FIND_MONO_1_0_COMPILER],
[
SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, mcs)
])
AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER],
[
SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs)
])
AC_DEFUN([SHAMROCK_FIND_MONO_RUNTIME],
[
SHAMROCK_FIND_PROGRAM_OR_BAIL(MONO, mono)
])
AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE],
[
PKG_CHECK_MODULES(MONO_MODULE, mono >= $1)
])
AC_DEFUN([_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES],
[
for asm in $(echo "$*" | cut -d, -f2- | sed 's/\,/ /g')
do
AC_MSG_CHECKING([for Mono $1 GAC for $asm.dll])
if test \
-e "$($PKG_CONFIG --variable=libdir mono)/mono/$1/$asm.dll" -o \
-e "$($PKG_CONFIG --variable=prefix mono)/lib/mono/$1/$asm.dll"; \
then \
AC_MSG_RESULT([found])
else
AC_MSG_RESULT([not found])
AC_MSG_ERROR([missing reqired Mono $1 assembly: $asm.dll])
fi
done
])
AC_DEFUN([SHAMROCK_CHECK_MONO_1_0_GAC_ASSEMBLIES],
[
_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(1.0, $*)
])
AC_DEFUN([SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES],
[
_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(2.0, $*)
])
AC_DEFUN([SHAMROCK_CHECK_MONODOC],
[
AC_ARG_ENABLE(docs, AC_HELP_STRING([--disable-docs],
[Do not build documentation]), , enable_docs=yes)
if test "x$enable_docs" = "xyes"; then
AC_PATH_PROG(MONODOCER, monodocer, no)
if test "x$MONODOCER" = "xno"; then
AC_MSG_ERROR([You need to install monodoc, or pass --disable-docs to configure to skip documentation installation])
fi
AC_PATH_PROG(MDASSEMBLER, mdassembler, no)
if test "x$MDASSEMBLER" = "xno"; then
AC_MSG_ERROR([You need to install mdassembler, or pass --disable-docs to configure to skip documentation installation])
fi
DOCDIR=`$PKG_CONFIG monodoc --variable=sourcesdir`
AC_SUBST(DOCDIR)
AM_CONDITIONAL(BUILD_DOCS, true)
else
AC_MSG_NOTICE([not building API documentation])
AM_CONDITIONAL(BUILD_DOCS, false)
fi
])