----------------------------------------------------------------------
    This is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.
 
    This software is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this software. If not, write to the Free Software
    Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
----------------------------------------------------------------------

        *** This is alpha software -- use at your own risks ***

INSTALL file for nsapi_perl version 0.24.


Introduction
------------

Building nsapi_perl should be relatively straight-forward on Solaris and NT.
Thanks to Steve Nielsen for contributing a Makefile.PL that smoothes the Win32
install considerably.

You should be able to install nsapi_perl on Unix platforms other than Solaris, but
it may require some mucking with the install process.  If you succeed, please let
the nsapi_perl mailing list (nsapi_perl@samurai.com) know, so that we can
incorporate any changes you had to make in the next release.


Steps
-----

(The following commands assume Unix-ness.  Of course, if you're on NT
your path separator will be \ )

1.  From the same directory as this file, enter;
    perl ./Makefile.PL
    make
    make install    

    This will ask you some questions regarding the location of your
    Netscape server, NSAPI compilation options, and so on.  It will
    then proceed to build two shared objects.  One shared object is
    the NSAPI plugin that your web server will load at runtime.  The
    other shared object implements the Netscape::Server Perl module
    and its friends.

2.  Edit your server config files so that Netscape knows about
    nsapi_perl.

    The following lines will need to be added to your Netscape server
    obj.conf file.
        Init fn=load-modules
             shlib=$plugin_dir/nsapi_perl.so
             funcs=nsapi_perl_init,nsapi_perl_handler
        Init fn=nsapi_perl_init
             init-script=$plugin_dir/nsapi_perl_init.pl
             shlib=$plugin_dir/nsapi_perl.so
    The value of $plugin_dir where the NSAPI shared object has been
    installed.  This location is determined when running the top-level
    Makefile.PL from step 1.

    Strictly speaking, the shlib argument to nsapi_perl_init is not
    needed on all platforms, but it never hurts in any event.  Its
    purpose is to let the symbols defined in nsapi_perl.so be visible
    to other shared objects loaded in by Perl.  See the nsapi_perl pod
    page for more details.

3. Try running your server.

    Start your server the usual way.  You should see a message like
        nsapi_perl_init: loaded a perl version 5.00401 interpreter

    If you see something like this, congratulations!  You have
    embedded Perl in Netscape.

The next thing to do is start to actually *use* your embedded Perl
interpreter.  To do this see the nsapi_perl pod documentation file.


Notes
-----

-If you successfully build nsapi_perl please send the nsapi_perl mailing list
(nsapi_perl@samurai.com) an email letting us know what you had to do.  That way we
can start to build up a hints file that may make life easier for the next person
building on your platform.  You will also receive a prominent position in the
CREDITS file.

-If you have trouble building nsapi_perl please send email to the nsapi_perl
mailing list (nsapi_perl@samurai.com).  We'll do our best to help.  If you wish to
join the mailing list, send email to
    majordomo@samurai.com
with
    subscribe nsapi_perl
in the body of the message.

-Problems seem to occur when using nsapi_perl in conjunction with a
Perl has been compiled to have binary compatibility with 5.003.  At
this time the only workaround seems to be recompiling Perl so that it
agrees with nsapi_perl.

-Earlier versions of nsapi_perl also had problems with Perls that used
a static Perl library, such as libperl.a.  The symptons are bus errors
at server start-up.  If this happens to you, try recompiling Perl so
that it uses a shared Perl library, like libperl.so.

-Ben Sugars
<bsugars@canoe.ca>
April 1, 1998
