1
AC_DEFUN([SHAMROCK_FIND_MONO_1_0_COMPILER],
3
SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, mcs)
6
AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER],
8
SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs)
11
AC_DEFUN([SHAMROCK_FIND_C_SHARP_3_0_COMPILER],
13
AC_REQUIRE([SHAMROCK_FIND_MONO_RUNTIME])
14
SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs)
16
MCS_VERSION=$($MCS --version | egrep -o "([[:digit:]]\.)+[[:digit:]]+")
18
AS_VERSION_COMPARE([$MCS_VERSION], [2.0], [MCS_TOO_OLD="true"])
19
if test "$MCS_TOO_OLD" = "true" ; then
20
AC_MSG_WARN(["System gmcs too old (found $MCS_VERSION, need >= 2.0). Using internal copy"])
21
MCS="$MONO $top_srcdir/BundledLibraries/gmcs.exe"
25
AC_DEFUN([SHAMROCK_FIND_MONO_RUNTIME],
27
SHAMROCK_FIND_PROGRAM_OR_BAIL(MONO, mono)
30
AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE],
32
PKG_CHECK_MODULES(MONO_MODULE, mono >= $1)
35
AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE_NOBAIL],
37
PKG_CHECK_MODULES(MONO_MODULE, mono >= $1,
38
HAVE_MONO_MODULE=yes, HAVE_MONO_MODULE=no)
39
AC_SUBST(HAVE_MONO_MODULE)
42
AC_DEFUN([SHAMROCK_CHECK_LINQ_FLAG],
44
AC_MSG_CHECKING([for LINQ flag for mcs])
45
if $PKG_CONFIG --atleast-version=1.9 mono ; then
46
AC_MSG_RESULT([none needed])
49
AC_MSG_RESULT([-langversion:linq])
50
MCS_LINQ_FLAG=-langversion:linq
52
AC_SUBST(MCS_LINQ_FLAG)
56
AC_DEFUN([_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES],
58
for asm in $(echo "$*" | cut -d, -f2- | sed 's/\,/ /g')
60
AC_MSG_CHECKING([for Mono $1 GAC for $asm.dll])
62
-e "$($PKG_CONFIG --variable=libdir mono)/mono/$1/$asm.dll" -o \
63
-e "$($PKG_CONFIG --variable=prefix mono)/lib/mono/$1/$asm.dll"; \
65
AC_MSG_RESULT([found])
67
AC_MSG_RESULT([not found])
68
AC_MSG_ERROR([missing reqired Mono $1 assembly: $asm.dll])
73
AC_DEFUN([SHAMROCK_CHECK_MONO_1_0_GAC_ASSEMBLIES],
75
_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(1.0, $*)
78
AC_DEFUN([SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES],
80
_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(2.0, $*)