To build BSF, one needs the following:

    Servlet API .jar via Tomcat or other source
    Supported language .jar files:

    BeanShell   -> http://www.beanshell.org/ (3rd party BSF engine)
    Jacl        -> http://www.scriptics.com/java/
    JPython     -> http://www.jpython.org/
    JRuby       -> http://www.jruby.org/ (3rd party BSF engine)
    JudoScript  -> http://www.judoscript.com/ (3rd party BSF engine)
    Jython      -> http://www.jython.org/
    NetRexx     -> http://www2.hursley.ibm.com/netrexx/
    Rhino       -> http://www.mozilla.org/rhino/
    Xalan       -> http://xml.apache.org/xalan/

As a convenience, these language .jars are currently collected at:

    http://www.topsail.org/goodies/BSFlang/

Make sure the .jars (and Ant) are in your CLASSPATH, and then use the command

    ant [target]

where [target] is one of the following:

   compile            creates the "bsf.jar" package in "./build/lib"
                      (default target)
   samples            compiles the samples into "./build/samples"
   javadocs           creates javadocs for the whole package in 
                      "./build/javadocs"
   bindist            creates the complete binary distribution in "./dist/"
   srcdist            creates the complete src distribution in "./dist/"
   dist               creates both the binary and the src distributions
                      in "./dist/"
   clean              removes all the generated files and directories
