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