Home www.python.org
Download Documentation
Documentation
Overview
Executive Summary
Invoking Jython
Jython Registry
Embedding
Compiling Jython from source
 
Working with Java
The Basics
JavaBean Properties
Java arrays
Subclassing
Building applets, servlets, beans...
Reloading java classes
 
Python Docs (exits)
Python Tutorial
Library Reference
 
Other
Jython vs. CPython
Jython FAQ (exit)
List Archives (exit)
JPython paper (exit)
 
Email Us
jython-dev@lists.sourceforge.net
 
 
  

Compiling Jython

Most users of Jython will never be required to look at the contents of the source directories, or try and recompile any of the files in the org.python package. All of these files have been precompiled in jython.jar.

For those people who do want to rebuild Jython from the source, for whatever reason, the following offers a few tips to keep in mind.

  • The source directories from CVS or the nightly buils contain both makefiles and a build.xml file. Only the build.xml is updated at this time. We are using ant-1.2 to compile the sources and create the .jar file.

  • Some of the sources in the org.python.parser package are generated from python.jtt file by the JavaCC parser generator. If you need to make changes to the grammar file you will need to download this JavaCC. The generated files are also in the distribution, so usually this is not necessary.

    To regenerate the parser from the grammar, run jjtree on python.jjt, and then run javacc on the resulting python.jj. This should produce all of the required source files to build the org.python.parser package. The build.xml file already contain the needed entries to run the JavaCC program when the python.jjt is modified.

  • The source directories contain several files that require Java2. These files are normally easily recoqnizable because they have the number "2" in their name.

    When compiling jython with Java1 compiler (like the JDK1.1), these java2 files can be safely ignored. Jython will work even when these classes files are missing. The build.xml file have a conditional check and will not try to compile the Java2 sources when using a Java1 compiler.

  • One of the sources depends on the servlet classes and can only compile when servlet.jar is included on the classpath. Again, the build.xml have a conditional check and will not compile the PyServlet class if the servlet classes isn't available during compilation.

If you have further interest in the Jython source and Jython's continued development, you can read the archives for the Jython-dev mailing list or you can join the list.


Suggested tools and support software: