1If you read this file _as_is_, just ignore the funny characters you 2see. It is written in the POD format (see pod/perlpod.pod) which is 3specifically designed to be readable as is. 4 5=head1 NAME 6 7perlnetware - Perl for NetWare 8 9=head1 DESCRIPTION 10 11This file gives instructions for building Perl 5.7 and above, and also 12Perl modules for NetWare. Before you start, you may want to read the 13README file found in the top level directory into which the Perl source 14code distribution was extracted. Make sure you read and understand 15the terms under which the software is being distributed. 16 17=head1 BUILD 18 19This section describes the steps to be performed to build a Perl NLM 20and other associated NLMs. 21 22=head2 Tools & SDK 23 24The build requires CodeWarrior compiler and linker. In addition, 25the "NetWare SDK", "NLM & NetWare Libraries for C" and 26"NetWare Server Protocol Libraries for C", all available at 27L<http://developer.novell.com/wiki/index.php/Category:Novell_Developer_Kit>, 28are required. Microsoft Visual C++ version 4.2 or later is also 29required. 30 31=head2 Setup 32 33The build process is dependent on the location of the NetWare SDK. 34Once the Tools & SDK are installed, the build environment has to 35be setup. The following batch files setup the environment. 36 37=over 4 38 39=item SetNWBld.bat 40 41The Execution of this file takes 2 parameters as input. The first 42being the NetWare SDK path, second being the path for CodeWarrior 43Compiler & tools. Execution of this file sets these paths and also 44sets the build type to Release by default. 45 46=item Buildtype.bat 47 48This is used to set the build type to debug or release. Change the 49build type only after executing SetNWBld.bat 50 51Example: 52 53=over 54 55=item 1. 56 57Typing "buildtype d on" at the command prompt causes the buildtype 58to be set to Debug type with D2 flag set. 59 60=item 2. 61 62Typing "buildtype d off" or "buildtype d" at the command prompt causes 63the buildtype to be set to Debug type with D1 flag set. 64 65=item 3. 66 67Typing "buildtype r" at the command prompt sets it to Release Build type. 68 69=back 70 71=back 72 73=head2 Make 74 75The make process runs only under WinNT shell. The NetWare makefile is 76located under the NetWare folder. This makes use of miniperl.exe to 77run some of the Perl scripts. To create miniperl.exe, first set the 78required paths for Visual c++ compiler (specify vcvars32 location) at 79the command prompt. Then run nmake from win32 folder through WinNT 80command prompt. The build process can be stopped after miniperl.exe 81is created. Then run nmake from NetWare folder through WinNT command 82prompt. 83 84Currently the following two build types are tested on NetWare: 85 86=over 4 87 88=item * 89 90USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined 91 92=item * 93 94USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined 95 96=back 97 98=head2 Interpreter 99 100Once miniperl.exe creation is over, run nmake from the NetWare folder. 101This will build the Perl interpreter for NetWare as I<perl.nlm>. 102This is copied under the I<Release> folder if you are doing 103a release build, else will be copied under I<Debug> folder for debug builds. 104 105=head2 Extensions 106 107The make process also creates the Perl extensions as I<<Extension>.nlm> 108 109=head1 INSTALL 110 111To install NetWare Perl onto a NetWare server, first map the Sys 112volume of a NetWare server to I<i:>. This is because the makefile by 113default sets the drive letter to I<i:>. Type I<nmake nwinstall> from 114NetWare folder on a WinNT command prompt. This will copy the binaries 115and module files onto the NetWare server under I<sys:\Perl> 116folder. The Perl interpreter, I<perl.nlm>, is copied under 117I<sys:\perl\system> folder. Copy this to I<sys:\system> folder. 118 119Example: At the command prompt Type "nmake nwinstall". 120 This will install NetWare Perl on the NetWare Server. 121 Similarly, if you type "nmake install", 122 this will cause the binaries to be installed on the local machine. 123 (Typically under the c:\perl folder) 124 125=head1 BUILD NEW EXTENSIONS 126 127To build extensions other than standard extensions, NetWare Perl has 128to be installed on Windows along with Windows Perl. The Perl for 129Windows can be either downloaded from the CPAN site and built using 130the sources, or the binaries can be directly downloaded from the 131ActiveState site. Installation can be done by invoking I<nmake 132install> from the NetWare folder on a WinNT command prompt after 133building NetWare Perl by following steps given above. This will copy 134all the *.pm files and other required files. Documentation files are 135not copied. Thus one must first install Windows Perl, Then install 136NetWare Perl. 137 138Once this is done, do the following to build any extension: 139 140=over 4 141 142=item * 143 144Change to the extension directory where its source files are present. 145 146=item * 147 148Run the following command at the command prompt: 149 150 perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl 151 152Example: 153 154 perl -Ic:/perl/5.6.1/lib/NetWare-x86-multi-thread \ 155 -Ic:\perl\5.6.1\lib MakeFile.pl 156 157or 158 159 perl -Ic:/perl/5.8.0/lib/NetWare-x86-multi-thread \ 160 -Ic:\perl\5.8.0\lib MakeFile.pl 161 162=item * 163 164nmake 165 166=item * 167 168nmake install 169 170Install will copy the files into the Windows machine where NetWare 171Perl is installed and these files may have to be copied to the NetWare 172server manually. Alternatively, pass I<INSTALLSITELIB=i:\perl\lib> as 173an input to makefile.pl above. Here I<i:> is the mapped drive to the 174sys: volume of the server where Perl on NetWare is installed. Now 175typing I<nmake install>, will copy the files onto the NetWare server. 176 177Example: You can execute the following on the command prompt. 178 179 perl -Ic:/perl/5.6.1/lib/NetWare-x86-multi-thread \ 180 -Ic:\perl\5.6.1\lib MakeFile.pl 181 INSTALLSITELIB=i:\perl\lib 182 183or 184 185 perl -Ic:/perl/5.8.0/lib/NetWare-x86-multi-thread \ 186 -Ic:\perl\5.8.0\lib MakeFile.pl 187 INSTALLSITELIB=i:\perl\lib 188 189=item * 190 191Note: Some modules downloaded from CPAN may require NetWare related 192API in order to build on NetWare. Other modules may however build 193smoothly with or without minor changes depending on the type of 194module. 195 196=back 197 198=head1 ACKNOWLEDGEMENTS 199 200The makefile for Win32 is used as a reference to create the makefile 201for NetWare. Also, the make process for NetWare port uses 202miniperl.exe to run scripts during the make and installation process. 203 204=head1 AUTHORS 205 206Anantha Kesari H Y (hyanantha@novell.com) 207Aditya C (caditya@novell.com) 208 209=head1 DATE 210 211=over 4 212 213=item * 214 215Created - 18 Jan 2001 216 217=item * 218 219Modified - 25 June 2001 220 221=item * 222 223Modified - 13 July 2001 224 225=item * 226 227Modified - 28 May 2002 228 229=back 230