From: adam Date: Wed, 28 Jan 2009 21:23:11 +0000 (-0800) Subject: add Boot.java X-Git-Url: http://git.megacz.com/?p=anneal.git;a=commitdiff_plain;h=cd0371a1ceb178c2fa7209550467e09be8a15c78 add Boot.java darcs-hash:20090128212311-5007d-c286a20510477636f9a7ccf8aa0f91a1d7258621.gz --- diff --git a/src/edu/berkeley/qfat/Boot.java b/src/edu/berkeley/qfat/Boot.java new file mode 100644 index 0000000..052d764 --- /dev/null +++ b/src/edu/berkeley/qfat/Boot.java @@ -0,0 +1,57 @@ +package edu.berkeley.qfat; +import java.io.*; + +public class Boot { + + public static void main(String[] ss) throws Exception { + String tmpdir = System.getProperty("java.io.tmpdir"); + File jogldir = new File(tmpdir + File.separatorChar + "jogl"); + jogldir.mkdirs(); + for(String s : new String[] { + "gluegen-rt.dll", + "jogl.dll", + "jogl_awt.dll", + "jogl_cg.dll", + "libgluegen-rt.jnilib", + "libjogl_awt.jnilib", + "libjogl.jnilib", + "libjogl_cg.jnilib" + }) { + try { + InputStream is = Main.class.getClassLoader().getResourceAsStream(s); + System.out.println(jogldir.toString() + File.separatorChar + s); + OutputStream os = new FileOutputStream(jogldir.toString() + File.separatorChar + s); + byte[] buf = new byte[1024]; + while(true) { + int num = is.read(buf, 0, buf.length); + if (num==-1) break; + os.write(buf, 0, num); + } + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + System.setProperty("java.library.path", + System.getProperty("java.library.path")+ + File.pathSeparator+ + jogldir.toString()); + System.out.println(System.getProperty("java.library.path")); + + try { + Runtime.getRuntime().exec("java -Djava.library.path="+jogldir.toString()+" -cp space-sculptor.jar edu.berkeley.qfat.Main").waitFor(); + } finally { + System.exit(0); + } + /* + Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("gluegen-rt")); + Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl")); + Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl_cg")); + Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl_awt")); + */ + //Main.main(ss); + } + +} \ No newline at end of file