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