libc-config: Fix __GNUC_PREREQ macro.
[gnulib.git] / m4 / csharpexec.m4
blob90b999115bff61dd8d6db773f588f25f9464c8ab
1 # csharpexec.m4 serial 5
2 dnl Copyright (C) 2003-2005, 2009-2017 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 # Prerequisites of csharpexec.sh.
8 # Checks for a C# execution engine.
9 # gt_CSHARPEXEC or gt_CSHARPEXEC(testexecutable, its-directory)
10 # Sets at most one of HAVE_ILRUN, HAVE_MONO, HAVE_CLIX.
11 # Sets HAVE_CSHARPEXEC to nonempty if csharpexec.sh will work.
12 AC_DEFUN([gt_CSHARPEXEC],
14   AC_REQUIRE([gt_CSHARP_CHOICE])
15   AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
16   AC_MSG_CHECKING([for C[#] program execution engine])
17   AC_EGREP_CPP([yes], [
18 #if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
19   yes
20 #endif
21 ], MONO_PATH_SEPARATOR=';', MONO_PATH_SEPARATOR=':')
22   HAVE_CSHARPEXEC=1
23   pushdef([AC_MSG_CHECKING],[:])dnl
24   pushdef([AC_CHECKING],[:])dnl
25   pushdef([AC_MSG_RESULT],[:])dnl
26   AC_CHECK_PROG([HAVE_ILRUN_IN_PATH], [ilrun], [yes])
27   AC_CHECK_PROG([HAVE_MONO_IN_PATH], [mono], [yes])
28   AC_CHECK_PROG([HAVE_CLIX_IN_PATH], [clix], [yes])
29   popdef([AC_MSG_RESULT])dnl
30   popdef([AC_CHECKING])dnl
31   popdef([AC_MSG_CHECKING])dnl
32   for impl in "$CSHARP_CHOICE" pnet mono no; do
33     case "$impl" in
34       pnet)
35         if test -n "$HAVE_ILRUN_IN_PATH" \
36            && ilrun --version >/dev/null 2>/dev/null \
37            ifelse([$1], , , [&& ilrun $2/$1 >/dev/null 2>/dev/null]); then
38           HAVE_ILRUN=1
39           ac_result="ilrun"
40           break
41         fi
42         ;;
43       mono)
44         if test -n "$HAVE_MONO_IN_PATH" \
45            && mono --version >/dev/null 2>/dev/null \
46            ifelse([$1], , , [&& mono $2/$1 >/dev/null 2>/dev/null]); then
47           HAVE_MONO=1
48           ac_result="mono"
49           break
50         fi
51         ;;
52       sscli)
53         if test -n "$HAVE_CLIX_IN_PATH" \
54            ifelse([$1], , , [&& clix $2/$1 >/dev/null 2>/dev/null]); then
55           HAVE_CLIX=1
56           case $host_os in
57             cygwin* | mingw* | pw32*)
58               CLIX_PATH_VAR=PATH
59               ;;
60             darwin* | rhapsody*)
61               CLIX_PATH_VAR=DYLD_LIBRARY_PATH
62               ;;
63             *)
64               CLIX_PATH_VAR=LD_LIBRARY_PATH
65               ;;
66           esac
67           eval CLIX_PATH=\"\$CLIX_PATH_VAR\"
68           ac_result="clix"
69           break
70         fi
71         ;;
72       no)
73         HAVE_CSHARPEXEC=
74         ac_result="no"
75         break
76         ;;
77     esac
78   done
79   AC_MSG_RESULT([$ac_result])
80   AC_SUBST([MONO_PATH])
81   AC_SUBST([MONO_PATH_SEPARATOR])
82   AC_SUBST([CLIX_PATH_VAR])
83   AC_SUBST([CLIX_PATH])
84   AC_SUBST([HAVE_ILRUN])
85   AC_SUBST([HAVE_MONO])
86   AC_SUBST([HAVE_CLIX])