add items to TODO list
[anneal.git] / src / edu / berkeley / qfat / Boot.java
1 package edu.berkeley.qfat;
2 import java.io.*;
3
4 public class Boot {
5
6     public static void main(String[] ss) throws Exception {
7         String tmpdir = System.getProperty("java.io.tmpdir");
8         File jogldir = new File(tmpdir + File.separatorChar + "jogl");
9         jogldir.mkdirs();
10         for(String s : new String[] {
11                 "gluegen-rt.dll",
12                 "jogl.dll",
13                 "jogl_awt.dll",
14                 "jogl_cg.dll",
15                 "libgluegen-rt.jnilib",
16                 "libjogl_awt.jnilib",
17                 "libjogl.jnilib",
18                 "libjogl_cg.jnilib"
19             }) {
20             try {
21                 InputStream is = Main.class.getClassLoader().getResourceAsStream(s);
22                 System.out.println(jogldir.toString() + File.separatorChar + s);
23                 OutputStream os = new FileOutputStream(jogldir.toString() + File.separatorChar + s);
24                 byte[] buf = new byte[1024];
25                 while(true) {
26                     int num = is.read(buf, 0, buf.length);
27                     if (num==-1) break;
28                     os.write(buf, 0, num);
29                 }
30                 os.flush();
31                 os.close();
32             } catch (Exception e) {
33                 e.printStackTrace();
34             }
35         }
36
37         System.setProperty("java.library.path",
38                            System.getProperty("java.library.path")+
39                            File.pathSeparator+
40                            jogldir.toString());
41         System.out.println(System.getProperty("java.library.path"));
42
43         try {
44             Runtime.getRuntime().exec("java -Djava.library.path="+jogldir.toString()+" -cp space-sculptor.jar edu.berkeley.qfat.Main").waitFor();
45         } finally {
46             System.exit(0);
47         }
48         /*
49         Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("gluegen-rt"));
50         Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl"));
51         Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl_cg"));
52         Runtime.getRuntime().load(jogldir.toString() + File.separatorChar + System.mapLibraryName("jogl_awt"));
53         */
54         //Main.main(ss);
55     }
56
57 }