diff options
author | Juergen Schmidt <jsc@openoffice.org> | 2010-10-28 14:20:34 +0200 |
---|---|---|
committer | Juergen Schmidt <jsc@openoffice.org> | 2010-10-28 14:20:34 +0200 |
commit | fa59c73830964b2add1443f5b081982342802eca (patch) | |
tree | 18b8b608d0eb0299795aeb51c46f1e1f86d1c286 /odk | |
parent | jsc340: i114887: remove idls for old draft types (diff) | |
download | core-fa59c73830964b2add1443f5b081982342802eca.tar.gz core-fa59c73830964b2add1443f5b081982342802eca.zip |
jsc340: fix problem in resolveLink
Diffstat (limited to 'odk')
-rwxr-xr-x | odk/configure.pl | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/odk/configure.pl b/odk/configure.pl index ea5b58452b1c..e1a1cfb99924 100755 --- a/odk/configure.pl +++ b/odk/configure.pl @@ -5,6 +5,7 @@ # use IO::File; +use File::Basename; $main::hostname= $ARGV[0]; $main::sdkpath= $ARGV[1]; @@ -554,15 +555,26 @@ sub resolveLink { my $base= shift; my $link= shift; - my $linktarget = readlink "$base/$link"; + + my $resolvedpath = "$base/$link"; + my $linktarget = readlink "$resolvedpath"; my $resolvedlink = ""; while ( $linktarget ne "") { - $link = $linktarget; - $linktarget = readlink "$base/$link"; + + if ( $linktarget =~ m/^\/.*/ ) + { + $resolvedpath = "$linktarget"; + } else { + $resolvedpath = `cd $base/$linktarget; pwd`; + chop $resolvedpath; } + $base = dirname("$resolvedpath"); - $resolvedlink = `cd $base/$link; pwd`; + $linktarget = readlink "$resolvedpath"; + } + + $resolvedlink = `cd $resolvedpath; pwd`; chop $resolvedlink; return $resolvedlink; } @@ -578,6 +590,7 @@ sub searchprog { if ( $main::operatingSystem =~ m/darwin/ ) { $progDir = resolveLink("/System/Library/Frameworks/JavaVM.Framework/Versions", "CurrentJDK"); + if ( -e "$progDir/$main::OO_SDK_JAVA_BIN_DIR/javac" ) { return "$progDir/$main::OO_SDK_JAVA_BIN_DIR"; |