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