more xwt -> ibex cleanup
[nestedvm.git] / src / tests / Env.java
1 package tests;
2
3 import org.ibex.nestedvm.Runtime;
4
5 class Env {
6     public static void main(String[] args) throws Exception {
7         int n = 0;
8         while(n < args.length && args[n].indexOf("=") != -1) n++;
9
10         if(n==args.length) {
11             System.err.println("Usage: Env [name=value ...] classname [args ...]");
12             System.exit(1);
13         }
14         
15         String[] env = new String[n];
16         String[] appArgs = new String[args.length-n-1];
17         for(int i=0;i<n;i++) env[i] = args[i];
18         String className = args[n];
19         for(int i=n+1;i<args.length;i++) appArgs[i-n-1] = args[i];
20         
21         Runtime rt;
22         if(className.endsWith(".mips")) {
23             rt = new org.ibex.nestedvm.Interpreter(className);
24         } else {
25             Class c = Class.forName(className);
26             if(!Runtime.class.isAssignableFrom(c)) { System.err.println(className + " isn't a MIPS compiled class"); System.exit(1); }
27             rt = (Runtime) c.newInstance();
28         }
29         System.exit(rt.run(appArgs,env));
30     }
31 }