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