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