compile SPEC JVM98 using gcj ?

Paul Biggar paul.biggar@gmail.com
Mon Sep 25 21:04:00 GMT 2006


Hi,

On 5/27/06, Kazuyuki Shudo <2006@shudo.net> wrote:
> The following shell script is ad-hoc but sufficient to compile SPEC
> JVM98. Place the script on the top directory of SPEC JVM98, invoke it
> and you have an executable named a.out.

Sorry to revive an old thread, but I couldnt get this script to
compile SPEC JVM98, version 1.03. To save someone in the same
situtation the same trouble, I've listed an updated shell script.

Note that I also needed to patch the source slightly. Obviously, this
isnt ideal. If someone has a better version, or can get around
patching it, I'd like to hear from you.


Thanks
Paul

======================================================================
Patch:
======================================================================
diff -r specjvm98/spec/benchmarks/_202_jess/jess/view/View.java
specjvm98.mine/spec/benchmarks/_202_jess/jess/view/View.java
7,8c7,9
< import NullDisplay;
< import jess.*;
---
> //import NullDisplay;
> import spec.benchmarks._202_jess.NullDisplay;
> import spec.benchmarks._202_jess.jess.*;
diff -r specjvm98/spec/harness/SpecJava.java
specjvm98.mine/spec/harness/SpecJava.java
17c17,19
< import java.util.*;
---
> import java.util.Hashtable;
> import java.util.Vector;
> import java.util.Properties;


======================================================================
Script:
======================================================================
#!/bin/sh

GCJ='gcj'
FLAGS='-O0 -Wno-deprecated -Wno-out-of-date --classpath=.:spec:class'
#OPTION='-O2 -march=pentium4 -ffast-math'
#OPTION='-O0'
JESS_FLAGS='-O0 -Wno-deprecated -Wno-out-of-date
--classpath=.:class:spec:spec/benchmarks/_202_jess'
RM='rm -f'

COMPILE="$GCJ"


# compile all files
FILES=`find . -name '*.class' -o -name '*.java' | grep -v input`
echo "$COMPILE $FLAGS -c $FILES"
$COMPILE $FLAGS -c $FILES


# compile Main
echo "$RM Main.o"
$RM Main.o
echo "$COMPILE $FLAGS -c -o Main-javac.o spec/benchmarks/_213_javac/Main.class"
$COMPILE $FLAGS -c -o Main-javac.o spec/benchmarks/_213_javac/Main.class
echo "$COMPILE $FLAGS -c -o Main-raytrace.o
spec/benchmarks/_205_raytrace/Main.java"
$COMPILE $FLAGS -c -o Main-raytrace.o spec/benchmarks/_205_raytrace/Main.java
echo "$COMPILE $FLAGS -c -o Main-mtrt.o spec/benchmarks/_227_mtrt/Main.java"
$COMPILE $FLAGS -c -o Main-mtrt.o spec/benchmarks/_227_mtrt/Main.java
echo "$COMPILE $FLAGS -c -o Main-mpegaudio.o
spec/benchmarks/_222_mpegaudio/Main.java"
$COMPILE $FLAGS -c -o Main-mpegaudio.o spec/benchmarks/_222_mpegaudio/Main.java
echo "$COMPILE $FLAGS -c -o Main-check.o spec/benchmarks/_200_check/Main.java"
$COMPILE $FLAGS -c -o Main-check.o spec/benchmarks/_200_check/Main.java
echo "$COMPILE $FLAGS -c -o Main-checkit.o
spec/benchmarks/_999_checkit/Main.java"
$COMPILE $FLAGS -c -o Main-checkit.o spec/benchmarks/_999_checkit/Main.java
echo "$COMPILE $FLAGS -c -o Main-jess.o spec/benchmarks/_202_jess/Main.java"
$COMPILE $FLAGS -c -o Main-jess.o spec/benchmarks/_202_jess/Main.java
echo "$COMPILE $JESS_FLAGS -c -o Main-db.o spec/benchmarks/_209_db/Main.java"
$COMPILE $JESS_FLAGS -c -o Main-db.o spec/benchmarks/_209_db/Main.java
echo "$COMPILE $FLAGS -c -o Main-compress.o
spec/benchmarks/_201_compress/Main.java"
$COMPILE $FLAGS -c -o Main-compress.o spec/benchmarks/_201_compress/Main.java


# compile Context
echo "$RM Context.o"
$RM Context.o
echo "$COMPILE $FLAGS -c -o Context-harness.o spec/harness/Context.java"
$COMPILE $FLAGS -c -o Context-harness.o spec/harness/Context.java
echo "$COMPILE $FLAGS -c -o Context-javac.o
spec/benchmarks/_213_javac/Context.class"
$COMPILE $FLAGS -c -o Context-javac.o spec/benchmarks/_213_javac/Context.class
echo "$COMPILE $JESS_FLAGS -c -o Context-jess.o
spec/benchmarks/_202_jess/jess/Context.java"
$COMPILE $JESS_FLAGS -c -o Context-jess.o
spec/benchmarks/_202_jess/jess/Context.java

# compile Node
echo "$RM Node.o"
$RM Node.o
echo "$COMPILE $FLAGS -c -o Node-javac.o spec/benchmarks/_213_javac/Node.class"
$COMPILE $FLAGS -c -o Node-javac.o spec/benchmarks/_213_javac/Node.class
echo "$COMPILE $JESS_FLAGS -c -o Node-jess.o
spec/benchmarks/_202_jess/jess/Node.java"
$COMPILE $JESS_FLAGS -c -o Node-jess.o spec/benchmarks/_202_jess/jess/Node.java

# compile Token
$RM Token.o
$COMPILE $FLAGS -c -o Token-jess.o spec/benchmarks/_202_jess/jess/Token.java
$COMPILE $FLAGS -c -o Token-jack.o spec/benchmarks/_228_jack/Token.class

# compile Token
$RM e.o
$COMPILE $FLAGS -c -o e-jess.o spec/benchmarks/_202_jess/jess/e.class
$COMPILE $FLAGS -c -o e-mpegaudio.o spec/benchmarks/_222_mpegaudio/e.class



## link
echo "$RM  _assert_string.o _clear.o _exit.o _facts.o _divide.o
_equals.o _eq.o _and.o _assert.o _bind.o _gensym_star.o _gt.o
_gt_or_eq.o _halt.o _jess_version_number.o _if.o
_jess_version_string.o _load_facts.o _lt_or_eq.o _lt.o _minus.o _mod.o
_modify.o _neq.o _not_equals.o LoopBounds2.o complement.o
intersection.o membermf.o lengthmf.o insertmf.o implodemf.o firstmf.o
deletemf.o createmf.o C1.o C2.o C3.o _not.o nthmf.o _or.o C2intf.o
C3intf.o _plus.o _printout.o _readline.o _read.o replacemf.o _reset.o
restmf.o _retract.o _return.o _rules.o _run.o _save_facts.o SideIntf.o
SpecApplicationFrame.o SpecApplicationRunner.o StringAndInt.o
subClass.o subseqmf.o subsetp.o superClass.o _sym_cat.o syncTest.o
_times.o _undefrule.o union.o _unwatch.o _watch.o _while.o"
$RM  _assert_string.o _clear.o _exit.o _facts.o _divide.o _equals.o
_eq.o _and.o _assert.o _bind.o _gensym_star.o _gt.o _gt_or_eq.o
_halt.o _jess_version_number.o _if.o _jess_version_string.o
_load_facts.o _lt_or_eq.o _lt.o _minus.o _mod.o _modify.o _neq.o
_not_equals.o LoopBounds2.o complement.o intersection.o membermf.o
lengthmf.o insertmf.o implodemf.o firstmf.o deletemf.o createmf.o C1.o
C2.o C3.o _not.o nthmf.o _or.o C2intf.o C3intf.o _plus.o _printout.o
_readline.o _read.o replacemf.o _reset.o restmf.o _retract.o _return.o
_rules.o _run.o _save_facts.o SideIntf.o SpecApplicationFrame.o
SpecApplicationRunner.o StringAndInt.o subClass.o subseqmf.o subsetp.o
superClass.o _sym_cat.o syncTest.o _times.o _undefrule.o union.o
_unwatch.o _watch.o _while.o TestProperties.o
echo "$GCJ -o a.out -fmain=SpecApplication *.o"
$GCJ -o a.out -fmain=SpecApplication *.o




-- 
Paul Biggar
paul.biggar@gmail.com



More information about the Java mailing list