diff options
Diffstat (limited to 'dev-java/ecj-gcj/files/ecj-gcj.in')
-rw-r--r-- | dev-java/ecj-gcj/files/ecj-gcj.in | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/dev-java/ecj-gcj/files/ecj-gcj.in b/dev-java/ecj-gcj/files/ecj-gcj.in new file mode 100644 index 000000000000..4f838d5de240 --- /dev/null +++ b/dev-java/ecj-gcj/files/ecj-gcj.in @@ -0,0 +1,23 @@ +#!/bin/bash + +# /usr/bin/gij was installed by gcj-jdk in the past and is now handled by +# gcc-config, fall back to gcc-config to locate the binary should the +# symlink/wrapper-binary not yet exists. +GIJ_BIN="@GENTOO_PORTAGE_EPREFIX@/usr/bin/gij" +if [[ ! -f ${GIJ_BIN} ]]; then + GIJ_BIN="$(gcc-config -B)/gij" +fi +if [[ ! -f ${GIJ_BIN} ]]; then + echo "gij not found! check that gcc is compiled with gcj flag" + exit 1 +fi +# calling java-config would be an unnecessary slowdown here + +# we need to append user CLASSPATH otherwise it will be overriden by the -classpath parameter +# this breaks e.g. bootstrap of ant-core +ecj_cp="@GENTOO_PORTAGE_EPREFIX@/usr/share/ecj-gcj-@SLOT@/lib/ecj.jar" +if [[ -n "${CLASSPATH}" ]]; then + ecj_cp="${ecj_cp}:${CLASSPATH}" +fi + +${GIJ_BIN} -classpath "${ecj_cp}" org.eclipse.jdt.internal.compiler.batch.Main "${@}" |