This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add d_bincompat5005 information to perl -V.
[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
7Perl for NetWare5.x
8
9=head1 Description
10
b252981a 11This file gives the instructions for building Perl5.6 and above for
3d513fb7
JH
12NetWare5.x. Please read and understand the terms under which this
13software is distributed.
2986a63f
JH
14
15=head1 Build
16
3d513fb7
JH
17This section describes the steps to be performed to build a Perl NLM
18and other associated NLMs.
2986a63f
JH
19
20=head2 Tools & SDK
21
3d513fb7
JH
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
JH
29Currently the interpreter builds only with Watcom, we do have plans of
30making this work with CodeWarrior as well.
2986a63f
JH
31
32=head2 Setup
33
3d513fb7
JH
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
JH
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
JH
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
JH
56
57=back
58
2986a63f
JH
59=head2 Make
60
3d513fb7
JH
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
JH
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
JH
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
JH
89
90=head2 Extensions
91
3d513fb7
JH
92The make process also creates the Perl extensions which are called
93NLPs (NetWare Loadable Perl).
2986a63f
JH
94
95=head1 Install
96
3d513fb7
JH
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
JH
106
107=head1 Build new extensions
108
3d513fb7
JH
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
JH
115
116=over 4
117
118=item *
3d513fb7 119
2986a63f
JH
120perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl
121
3d513fb7
JH
122For example:
123
124 perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl
2986a63f
JH
125
126=item *
3d513fb7 127
2986a63f
JH
128nmake
129
130=item *
2986a63f 131
3d513fb7 132nmake install
2986a63f 133
3d513fb7
JH
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
JH
140
141=back
142
143=head1 Known Issues
144
3d513fb7
JH
145=over 4
146
2986a63f
JH
147=item *
148
149With USE_ITHREADS not defined, backtick seems to be having some problems.
150
151=item *
152
3d513fb7
JH
153The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not
154yet ported to work on NetWare.
2986a63f
JH
155
156=item *
157
158Also fork() is not currently implemented.
159
3d513fb7
JH
160=back
161
2986a63f
JH
162=head1 Acknowledgements
163
b252981a
JH
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
JH
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
JH
183
184=back
3d513fb7 185