1e795f3e84f8650e6f4ef0da02908c225010ff05
[p5sagit/p5-mst-13.2.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 =item *
37
38 If you want to build with Default settings you can follow the One step process given below
39 to create the default Build Environment.
40
41 =item SetNWDef.bat
42
43 The Execution of this file takes 2 parameters as input.The first being the NetWare SDK path,
44 Second being the path for CodeWarrior Compiler & other tools. Execution of this file 
45 sets the Build type to Release(default) , the NetWare SDK path, path for Compiler & other tools.
46
47 =back
48
49 =item * Custom Build Environment
50
51 If you want to change the default settings you could do so by following the steps listed
52 below.
53
54 =over 4
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 buildtype to be set to Debug type. 
63           Typing "buildtype r" at the command prompt sets it to Release Build type.
64
65 =item SetNWBld.bat
66
67 This sets the NetWare SDK path, path to Compiler & other tools.
68
69 These batch files are under NetWare\bat folder.  These batch files
70 call a couple of other batch files to setup the environment.  Invoking
71 the batch file with I</now> will show the current settings and I</h>
72 or I</?> gives the usage help.
73
74 =back
75
76 =head2 Make
77
78 The make process runs only under WinNT shell.
79 The NetWare makefile is located under the NetWare folder.
80 This makes use of miniperl.exe to run some of
81 the Perl scripts. To create miniperl.exe, first set the required paths for
82 Visual c++ compilier (specify vcvars32 location) at the command prompt.
83 Then run nmake from win32 folder through WinNT command prompt.  
84 The build process can be stopped after miniperl.exe is created. Then run nmake
85 from NetWare folder through WinNT command prompt.
86
87 Currently the following two build types are tested on NetWare
88
89 =over 4
90
91 =item *
92
93 USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
94
95 =item *
96
97 USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
98
99 =back
100
101 =head2 Interpreter
102
103 Once miniperl.exe creation is over, run nmake from the NetWare folder.
104 This will build the Perl interpreter for NetWare as I<perl.nlm>.
105 This is copied under the I<Release> folder if you are doing
106 a release build, else will be copied under I<Debug> folder for debug builds.
107
108 =head2 Extensions
109
110 The make process also creates the Perl extensions as I<<Extension>.nlm>
111
112 =head1 Install
113
114 To install NetWare Perl onto a NetWare server, first map the Sys volume
115 of a NetWare server to I<i:>. This is because the makefile by default
116 sets the drive letter to I<i:>.  Type I<nmake nwinstall> from NetWare folder
117 on a WinNT command prompt.  This will copy the binaries and module files
118 onto the NetWare server under I<sys:\Perl> folder. The Perl interpreter, I<perl.nlm>,
119 is copied under I<sys:\perl\system> folder.  Copy this to I<sys:\system> folder.
120
121 Example: At the command prompt Type "nmake nwinstall".
122           This will install NetWare Perl on the NetWare Server.
123           Similiarly if you type "nmake install",
124           This will cause the binaries to be installed on the local machine.
125           (Typically under the c:\perl folder)
126
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 Windows can be 
132 either downloaded from the CPAN site and built using the sources, or the binaries 
133 can be directly downloaded from the ActiveState site.
134 Installation can be done by invoking I<nmake install> from the NetWare folder 
135 on a WinNT command prompt after building NetWare Perl by following steps given above.
136 This will copy all the *.pm files and other required files.
137 Documentation files are not copied.Thus one must first install Windows Perl, Then install
138 NetWare Perl.
139
140 Once this is done, do the following to build any extension:
141
142 =over 4
143
144 =item *
145
146 Change to the extension directory where its source files are present.
147
148 =item *
149
150 Run the following command at the command prompt:
151
152     perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
153
154 Example:
155
156     perl -Ic:/perl/5.7.2/lib/NetWare-x86-multi-thread -Ic:\perl\5.7.2\lib MakeFile.pl
157
158 =item *
159
160 nmake
161
162 =item *
163
164 nmake install
165
166 Install will copy the files into the Windows machine where NetWare
167 Perl is installed and these files may have to be copied to the NetWare server
168 manually. Alternatively, pass I<INSTALLSITELIB=i:\perl\lib> as an
169 input to makefile.pl above. Here I<i:> is the mapped drive to the
170 sys: volume of the server where Perl on NetWare is installed. Now
171 typing I<nmake install>, will copy the files onto the NetWare server.
172
173 Example: You can execute the following on the command prompt.
174
175           perl -Ic:/perl/5.7.2/lib/NetWare-x86-multi-thread -Ic:\perl\5.7.2\lib MakeFile.pl
176           INSTALLSITELIB=i:\perl\lib
177
178 =back
179
180 = item * 
181
182 Note: Some modules downloaded from CPAN may require NetWare related API
183 in order to build on NetWare.Other modules may however build smoothly with or
184 without minor changes depending on the type of module.
185
186 =back
187
188 =head1 Acknowledgements
189
190 The makefile for Win32 is used as a reference to create the makefile
191 for NetWare.  Also, the make process for NetWare port uses
192 miniperl.exe to run scripts during the make and installation process.
193
194 =head1 Authors
195
196 Anantha Kesari H Y (hyanantha@novell.com)
197 Aditya C (caditya@novell.com)
198
199 =head1 Date
200
201 =over 4
202
203 =item *
204
205 Created - 18 Jan 2001
206
207 =item *
208
209 Modified - 25 June 2001
210
211 =item *
212
213 Modified - 13 July 2001
214
215 =item *
216
217 Modified - 8 May 2002
218
219 =back