Let's not assume how much memory has been allocated
[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
5=head1 Name
6
7Perl for NetWare5.x
8
9=head1 Description
10
b252981a 11This file gives the instructions for building Perl5.6 and above for
3d513fb7 12NetWare5.x. Please read and understand the terms under which this
13software is distributed.
2986a63f 14
15=head1 Build
16
3d513fb7 17This section describes the steps to be performed to build a Perl NLM
18and other associated NLMs.
2986a63f 19
20=head2 Tools & SDK
21
8e39ca14 22The build requires Watcom 11.x compiler and linker. In addition,
23the "NetWare SDK", "NLM & NetWare Libraries for C" and
24"NetWare Server Protocol Libraries for C", all available at
25L<http://developer.novell.com/ndk/>, are also required.
26Microsoft Visual C++ version 4.2 or later is also required.
27
28Currently the interpreter builds only with Watcom and we do have plans of
3d513fb7 29making this work with CodeWarrior as well.
2986a63f 30
31=head2 Setup
32
3d513fb7 33The build process is dependent on the location of the NetWare SDK.
34Once the required software is installed, the build environment has to
35be setup. The following batch files setup the environment.
2986a63f 36
37=over 4
38
3d513fb7 39=item Buildtype.bat
2986a63f 40
3d513fb7 41This sets the build type to release or debug.
2986a63f 42
3d513fb7 43=item SetNWBld.bat
2986a63f 44
3d513fb7 45This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path.
2986a63f 46
3d513fb7 47=item MPKBuild.bat
2986a63f 48
3d513fb7 49This is required only it we are building multi-processor enabled NLMs.
2986a63f 50
3d513fb7 51These batch files are under NetWare\bat folder. These batch files
52call a couple of other batch files to setup the environment. Invoking
53the batch file with I</now> will show the current settings and I</h>
54or I</?> gives the usage help.
2986a63f 55
56=back
57
2986a63f 58=head2 Make
59
8e39ca14 60The make process runs only under WinNT shell.
61The NetWare makefile is located under the NetWare folder.
62The makefile for NetWare makes use of miniperl.exe to run some of
63the Perl scripts. To create miniperl.exe, run nmake from
210b36aa 64win32 folder through WinNT command prompt. The build process
8e39ca14 65can be stopped after miniperl.exe is created. Then run nmake
66from NetWare folder through WinNT command prompt.
2986a63f 67
210b36aa 68Currently the following two build types are tested on NetWare
2986a63f 69
70=over 4
71
72=item *
73
74USE_MULTI, USE_ITHREADS & USE_IMP_SYS defined
75
76=item *
77
78USE_MULTI & USE_IMP_SYS defined and USE_ITHREADS not defined
79
80=back
81
82=head2 Interpreter
83
8e39ca14 84Once miniperl.exe creation is over, run nmake from the NetWare folder.
85This will build the Perl interpreter for NetWare as I<perl.nlm>.
86This is copied under the I<Release> folder if you are doing
87a release build, else will be copied under I<Debug> folder for debug builds.
2986a63f 88
89=head2 Extensions
90
3d513fb7 91The make process also creates the Perl extensions which are called
92NLPs (NetWare Loadable Perl).
2986a63f 93
94=head1 Install
95
8e39ca14 96To install NetWare Perl onto a NetWare server, first map the Sys volume
97of a NetWare server to I<i:>. This is because the makefile by default
98sets the drive letter to I<i:>. Type I<nmake nwinstall> from NetWare folder
99on a WinNT command prompt. This will copy the binaries and module files
100onto the NetWare server. The Perl interpreter, I<perl.nlm>, is copied under
101I<sys:\perl\system> folder. Copy I<perl.nlm> to I<sys:\system> folder.
2986a63f 102
103=head1 Build new extensions
104
3d513fb7 105To build extensions other than standard extensions, NetWare Perl has
106to be installed on Windows as well. This can be done by invoking
8e39ca14 107I<nmake install> from the NetWare folder on a WinNT command prompt.
108This will copy all the *.pm files and other required files.
109Documentation files are not copied. This has to be done after
110installing Perl for Windows. Once this is done, do the following
111to build any extension:
2986a63f 112
113=over 4
114
115=item *
3d513fb7 116
2986a63f 117perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
118
3d513fb7 119For example:
120
121 perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
2986a63f 122
123=item *
3d513fb7 124
2986a63f 125nmake
126
127=item *
2986a63f 128
3d513fb7 129nmake install
2986a63f 130
3d513fb7 131Install will copy the files into the Windows machine where NetWare
132Perl is installed, these files have to be copied to the NetWare server
133manually. Alternatively, pass I<INSTALLSITELIB=i:\perl\lib> as an
134input to makefile.pl above. Where I<i:> is the mapped drive to the
135sys: volume of the server where Perl on NetWare is installed. Now
136saying I<nmake install>, will copy the files to the server.
2986a63f 137
138=back
139
140=head1 Known Issues
141
3d513fb7 142=over 4
143
2986a63f 144=item *
145
146With USE_ITHREADS not defined, backtick seems to be having some problems.
147
148=item *
149
3d513fb7 150The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not
151yet ported to work on NetWare.
2986a63f 152
153=item *
154
155Also fork() is not currently implemented.
156
3d513fb7 157=back
158
2986a63f 159=head1 Acknowledgements
160
b252981a 161The makefile for Win32 is used as a reference to create the makefile
8e39ca14 162for NetWare build. Also, the make process for NetWare port uses
163miniperl.exe to run scripts during the make and installation process.
2986a63f 164
8e39ca14 165=head1 Authors
2986a63f 166
167Guruprasad S (sguruprasad@novell.com)
8e39ca14 168Anantha Kesari H Y (hyanantha@novell.com)
2986a63f 169
170=head1 Date
171
172=over 4
173
174=item *
175
176Created - 18th Jan 2001
177
178=item *
179
b252981a 180Modified - 25th June 2001
2986a63f 181
8e39ca14 182=item *
183
184Modified - 13 July 2001
185
2986a63f 186=back
3d513fb7 187