The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

Perl for NetWare5.x

Description

This file gives the instructions for building Perl5.6 and above for NetWare5.x. Please read and understand the terms under which this software is distributed.

Build

This section describes the steps to be performed to build a Perl NLM and other associated NLMs.

Tools & SDK

The build requires Watcom 11.x compiler and linker. In addition, the "NetWare SDK", "NLM & NetWare Libraries for C" and "NetWare Server Protocol Libraries for C", all available at http://developer.novell.com/ndk/, are also required. Microsoft Visual C++ version 4.2 or later is also required.

Currently the interpreter builds only with Watcom and we do have plans of making this work with CodeWarrior as well.

Setup

The build process is dependent on the location of the NetWare SDK. Once the required software is installed, the build environment has to be setup. The following batch files setup the environment.

Buildtype.bat

This sets the build type to release or debug.

SetNWBld.bat

This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.

MPKBuild.bat

This is required only it we are building multi-processor enabled NLMs.

These batch files are under NetWare\bat folder. These batch files call a couple of other batch files to setup the environment. Invoking the batch file with /now will show the current settings and /h or /? gives the usage help.

Make

The make process runs only under WinNT shell. The NetWare makefile is located under the NetWare folder. The makefile for NetWare makes use of miniperl.exe to run some of the Perl scripts. To create miniperl.exe, run nmake from win32 folder through WinNT commond prompt. The build process can be stopped after miniperl.exe is created. Then run nmake from NetWare folder through WinNT command prompt.

Currently the follwing two build types are tested on NetWare

  • USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined

  • USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined

Interpreter

Once miniperl.exe creation is over, run nmake from the NetWare folder. This will build the Perl interpreter for NetWare as perl.nlm. This is copied under the Release folder if you are doing a release build, else will be copied under Debug folder for debug builds.

Extensions

The make process also creates the Perl extensions which are called NLPs (NetWare Loadable Perl).

Install

To install NetWare Perl onto a NetWare server, first map the Sys volume of a NetWare server to i:. This is because the makefile by default sets the drive letter to i:. Type nmake nwinstall from NetWare folder on a WinNT command prompt. This will copy the binaries and module files onto the NetWare server. The Perl interpreter, perl.nlm, is copied under sys:\perl\system folder. Copy perl.nlm to sys:\system folder.

Build new extensions

To build extensions other than standard extensions, NetWare Perl has to be installed on Windows as well. This can be done by invoking nmake install from the NetWare folder on a WinNT command prompt. This will copy all the *.pm files and other required files. Documentation files are not copied. This has to be done after installing Perl for Windows. Once this is done, do the following to build any extension:

  • perl -Ipath to NetWare lib dir -Ipath to lib Makefile.pl

    For example:

     perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
  • nmake

  • nmake install

    Install will copy the files into the Windows machine where NetWare Perl is installed, these files have to be copied to the NetWare server manually. Alternatively, pass INSTALLSITELIB=i:\perl\lib as an input to makefile.pl above. Where i: is the mapped drive to the sys: volume of the server where Perl on NetWare is installed. Now saying nmake install, will copy the files to the server.

Known Issues

  • With USE_ITHREADS not defined, backtick seems to be having some problems.

  • The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not yet ported to work on NetWare.

  • Also fork() is not currently implemented.

Acknowledgements

The makefile for Win32 is used as a reference to create the makefile for NetWare build. Also, the make process for NetWare port uses miniperl.exe to run scripts during the make and installation process.

Authors

Guruprasad S (sguruprasad@novell.com) Anantha Kesari H Y (hyanantha@novell.com)

Date

  • Created - 18th Jan 2001

  • Modified - 25th June 2001

  • Modified - 13 July 2001