This release should work with any recent 1.4 JVM. It has been tested with the Sun 1.4 JVM under Linux (Debian sarge) and Windows XP. We would be keen to hear reports of success (or failure!) on other platforms. It is likely that if you are not using the Sun JVM you will need to explicitly add the Java runtime library to your classpath; please see the "Troubleshooting" section of the FAQ.

Binaries

Complete compiler jar and runtime library
If you put both these on your classpath you can invoke abc with 'java abc.main.Main'. An ant task for abc is also included.

abc-complete.jar
abc-runtime.jar

Usage documentation
Verbose descriptions of the options supported by abc.

usage.pdf
usage.ps

Shell script
You can use to run abc from UNIX without needing to set your classpath; just edit it to set the locations of Java and the abc jars, and put it somewhere on your path.

abc

Windows batch file
You can use to run abc from Windows without needing to set your classpath; just edit it to set the locations of Java and the abc jars, and put it somewhere on your path.

abc.bat

Ant task for ajc compatibility
This implements the ajc and iajc tasks with abc. Useful if you already have projects set up to build with ajc, but note that not all features are supported yet.

abc-for-ajc-ant.jar

Javadoc for the abc runtime library
Note that you should not directly refer to any packages in this library other than those under org.aspectj.lang and org.aspectbench.lang.

Online version

abc in individual jars
This is an alternative to abc-complete.jar - possibly useful if you already work with any of these components, or want to experiment with using different versions of them.

abc.jar
sootclasses.jar
jasminclasses.jar
polyglot.jar
java_cup.jar

All of the above in one package
Follow the instructions for individual components above to install each bit.

-bin.tar.gz">abc--bin.tar.gz
-bin.zip">abc--bin.zip

Debian package
Or use our APT repository:
deb http://abc.comlab.ox.ac.uk/apt abc main

_all.deb">abc__all.deb

Sources

Full abc source code
You will first need to compile polyglot and soot to compile this. Copy ant.settings.template to ant.settings and edit it. Now run ant jars.

-src.tar.gz">abc--src.tar.gz
-src.zip">abc--src.zip

The versions of soot, jasmin and polyglot below are the exact versions that the binaries above were built from, and may be development versions. You might want to obtain the latest versions from the Soot and Polyglot project homepages.

Soot
You will first need to compile polyglot and jasmin. Copy ant.settings.template to ant.settings and edit it to set the variables polyglot.jar, jasmin.jar and jedd.runtime.jar to point to the appropriate files. Edit release.loc to point to an appropriate place. Put ANT_OPTS=-Xmx256M in your ~/.antrc file. Now run ant classesjar.

.tar.gz">soot-.tar.gz
.zip">soot-.zip

Jasmin
Run bin/compile_all.sh, then change to the classes directory and do:
jar -cvf ../lib/jasminclasses-sable-nocup.jar jas/ jasmin/ scm/

.tar.gz">jasmin-.tar.gz
.zip">jasmin-.zip

Polyglot
Run ant polyglot-jar to build.

.tar.gz">polyglot-.tar.gz
.zip">polyglot-.zip

Support jars
The jedd-runtime jar is needed for compiling Soot, and the xact-complete jar is needed to build and use the testing harness. Visit the Jedd and Xact homepages for more information.

.jar">jedd-runtime-.jar
.jar">xact-complete-.jar