Home | History | Annotate | Download | only in build-aux
      1 #!/bin/sh
      2 # Compile a Java program.
      3 
      4 # Copyright (C) 2001-2012 Free Software Foundation, Inc.
      5 # Written by Bruno Haible <haible (at] clisp.cons.org>, 2001.
      6 #
      7 # This program is free software: you can redistribute it and/or modify
      8 # it under the terms of the GNU General Public License as published by
      9 # the Free Software Foundation; either version 3 of the License, or
     10 # (at your option) any later version.
     11 #
     12 # This program is distributed in the hope that it will be useful,
     13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 # GNU General Public License for more details.
     16 #
     17 # You should have received a copy of the GNU General Public License
     18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
     19 
     20 # This uses the same choices as javacomp.c, but instead of relying on the
     21 # environment settings at run time, it uses the environment variables
     22 # present at configuration time.
     23 #
     24 # This is a separate shell script, because it must be able to unset JAVA_HOME
     25 # in some cases, which a simple shell command cannot do.
     26 #
     27 # The extra CLASSPATH must have been set prior to calling this script.
     28 # Options that can be passed are -O, -g and "-d DIRECTORY".
     29 
     30 CONF_JAVAC='@CONF_JAVAC@'
     31 CONF_CLASSPATH='@CLASSPATH@'
     32 if test -n "@HAVE_JAVAC_ENVVAR@"; then
     33   # Combine given CLASSPATH and configured CLASSPATH.
     34   if test -n "$CLASSPATH"; then
     35     CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}"
     36   else
     37     CLASSPATH="$CONF_CLASSPATH"
     38   fi
     39   export CLASSPATH
     40   test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@"
     41   exec $CONF_JAVAC "$@"
     42 else
     43   unset JAVA_HOME
     44   if test -n "@HAVE_GCJ_C@"; then
     45     # In this case, $CONF_JAVAC starts with "gcj -C".
     46     CLASSPATH="$CLASSPATH"
     47     export CLASSPATH
     48     test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@"
     49     exec $CONF_JAVAC "$@"
     50   else
     51     if test -n "@HAVE_JAVAC@"; then
     52       # In this case, $CONF_JAVAC starts with "javac".
     53       CLASSPATH="$CLASSPATH"
     54       export CLASSPATH
     55       test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@"
     56       exec $CONF_JAVAC "$@"
     57     else
     58       if test -n "@HAVE_JIKES@"; then
     59         # In this case, $CONF_JAVAC starts with "jikes".
     60         # Combine given CLASSPATH and configured CLASSPATH.
     61         if test -n "$CLASSPATH"; then
     62           CLASSPATH="$CLASSPATH${CONF_CLASSPATH:+@CLASSPATH_SEPARATOR@$CONF_CLASSPATH}"
     63         else
     64           CLASSPATH="$CONF_CLASSPATH"
     65         fi
     66         export CLASSPATH
     67         test -z "$JAVA_VERBOSE" || echo "$CONF_JAVAC $@"
     68         exec $CONF_JAVAC "$@"
     69       else
     70         echo 'Java compiler not found, try installing gcj or set $JAVAC, then reconfigure' 1>&2
     71         exit 1
     72       fi
     73     fi
     74   fi
     75 fi
     76