989b41 | 2000-03-06 | Marcus Comstedt | |
static int check_jre_dir(string dir)
{
if(!dir || dir=="" || dir[0]!='/')
return 0;
if(!file_stat(dir+"/lib/rt.jar"))
return 0;
if(!file_stat(dir+"/lib/flavormap.properties"))
return 0;
|
edfe85 | 2001-01-24 | Marcus Comstedt | | string v = Process.popen(dir+"/bin/java -version 2>&1");
if(2 <= sscanf(v, "java version \"%d.%d.%d", int maj, int min, int bld)) {
if(maj < 1)
return 0;
if(maj > 1 || min > 2)
return 1;
if(min < 2)
return 0;
return bld >= 2;
} else
return 1;
|
989b41 | 2000-03-06 | Marcus Comstedt | | }
static string findjre()
{
|
edfe85 | 2001-01-24 | Marcus Comstedt | | string dir = combine_path(combine_path(getcwd(), __FILE__),
"../../../java/jre");
if(check_jre_dir(dir))
return dir;
dir =
|
185d65 | 2000-04-05 | Henrik Grubbström (Grubba) | | (Process.popen("java -verbose 2>&1 | sed -n -e 's/^[^/]*//' -e "
|
be558a | 2001-04-10 | Henrik Grubbström (Grubba) | | "'s:/lib/rt\\.jar.*$::' -e p -e q")||"")-"\n";
|
ab4f2c | 2003-12-16 | Jonas Wallden | |
if (has_value(dir, "JavaVM.framework"))
return "/System/Library/Frameworks/JavaVM.framework/Versions/"
"CurrentJDK/Home/";
|
989b41 | 2000-03-06 | Marcus Comstedt | | if(check_jre_dir(dir))
return dir;
|
df12f4 | 2001-01-17 | Marcus Comstedt | | foreach(`+(@Array.map(({"/usr/local", "/usr", "/usr/java"}),
|
989b41 | 2000-03-06 | Marcus Comstedt | | lambda(string s) {
return Array.map(Array.map(({"jre*","jdk*","java*"}),
glob,
|
e8f6ba | 2000-11-13 | Marcus Comstedt | | reverse(sort(get_dir(s)||
({""}))))*
({}),
|
989b41 | 2000-03-06 | Marcus Comstedt | | lambda(string sb) {
return s+"/"+sb;
});
})), string d) {
if(d && d!="")
if(check_jre_dir(d+"/jre"))
return d+"/jre";
else if(check_jre_dir(d))
return d;
}
return 0;
}
void run(object env)
{
string jrehome, arch, threads_type="native_threads";
|
9d7abc | 2000-08-31 | Fredrik Noring | | write(" Checking for Java 2 (TM)...");
|
989b41 | 2000-03-06 | Marcus Comstedt | | if(!(jrehome=getenv("JREHOME")))
jrehome=findjre();
if(!jrehome)
jrehome = env->get("JREHOME");
if(!jrehome) {
|
f47af0 | 2000-03-30 | Leif Stensson | | write(" not found\n");
|
989b41 | 2000-03-06 | Marcus Comstedt | | return;
}
|
b973a0 | 2000-08-31 | Fredrik Noring | | write(" JREHOME="+jrehome+"\n");
|
989b41 | 2000-03-06 | Marcus Comstedt | | env->set("JREHOME", jrehome);
|
0571ae | 2002-10-31 | Marcus Wellhardh | |
array archs = ({
(Process.popen("(/usr/bin/uname -p||uname -p) 2>/dev/null | sed -e 's/^i[4-9]86/i386/'")||"")-"\n",
(Process.popen("(/usr/bin/uname -m||uname -m) 2>/dev/null | sed -e 's/^i[4-9]86/i386/'")||"")-"\n"
});
foreach(Array.uniq(archs), string arch)
{
if(arch == "")
arch = "_";
|
d98b27 | 2005-10-25 | Anders Johansson | | else if(arch == "x86_64")
arch = "amd64";
|
0571ae | 2002-10-31 | Marcus Wellhardh | |
|
d98b27 | 2005-10-25 | Anders Johansson | | foreach(({arch+"/"+threads_type, arch+"/classic", arch+"/server", arch}), string dir) {
|
0571ae | 2002-10-31 | Marcus Wellhardh | | mixed s = file_stat(jrehome+"/lib/"+dir);
if(s && s[1]==-2)
env->append("LD_LIBRARY_PATH", jrehome+"/lib/"+dir);
}
|
989b41 | 2000-03-06 | Marcus Comstedt | | }
|
0571ae | 2002-10-31 | Marcus Wellhardh | |
|
e8f6ba | 2000-11-13 | Marcus Comstedt | |
if(file_stat(jrehome+"/bin/libjava.a"))
env->append("LIBPATH", jrehome+"/bin/:"+jrehome+"/bin/classic/" );
|
051fe7 | 2002-05-06 | Jonas Wallden | |
if (!env->get("_JAVA_OPTIONS"))
|
397f57 | 2003-02-05 | Jonas Wallden | | env->set("_JAVA_OPTIONS", "\"-Xmx256m -Xrs\"");
|
989b41 | 2000-03-06 | Marcus Comstedt | | }
|