The DaCapo Benchmark Suite DEPENDENCIES: - javacc (http://javacc.dev.java.net/) - maven (http://maven.apache.org/) For convinience, both are included in the tools directory: ${toolsdir} BUILDING: 1. Set your JAVA_HOME environment variable appropriately: On Mac OS X: export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home On Ubuntu 9.04: export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun 2. Set ant and maven environment variables if necessary. In particular, for some jvms it is necessary to explicitly request a larger heap size. It is necessary to set the maven options because the trade benchmarks are built by maven (called by ant). As another example, you may wish for ant to use a proxy when downloading (there is a lot to be downloaded). Some examples: export ANT_OPTS="-Xms512M -Xmx512M" export MAVEN_OPTS="-Xms512M -Xmx512M" or export ANT_OPTS="-Dhttp.proxyHost=xxx.xxx.xxx.xxx -Dhttp.proxyPort=3128" 3. Copy default.properties to local.properties and edit local.properties for your environment. 4. Run ant: ant [builds all benchmarks] ant dist [builds all benchmarks, this is the default] ant source [builds a source distribution including benchmarks and tools] ant bm [builds a specific benchmark, bm] 5. A log of directory is created under this benchmark directory for benchmark build status and build success or failure files to be stored. The directory log directory is normally of the form ${basedir}/log/${build.time} and contains status.txt where each benchmark build status is recorded, and either pass.txt if all benchmarks build, or fail.txt if one or more benchmarks fail to build. Note: that either fail.txt or pass.txt is created when a full build is performed. build.nickname=${build.nickname} build.version=${build.version} This source distribution was built from DaCapo release ${build.version} "${build.nickname}"${line.separator} Specification-Version: ${build.nickname}${line.separator} Implementation-Version: ${build.version}${line.separator} build: FAIL See ${log.build.report} for a summary of benchmark build status.