summaryrefslogtreecommitdiffstats
path: root/core/find-jdk-tools-jar.sh
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2014-07-14 10:42:11 +0200
committerBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2014-07-14 10:54:58 +0200
commit09040dd8232f8fe588d938e04581ba1648f452f4 (patch)
tree60751f3d5b1bec4c60576f8a631431ba2b564b99 /core/find-jdk-tools-jar.sh
parent6ff849568c94c53c8a722f71f33c1e688ebbed74 (diff)
downloadbuild-09040dd8232f8fe588d938e04581ba1648f452f4.zip
build-09040dd8232f8fe588d938e04581ba1648f452f4.tar.gz
build-09040dd8232f8fe588d938e04581ba1648f452f4.tar.bz2
Fix Java detection on some Linux distributions
On some Linux distributions (spotted here on OpenMandriva Lx, but I'm pretty sure some others do the same thing), "which javac" returns /usr/bin/javac, which is a symlink to "../../etc/alternatives/javac", which in turn points at whatever the JDK the user picked as his default. Given "../../etc/alternatives/javac" is a relative, symlink, the next iteration of LSLINE=$(ls -l "$JAVAC") fails (no ../../etc/alternatives/java relative to the build directory), causing tools.jar not to be found. Using readlink -f should work in all cases (while also simplifying the script a bit). Change-Id: I96afcf8e6460861bf8bb849dae05c27c42b91e84 Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Diffstat (limited to 'core/find-jdk-tools-jar.sh')
-rwxr-xr-xcore/find-jdk-tools-jar.sh6
1 files changed, 1 insertions, 5 deletions
diff --git a/core/find-jdk-tools-jar.sh b/core/find-jdk-tools-jar.sh
index f150a9a..d1b3ce9 100755
--- a/core/find-jdk-tools-jar.sh
+++ b/core/find-jdk-tools-jar.sh
@@ -2,13 +2,9 @@
if [ "x$ANDROID_JAVA_HOME" != x ] && [ -e "$ANDROID_JAVA_HOME/lib/tools.jar" ] ; then
echo $ANDROID_JAVA_HOME/lib/tools.jar
else
- JAVAC=$(which javac)
+ JAVAC=$(readlink -f $(which javac))
if [ -z "$JAVAC" ] ; then
exit 1
fi
- while [ -L "$JAVAC" ] ; do
- LSLINE=$(ls -l "$JAVAC")
- JAVAC=$(echo -n "$LSLINE" | sed -e "s/.* -> //")
- done
echo $JAVAC | sed -e "s:\(.*\)/bin/javac.*:\\1/lib/tools.jar:"
fi