|
|
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:
|