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