NetWare port from Guruprasad S <SGURUPRASAD@novell.com>.
[p5sagit/p5-mst-13.2.git] / README.netware
1 This file is written in the POD format.  If you are reading it thro'
2 a text editor, ignore the words like =head1, =over etc.
3
4 =head1 Name
5
6 Perl for NetWare5.x
7
8 =head1 Description
9
10 This file gives the instructions for building Perl5.6.1 for NetWare5.x.
11 Please read and understand the terms under which this software is distributed.
12
13
14 =head1 Build
15
16 This section describes the steps to be performed to build a Perl NLM and other associated
17 NLMs.
18
19 =head2 Tools & SDK
20
21 The build requires Watcom 11.x compiler and linker.  NetWare SDK, available at L<http://developer.novell.com/ndk/>,  is required.
22 Apart from NetWare SDK, "NLM & NetWare Libraries for C" and "NetWare Server Protocol Libraries for C"
23 are also required.  This is also available at the above mentioned site.
24 Microsoft Visual C++ version 4.2 or later is also required.
25
26 Currently the interpreter builds only with Watcom, we do have plans of making this work with
27 CodeWarrior as well.
28
29 =head2 Setup
30
31 The build process is dependent on the location of the NetWare SDK.  Once the required software
32 is installed, the build environment has to be setup.  The following batch files setup 
33 the environment.
34
35 I<Buildtype.bat> - This sets the build type to release or debug.
36
37 I<SetNWBld.bat>  - This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.
38
39 I<MPKBuild.bat>  - This is required only it we are building multi-processor enabled NLMs.
40
41 These batch files are under NetWare\bat folder.  These batch files call a couple of other
42 batch files to setup the environment.  Invoking the batch file with I</now> will show the 
43 current settings and I</h> or I</?> gives the usage help.
44
45 =head2 Make
46
47 The makefile is located under the NetWare folder.  Type nmake at the WinNT command prompt. 
48 The make process runs only under WinNT shell.  The makefile makes use of miniperl.exe to 
49 run some of the Perl scripts.  Please run nmake from win32 folder which builds miniperl.exe before
50 running nmake from NetWare folder.  The build process can be stopped after miniperl.exe is created.
51
52 Currently the follwing two build types are tested on NetWare
53
54 =over 4
55
56 =item *
57
58 USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
59
60 =item *
61
62 USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
63
64 =back
65
66 =head2 Interpreter
67
68 Once miniperl.exe creation is over, run nmake from the NetWare folder. This will build the 
69 Perl interpreter for NetWare as I<perl.nlm>.  This is copied under the I<Release> folder if you
70 are doing a release build else will be copied under I<Debug> folder for debug builds.
71
72 =head2 Extensions
73
74 The make process also creates the Perl extensions which are called NLPs (NetWare Loadable Perl).
75
76 =head1 Install
77
78 Installing NetWare Perl on Windows doesn't make any sense.  To install, type I<nmake nwinstall>. This
79 will copy the binaries and module files to a NetWare server.  The makefile, by default sets the 
80 drive letter to I<i:> which should be mapped to the I<sys> volume of a NetWare server.  The Perl 
81 interpreter, I<perl.nlm>, is copied under I<sys:\perl\system> folder. Copy I<perl.nlm> to 
82 I<sys:\system> folder. Before running I<nmake nwinstall>, make sure the NetWare server on which 
83 the files have to go is mapped to the drive letter I<i:>.
84
85 =head1 Build new extensions
86
87 To build extensions other than standard extensions, NetWare Perl has to be installed on Windows as well.
88 This can be done by invoking I<nmake install> on the Windows NT command prompt.  This will copy all
89 the *.pm files and other required files.  Documentation files are not copied. This has be done after 
90 installing Perl for Windows. Once this is done, to build any extension, do the following
91
92 =over 4
93
94 =item *
95 perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
96
97 Ex: perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
98
99 =item *
100 nmake
101
102 =item *
103 nmake install
104
105
106 Install will copy the files into the Windows machine where NetWare Perl is installed, these files
107 have to be copied to the NetWare server manually.  Alternatively, pass I<INSTALLSITELIB=i:\perl\lib>
108 as an input to makefile.pl above.  Where I<i:> is the mapped drive to the sys: volume of the 
109 server where Perl on NetWare is installed.  Now saying I<nmake install>, will copy the files 
110 to the server.
111  
112
113 =back
114
115 =head1 Known Issues
116
117 =item * 
118
119 With USE_ITHREADS not defined, backtick seems to be having some problems.
120
121 =item *
122
123 The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not yet ported to work on NetWare.
124
125 =item *
126
127 Also fork() is not currently implemented.
128
129 =head1 Acknowledgements
130
131 For the porting purpose, the PerlHost of Win32 port was used as reference and NetWare portions are
132 added. Also the makefile for Win32 is used as a reference to create the makefile for NetWare build.
133 Additionally the make process for NetWare port uses miniperl.exe to run scripts during the make and
134 installation process.
135
136 =head1 Author
137
138 Guruprasad S (sguruprasad@novell.com)
139
140 =head1 Date
141
142 =over 4
143
144 =item *
145
146 Created - 18th Jan 2001
147
148 =item *
149
150 Modified -  16th April 2001
151
152 =back
153 This file is written in the POD format.  If you are reading it thro'
154 a text editor, ignore the words like =head1, =over etc.
155
156 =head1 Name
157
158 Perl for NetWare5.x
159
160 =head1 Description
161
162 This file gives the instructions for building Perl5.6.1 for NetWare5.x.
163 Please read and understand the terms under which this software is distributed.
164
165
166 =head1 Build
167
168 This section describes the steps to be performed to build a Perl NLM and other associated
169 NLMs.
170
171 =head2 Tools & SDK
172
173 The build requires Watcom 11.x compiler and linker.  NetWare SDK, available at L<http://developer.novell.com/ndk/>,  is required.
174 Apart from NetWare SDK, "NLM & NetWare Libraries for C" and "NetWare Server Protocol Libraries for C"
175 are also required.  This is also available at the above mentioned site.
176 Microsoft Visual C++ version 4.2 or later is also required.
177
178 Currently the interpreter builds only with Watcom, we do have plans of making this work with
179 CodeWarrior as well.
180
181 =head2 Setup
182
183 The build process is dependent on the location of the NetWare SDK.  Once the required software
184 is installed, the build environment has to be setup.  The following batch files setup 
185 the environment.
186
187 I<Buildtype.bat> - This sets the build type to release or debug.
188
189 I<SetNWBld.bat>  - This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.
190
191 I<MPKBuild.bat>  - This is required only it we are building multi-processor enabled NLMs.
192
193 These batch files are under NetWare\bat folder.  These batch files call a couple of other
194 batch files to setup the environment.  Invoking the batch file with I</now> will show the 
195 current settings and I</h> or I</?> gives the usage help.
196
197 =head2 Make
198
199 The makefile is located under the NetWare folder.  Type nmake at the WinNT command prompt. 
200 The make process runs only under WinNT shell.  The makefile makes use of miniperl.exe to 
201 run some of the Perl scripts.  Please run nmake from win32 folder which builds miniperl.exe before
202 running nmake from NetWare folder.  The build process can be stopped after miniperl.exe is created.
203
204 Currently the follwing two build types are tested on NetWare
205
206 =over 4
207
208 =item *
209
210 USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
211
212 =item *
213
214 USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
215
216 =back
217
218 =head2 Interpreter
219
220 Once miniperl.exe creation is over, run nmake from the NetWare folder. This will build the 
221 Perl interpreter for NetWare as I<perl.nlm>.  This is copied under the I<Release> folder if you
222 are doing a release build else will be copied under I<Debug> folder for debug builds.
223
224 =head2 Extensions
225
226 The make process also creates the Perl extensions which are called NLPs (NetWare Loadable Perl).
227
228 =head1 Install
229
230 Installing NetWare Perl on Windows doesn't make any sense.  To install, type I<nmake nwinstall>. This
231 will copy the binaries and module files to a NetWare server.  The makefile, by default sets the 
232 drive letter to I<i:> which should be mapped to the I<sys> volume of a NetWare server.  The Perl 
233 interpreter, I<perl.nlm>, is copied under I<sys:\perl\system> folder. Copy I<perl.nlm> to 
234 I<sys:\system> folder. Before running I<nmake nwinstall>, make sure the NetWare server on which 
235 the files have to go is mapped to the drive letter I<i:>.
236
237 =head1 Build new extensions
238
239 To build extensions other than standard extensions, NetWare Perl has to be installed on Windows as well.
240 This can be done by invoking I<nmake install> on the Windows NT command prompt.  This will copy all
241 the *.pm files and other required files.  Documentation files are not copied. This has be done after 
242 installing Perl for Windows. Once this is done, to build any extension, do the following
243
244 =over 4
245
246 =item *
247 perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
248
249 Ex: perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
250
251 =item *
252 nmake
253
254 =item *
255 nmake install
256
257
258 Install will copy the files into the Windows machine where NetWare Perl is installed, these files
259 have to be copied to the NetWare server manually.  Alternatively, pass I<INSTALLSITELIB=i:\perl\lib>
260 as an input to makefile.pl above.  Where I<i:> is the mapped drive to the sys: volume of the 
261 server where Perl on NetWare is installed.  Now saying I<nmake install>, will copy the files 
262 to the server.
263  
264
265 =back
266
267 =head1 Known Issues
268
269 =item * 
270
271 With USE_ITHREADS not defined, backtick seems to be having some problems.
272
273 =item *
274
275 The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not yet ported to work on NetWare.
276
277 =item *
278
279 Also fork() is not currently implemented.
280
281 =head1 Acknowledgements
282
283 For the porting purpose, the PerlHost of Win32 port was used as reference and NetWare portions are
284 added. Also the makefile for Win32 is used as a reference to create the makefile for NetWare build.
285 Additionally the make process for NetWare port uses miniperl.exe to run scripts during the make and
286 installation process.
287
288 =head1 Author
289
290 Guruprasad S (sguruprasad@novell.com)
291
292 =head1 Date
293
294 =over 4
295
296 =item *
297
298 Created - 18th Jan 2001
299
300 =item *
301
302 Modified -  16th April 2001
303
304 =back