summaryrefslogtreecommitdiffstats
path: root/gettext-tools/m4/csharpcomp.m4
blob: 132cc4987288098b17d171b034da560af3000d35 (plain)
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
# csharpcomp.m4 serial 4 (gettext-0.14.2)
dnl Copyright (C) 2003-2005 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

# Prerequisites of csharpcomp.sh.
# Sets HAVE_CSHARPCOMP to nonempty if csharpcomp.sh will work.

AC_DEFUN([gt_CSHARPCOMP],
[
  AC_REQUIRE([gt_CSHARP_CHOICE])
  AC_MSG_CHECKING([for C[#] compiler])
  HAVE_CSHARPCOMP=1
  pushdef([AC_MSG_CHECKING],[:])dnl
  pushdef([AC_CHECKING],[:])dnl
  pushdef([AC_MSG_RESULT],[:])dnl
  AC_CHECK_PROG(HAVE_CSCC_IN_PATH, cscc, yes)
  AC_CHECK_PROG(HAVE_MCS_IN_PATH, mcs, yes)
  AC_CHECK_PROG(HAVE_CSC_IN_PATH, csc, yes)
  popdef([AC_MSG_RESULT])dnl
  popdef([AC_CHECKING])dnl
  popdef([AC_MSG_CHECKING])dnl
  for impl in "$CSHARP_CHOICE" pnet mono sscli no; do
    case "$impl" in
      pnet)
        if test -n "$HAVE_CSCC_IN_PATH" \
           && cscc --version >/dev/null 2>/dev/null; then
          HAVE_CSCC=1
          ac_result="cscc"
          break
        fi
        ;;
      mono)
        if test -n "$HAVE_MCS_IN_PATH" \
           && mcs --version >/dev/null 2>/dev/null; then
          HAVE_MCS=1
          ac_result="mcs"
          break
        fi
        ;;
      sscli)
        if test -n "$HAVE_CSC_IN_PATH" \
           && csc -help >/dev/null 2>/dev/null \
           && { if csc -help 2>/dev/null | grep -i chicken > /dev/null; then false; else true; fi; }; then
          HAVE_CSC=1
          ac_result="csc"
          break
        fi
        ;;
      no)
        HAVE_CSHARPCOMP=
        ac_result="no"
        break
        ;;
    esac
  done
  AC_MSG_RESULT([$ac_result])
  AC_SUBST(HAVE_CSCC)
  AC_SUBST(HAVE_MCS)
  AC_SUBST(HAVE_CSC)
])