First "eof" should return true
[perl.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 perlnetware - 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/wiki/index.php/Category:Novell_Developer_Kit>,
28 are required. Microsoft Visual C++ version 4.2 or later is also
29 required.
30
31 =head2 Setup
32
33 The build process is dependent on the location of the NetWare SDK.
34 Once the Tools & SDK are installed, the build environment has to
35 be setup.  The following batch files setup the environment.
36
37 =over 4
38
39 =item SetNWBld.bat
40
41 The Execution of this file takes 2 parameters as input. The first
42 being the NetWare SDK path, second being the path for CodeWarrior
43 Compiler & tools. Execution of this file sets these paths and also
44 sets the build type to Release by default.
45
46 =item Buildtype.bat
47
48 This is used to set the build type to debug or release. Change the
49 build type only after executing SetNWBld.bat
50
51 Example:
52
53 =over
54
55 =item 1.
56
57 Typing "buildtype d on" at the command prompt causes the buildtype
58 to be set to Debug type with D2 flag set. 
59
60 =item 2.
61
62 Typing "buildtype d off" or "buildtype d" at the command prompt causes
63 the buildtype to be set to Debug type with D1 flag set. 
64
65 =item 3.
66
67 Typing "buildtype r" at the command prompt sets it to Release Build type.
68
69 =back
70
71 =back
72
73 =head2 Make
74
75 The make process runs only under WinNT shell.  The NetWare makefile is
76 located under the NetWare folder.  This makes use of miniperl.exe to
77 run some of the Perl scripts. To create miniperl.exe, first set the
78 required paths for Visual c++ compiler (specify vcvars32 location) at
79 the command prompt.  Then run nmake from win32 folder through WinNT
80 command prompt.  The build process can be stopped after miniperl.exe
81 is created. Then run nmake from NetWare folder through WinNT command
82 prompt.
83
84 Currently the following two build types are tested on NetWare:
85
86 =over 4
87
88 =item *
89
90 USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
91
92 =item *
93
94 USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
95
96 =back
97
98 =head2 Interpreter
99
100 Once miniperl.exe creation is over, run nmake from the NetWare folder.
101 This will build the Perl interpreter for NetWare as I<perl.nlm>.
102 This is copied under the I<Release> folder if you are doing
103 a release build, else will be copied under I<Debug> folder for debug builds.
104
105 =head2 Extensions
106
107 The make process also creates the Perl extensions as I<<Extension>.nlm>
108
109 =head1 INSTALL
110
111 To install NetWare Perl onto a NetWare server, first map the Sys
112 volume of a NetWare server to I<i:>. This is because the makefile by
113 default sets the drive letter to I<i:>.  Type I<nmake nwinstall> from
114 NetWare folder on a WinNT command prompt.  This will copy the binaries
115 and module files onto the NetWare server under I<sys:\Perl>
116 folder. The Perl interpreter, I<perl.nlm>, is copied under
117 I<sys:\perl\system> folder.  Copy this to I<sys:\system> folder.
118
119 Example: 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
127 To build extensions other than standard extensions, NetWare Perl has
128 to be installed on Windows along with Windows Perl. The Perl for
129 Windows can be either downloaded from the CPAN site and built using
130 the sources, or the binaries can be directly downloaded from the
131 ActiveState site.  Installation can be done by invoking I<nmake
132 install> from the NetWare folder on a WinNT command prompt after
133 building NetWare Perl by following steps given above.  This will copy
134 all the *.pm files and other required files.  Documentation files are
135 not copied.  Thus one must first install Windows Perl, Then install
136 NetWare Perl.
137
138 Once this is done, do the following to build any extension:
139
140 =over 4
141
142 =item *
143
144 Change to the extension directory where its source files are present.
145
146 =item *
147
148 Run the following command at the command prompt:
149
150     perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
151
152 Example:
153
154     perl -Ic:/perl/5.6.1/lib/NetWare-x86-multi-thread           \
155                                 -Ic:\perl\5.6.1\lib MakeFile.pl
156
157 or
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
164 nmake
165
166 =item *
167
168 nmake install
169
170 Install will copy the files into the Windows machine where NetWare
171 Perl is installed and these files may have to be copied to the NetWare
172 server manually. Alternatively, pass I<INSTALLSITELIB=i:\perl\lib> as
173 an input to makefile.pl above. Here I<i:> is the mapped drive to the
174 sys: volume of the server where Perl on NetWare is installed. Now
175 typing I<nmake install>, will copy the files onto the NetWare server.
176
177 Example: 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
183 or
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
191 Note: Some modules downloaded from CPAN may require NetWare related
192 API in order to build on NetWare.  Other modules may however build
193 smoothly with or without minor changes depending on the type of
194 module.
195
196 =back
197
198 =head1 ACKNOWLEDGEMENTS
199
200 The makefile for Win32 is used as a reference to create the makefile
201 for NetWare.  Also, the make process for NetWare port uses
202 miniperl.exe to run scripts during the make and installation process.
203
204 =head1 AUTHORS
205
206 Anantha Kesari H Y (hyanantha@novell.com)
207 Aditya C (caditya@novell.com)
208
209 =head1 DATE
210
211 =over 4
212
213 =item *
214
215 Created - 18 Jan 2001
216
217 =item *
218
219 Modified - 25 June 2001
220
221 =item *
222
223 Modified - 13 July 2001
224
225 =item *
226
227 Modified - 28 May 2002
228
229 =back