
  INSTALL file for JCC build
  --------------------------

  Contents
  --------

   - Building JCC
   - Requirements
   - Notes for Mac OS X
   - Notes for Linux
   - Notes for Solaris
   - Notes for Windows
   - Notes for Python 2.3


  Building JCC
  ------------

  JCC is a Python extension written in Python and C++. it requires a Java
  Runtime Environment to operate as it uses Java's reflection APIs to do 
  its work. It is built and installed via distutils.

  1. Edit setup.py and review that values in the INCLUDE, CFLAGS and LFLAGS
     are correct for your system. These values are also going to be compiled
     into JCC's config.py file and are going to be used by JCC when invoking
     disutils to compile extensions it generated code for. 

  2. At the command line, enter:

      > python setup.py build
      > sudo python setup.py install


  Requirements
  ------------

  JCC requires a Java Development Kit to be present. It uses the Java Native
  Invocation Interface and expects <jni.h> and the Java libraries to be
  present at build and runtime.


  Notes for Mac OS X
  ------------------

  On Mac OS X, Java is installed by Apple's setup as a framework.
  The values for INCLUDE and LFLAGS for 'darwin' should be correct and
  ready to use.


  Notes for Linux
  ---------------

  At this time, JCC has been built and tested only on Linux on Ubuntu 6.06.
  Sun Java 1.5 was installed and made the default Java environment with:
  
  - sudo apt-get install sun-java5-jdk
  - sudo update-java-alternatives -s java-1.5.0-sun
  The Java Runtime libraries and Java VM are found at runtime by either:
    . adding '-Wl,-rpath=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/lib/i386/client' to the LFLAGS['linux2]' 
     linker argument list in setup.py or by
    . setting LD_LIBRARY_PATH (not recommended for security reasons)
      - export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/lib/i386/client:$LD_LIBRARY_PATH


  Notes for Solaris
  -----------------

  At this time, JCC has been built and tested only on Solaris 11 with Sun
  Studio C++ 12, Java 1.6 and Python 2.4.
  
  Because JCC is written in C++, Python's distutils must be nudged a bit to
  invoke the correct compiler. Sun Studio's C compiler is called 'cc' while
  its C++ compiler is called 'CC'. To build JCC, use the following shell
  command to ensure that the C++ compiler is used:

   $ CC=CC python setup.py build


  Notes for Windows
  -----------------

  At this time, JCC has been built and tested only on Win2k with Python
  2.5.1 and Sun Java 1.6. Python was downloaded as an .msi installer from 
  http://www.python.org.

  - adding the Python25 directory to PATH is recommended.
  - adding the Java directories containing the necessary DLLs to PATH is 
    a must.


  Notes for Python 2.3
  --------------------

  To use JCC with Python 2.3, setuptools is required:

  - download setuptools from http://python.org/pypi
  - edit the downloaded setuptools egg file to use python2.3 instead of
    python2.4
  - sudo sh setuptools-0.6c7-py2.4.egg
