#!/bin/bash # $Id: javac.in 5550 2009-02-19 18:14:43Z cher $ # Copyright (c) 2004-2008 Alexander Chernov # Usage: javac in-file out-file # The working dir must not contain any .class files. # using EJUDGE_FLAGS we may pass additional flags prefix="/opt/ejudge" exec_prefix="/opt/ejudge" libexecdir="/opt/ejudge/libexec" LANG_CONFIG_DIR="/home/judges/compile/conf/lang.d" [ "${EJUDGE_LANG_CONFIG}" = "" ] && EJUDGE_LANG_CONFIG="${LANG_CONFIG_DIR}/javac.cfg" infile="$1" outfile="$2" if [ -f "${EJUDGE_LANG_CONFIG}" ] then . "${EJUDGE_LANG_CONFIG}" else version="unknown" JAVARUN="/usr/bin/java" JAVACRUN="/usr/bin/javac" JAVADIR="/usr" JAVAVER="1.6" fi if [ x"${version}" = x ] then echo "This language is not supported." >&2 exit 1 fi # avoid setting JAVA_HOME if it is already set # actually, setting of JAVA_HOME breaks some systems, so don't do it MY_JAVA_HOME="${JAVA_HOME}" if [ "${MY_JAVA_HOME}" = "" ] then MY_JAVA_HOME="${JAVADIR}" PATH="${MY_JAVA_HOME}/bin:${PATH}" export PATH fi rm -f *.class exec "${libexecdir}/ejudge/lang/ej-javac" "${infile}" "${outfile}" "${JAVACRUN}" "${JAVAVER}" "${MY_JAVA_HOME}"