summaryrefslogtreecommitdiff
path: root/build-aux/javacomp.sh.in
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2006-01-09 13:46:11 +0000
committerBruno Haible <bruno@clisp.org>2006-01-09 13:46:11 +0000
commitc8685111a8bcfd7dca8573a9d48eccfef04cd0b6 (patch)
tree33ea4e209c1756a794fc3144dc97379c0e694de4 /build-aux/javacomp.sh.in
parent458d677aec2784dfe9d26df4d8cd5117485d440e (diff)
downloadgnulib-c8685111a8bcfd7dca8573a9d48eccfef04cd0b6.tar.gz
Moved here from lib/javacomp.sh.in.
Diffstat (limited to 'build-aux/javacomp.sh.in')
-rw-r--r--build-aux/javacomp.sh.in73
1 files changed, 73 insertions, 0 deletions
diff --git a/build-aux/javacomp.sh.in b/build-aux/javacomp.sh.in
new file mode 100644
index 0000000000..e0c560c1ef
--- /dev/null
+++ b/build-aux/javacomp.sh.in
@@ -0,0 +1,73 @@
+#!/bin/sh
+# Compile a Java program.
+
+# Copyright (C) 2001-2002 Free Software Foundation, Inc.
+# Written by Bruno Haible <haible@clisp.cons.org>, 2001.
+#
+# 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 javacomp.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 it must be able to unset JAVA_HOME
+# in some cases, which a simple shell command cannot do.
+#
+# The extra CLASSPATH must have been set prior to calling this script.
+# Options that can be passed are -O, -g and "-d DIRECTORY".
+
+CONF_JAVAC='@JAVAC@'
+CONF_CLASSPATH='@CLASSPATH@'
+if test -n "$CONF_JAVAC"; then
+ # Combine given CLASSPATH and configured CLASSPATH.
+ if test -n "$CLASSPATH"; then
+ CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}"
+ else
+ CLASSPATH="$CONF_CLASSPATH"
+ fi
+ export CLASSPATH
+ test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@"
+ exec $CONF_JAVAC "$@"
+else
+ unset JAVA_HOME
+ if test -n "@HAVE_GCJ_C@"; then
+ CLASSPATH="$CLASSPATH"
+ export CLASSPATH
+ test -z "$JAVA_VERBOSE" || echo gcj -C "$@"
+ exec gcj -C "$@"
+ else
+ if test -n "@HAVE_JAVAC@"; then
+ CLASSPATH="$CLASSPATH"
+ export CLASSPATH
+ test -z "$JAVA_VERBOSE" || echo javac "$@"
+ exec javac "$@"
+ else
+ if test -n "@HAVE_JIKES@"; then
+ # Combine given CLASSPATH and configured CLASSPATH.
+ if test -n "$CLASSPATH"; then
+ CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}"
+ else
+ CLASSPATH="$CONF_CLASSPATH"
+ fi
+ export CLASSPATH
+ test -z "$JAVA_VERBOSE" || echo jikes "$@"
+ exec jikes "$@"
+ else
+ echo 'Java compiler not found, try installing gcj or set $JAVAC, then reconfigure' 1>&2
+ exit 1
+ fi
+ fi
+ fi
+fi