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