Work-in-progress win32 layer semi-functional, checking
[p5sagit/p5-mst-13.2.git] / jpl / README
index 1fe04b1..23405a7 100644 (file)
@@ -9,15 +9,20 @@ from the network.  Don't expect not to be surprised occasionally.
 
 Requirements
 ------------
-Perl 5.005_02 (or later) must be compiled and installed as a shared library
-(libperl.so).  I had to use the system's malloc.  This version has not
-been well tested under 5.005_02, so you can expect some rough edges.
+Under Solaris and GNU/Linux (and other Unix-like systems), Perl 5.005 (or
+later) must be compiled and installed as a shared library (libperl.so).  I
+had to use the system's malloc.  JPL was originally built and tested with
+5.004_04 and early Java 1.1 development kits.  This version has not been
+well tested under other versions, so you can expect some rough edges.
 
-You need JDK 1.1.  On Solaris 1.1.5 works.  On Linux you need 1.1.3 with
-the patches from
+You need JDK 1.1.  On Solaris, 1.1.5 has been verified to work.  GNU/Linux
+users can try the latest version (1.1.3 or later) available from (for
+example):
 
   ftp://ftp.blackdown.org/pub/Linux/JDK/1.1.3/updates/libjava-1.1.3v2-1.tar.gz
 
+(GNU/Linux users can also try Kaffe (see below).)
+
 The get_jdk directory contains a script that will download JDK (but not
 the patch file above) off of the net for you.  (This presumes you've
 already installed the modules mentioned in ../README.)
@@ -26,6 +31,32 @@ You may need to ensure that all files under the ../jpl directory are writable.
 install-jpl expects to be run with super-user privileges so that it can
 put things in the right places.
 
+Microsoft Windows
+-----------------
+Only a subset of JPL works under Microsoft Windows.  This subset includes
+the JNI extension and the JPL module.  This is enough for you to embed
+Java in Perl, but not Perl in Java.
+
+This has only been tested with the Sun JDK 1.1.8. I haven't tested it
+with JDK 1.2 (aka Java 2) or any Microsoft implementation of Java.
+
+Kaffe
+-----
+You might notice some mention of Kaffe (www.kaffe.org) in the source files.
+This is because support has been added for Kaffe for JNI:: and JPL::.  In
+other words, you can now call to Java from Perl using Kaffe.
+
+You'll likely need the a checkout circa 2000-12-03 or later from Kaffe's
+CVS.  It has been verified that Kaffe 1.0.5 definitely *will not work*.
+Kaffe 1.0.6 might work, but the CVS tree definitely works (as of
+2000-12-06).
+
+You can get the CVS tree from:
+
+cvs -z3 -d ':pserver:readonly@cvs.kaffe.org:/cvs/kaffe' checkout kaffe
+
+(password is 'readonly')
+
 What the heck is JPL?
 ---------------------
 JPL is a hybrid (to use the polite term) language.  It's basically Java
@@ -56,6 +87,26 @@ file it generates.
 
 Installation
 ------------
+There are two ways to install JPL.
+
+The first way gives you the ability to embed Perl in Java programs. You
+can also call back into Java from your embedded Perl programs. This should
+work well with most JDKs, and is the only option for people using a JDK
+that uses green threads (see your JDK documentation). 
+
+The second way lets you embed Java in Perl, but doesn't provide support
+for the other direction. This is good, in theory, if you need to work with
+a lot of Java classes from within Perl.  I say "in theory," because this 
+doesn't actually work a lot of the time.  To use this second way, you
+must be using a JDK with native threads. Please see README.JUST-JNI for 
+details.
+
+At this point, the second way is the only way to use JPL under Microsoft 
+Windows, and probably the only way to use JPL if you're using a version
+of Perl compiled by someone else (such as the Perl that comes with RedHat). 
+
+Installation the First Way (All of JPL)
+---------------------------------------
 Run "install-jpl".  You have to tell it whether you want to use the
 current directory for JPL_HOME or some other directory.  Everything
 else should take care of itself, except that after install-jpl
@@ -66,6 +117,45 @@ before any JPL applications can be compiled under the current shell.
     csh:  eval `setvars -csh`
     perl: eval `setvars -perl`;
 
+install-jpl has been tested under:
+
+    Solaris 2.5.1 SPARC, GCC 2.8.0, Perl 5.005_03, JDK 1.1.7
+    Debian 2.1 x86, Perl 5.005_60, JDK 1.1.7v3
+
+********************
+Solaris 2.5.1 Users:
+********************
+
+NOTE: Under Solaris 2.5.1, you may get an error message when install-jpl
+builds Sample.jpl:
+
+    You must install a Solaris patch to run this version of the Java 
+    runtime.  Please see the README and release notes for more 
+    information.
+    Exiting.
+
+  This is apparently a spurious message, and it has been reported to 
+  Sun.  Although this message aborts the installation, all of JPL is 
+  installed by the time this message is reached. To recover and continue, 
+  run setvars as described above, cd to the Sample directory, and type
+  'make' to continue building. You can then run 'java Sample' to test the 
+  example.
+
+  Unfortunately, each time you use 'make' to build a JPL application,
+  it will abort when it tries to run 'perl -c' on the generated .pl
+  file.  However, you can continue building by typing 'make' again.
+
+Mailing List
+------------
+To subscribe to the jpl mailing list, send an email message to 
+jpl-subscribe@perl.org.
+
+CVS Access
+----------
+Information on accessing the bleeding edge JPL via CVS can be found at:
+
+    http://users.ids.net/~bjepson/jpl/cvs.html
+
 More Info
 ---------