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