changeset 6516:b23cbd84435d

Moved here from lib/csharpexec.sh.in.
author Bruno Haible <bruno@clisp.org>
date Mon, 09 Jan 2006 13:45:38 +0000
parents 16eef914d6b4
children 9ad529361e4f
files build-aux/csharpexec.sh.in
diffstat 1 files changed, 84 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/build-aux/csharpexec.sh.in
@@ -0,0 +1,84 @@
+#!/bin/sh
+# Execute a C# program.
+
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# Written by Bruno Haible <bruno@clisp.org>, 2003.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# This uses the same choices as csharpexec.c, but instead of relying on the
+# environment settings at run time, it uses the environment variables
+# present at configuration time.
+#
+# This is a separate shell script, because the various C# interpreters have
+# different command line options.
+#
+# Usage: /bin/sh csharpexec.sh [OPTION] program.exe [ARGUMENTS]
+# Options:
+#   -L DIRECTORY      search for C# libraries also in DIRECTORY
+
+sed_quote_subst='s/\([|&;<>()$`"'"'"'*?[#~=% 	\\]\)/\\\1/g'
+options_ilrun=
+libdirs_mono=
+prog=
+while test $# != 0; do
+  case "$1" in
+    -L)
+      options_ilrun="$options_ilrun -L "`echo "$2" | sed -e "$sed_quote_subst"`
+      libdirs_mono="${libdirs_mono:+$libdirs_mono@MONO_PATH_SEPARATOR@}$2"
+      shift
+      ;;
+    -*)
+      echo "csharpexec: unknown option '$1'" 1>&2
+      exit 1
+      ;;
+    *)
+      prog="$1"
+      break
+      ;;
+  esac
+  shift
+done
+if test -z "$prog"; then
+  echo "csharpexec: no program specified" 1>&2
+  exit 1
+fi
+case "$prog" in
+  *.exe) ;;
+  *)
+    echo "csharpexec: program is not a .exe" 1>&2
+    exit 1
+    ;;
+esac
+
+if test -n "@HAVE_ILRUN@"; then
+  test -z "$CSHARP_VERBOSE" || echo ilrun $options_ilrun "$@"
+  exec ilrun $options_ilrun "$@"
+else
+  if test -n "@HAVE_MONO@"; then
+    CONF_MONO_PATH='@MONO_PATH@'
+    if test -n "$libdirs_mono"; then
+      MONO_PATH="$libdirs_mono${CONF_MONO_PATH:+@MONO_PATH_SEPARATOR@$CONF_MONO_PATH}"
+    else
+      MONO_PATH="$CONF_MONO_PATH"
+    fi
+    export MONO_PATH
+    test -z "$CSHARP_VERBOSE" || echo mono "$@"
+    exec mono "$@"
+  else
+    echo 'C# virtual machine not found, try installing pnet, then reconfigure' 1>&2
+    exit 1
+  fi
+fi