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