Commit | Line | Data |
3d513fb7 |
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. |
2986a63f |
4 | |
5 | =head1 Name |
6 | |
7 | Perl for NetWare5.x |
8 | |
9 | =head1 Description |
10 | |
b252981a |
11 | This file gives the instructions for building Perl5.6 and above for |
3d513fb7 |
12 | NetWare5.x. Please read and understand the terms under which this |
13 | software is distributed. |
2986a63f |
14 | |
15 | =head1 Build |
16 | |
3d513fb7 |
17 | This section describes the steps to be performed to build a Perl NLM |
18 | and other associated NLMs. |
2986a63f |
19 | |
20 | =head2 Tools & SDK |
21 | |
8e39ca14 |
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 |
3d513fb7 |
29 | making this work with CodeWarrior as well. |
2986a63f |
30 | |
31 | =head2 Setup |
32 | |
3d513fb7 |
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. |
2986a63f |
36 | |
37 | =over 4 |
38 | |
3d513fb7 |
39 | =item Buildtype.bat |
2986a63f |
40 | |
3d513fb7 |
41 | This sets the build type to release or debug. |
2986a63f |
42 | |
3d513fb7 |
43 | =item SetNWBld.bat |
2986a63f |
44 | |
3d513fb7 |
45 | This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path. |
2986a63f |
46 | |
3d513fb7 |
47 | =item MPKBuild.bat |
2986a63f |
48 | |
3d513fb7 |
49 | This is required only it we are building multi-processor enabled NLMs. |
2986a63f |
50 | |
3d513fb7 |
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. |
2986a63f |
55 | |
56 | =back |
57 | |
2986a63f |
58 | =head2 Make |
59 | |
8e39ca14 |
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 |
210b36aa |
64 | win32 folder through WinNT command prompt. The build process |
8e39ca14 |
65 | can be stopped after miniperl.exe is created. Then run nmake |
66 | from NetWare folder through WinNT command prompt. |
2986a63f |
67 | |
210b36aa |
68 | Currently the following two build types are tested on NetWare |
2986a63f |
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 | |
8e39ca14 |
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. |
2986a63f |
88 | |
89 | =head2 Extensions |
90 | |
3d513fb7 |
91 | The make process also creates the Perl extensions which are called |
92 | NLPs (NetWare Loadable Perl). |
2986a63f |
93 | |
94 | =head1 Install |
95 | |
8e39ca14 |
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. |
2986a63f |
102 | |
103 | =head1 Build new extensions |
104 | |
3d513fb7 |
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 |
8e39ca14 |
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: |
2986a63f |
112 | |
113 | =over 4 |
114 | |
115 | =item * |
3d513fb7 |
116 | |
2986a63f |
117 | perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl |
118 | |
3d513fb7 |
119 | For 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 |
125 | nmake |
126 | |
127 | =item * |
2986a63f |
128 | |
3d513fb7 |
129 | nmake install |
2986a63f |
130 | |
3d513fb7 |
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. |
2986a63f |
137 | |
138 | =back |
139 | |
140 | =head1 Known Issues |
141 | |
3d513fb7 |
142 | =over 4 |
143 | |
2986a63f |
144 | =item * |
145 | |
146 | With USE_ITHREADS not defined, backtick seems to be having some problems. |
147 | |
148 | =item * |
149 | |
3d513fb7 |
150 | The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not |
151 | yet ported to work on NetWare. |
2986a63f |
152 | |
153 | =item * |
154 | |
155 | Also fork() is not currently implemented. |
156 | |
3d513fb7 |
157 | =back |
158 | |
2986a63f |
159 | =head1 Acknowledgements |
160 | |
b252981a |
161 | The makefile for Win32 is used as a reference to create the makefile |
8e39ca14 |
162 | for NetWare build. Also, the make process for NetWare port uses |
163 | miniperl.exe to run scripts during the make and installation process. |
2986a63f |
164 | |
8e39ca14 |
165 | =head1 Authors |
2986a63f |
166 | |
167 | Guruprasad S (sguruprasad@novell.com) |
8e39ca14 |
168 | Anantha Kesari H Y (hyanantha@novell.com) |
2986a63f |
169 | |
170 | =head1 Date |
171 | |
172 | =over 4 |
173 | |
174 | =item * |
175 | |
176 | Created - 18th Jan 2001 |
177 | |
178 | =item * |
179 | |
b252981a |
180 | Modified - 25th June 2001 |
2986a63f |
181 | |
8e39ca14 |
182 | =item * |
183 | |
184 | Modified - 13 July 2001 |
185 | |
2986a63f |
186 | =back |
3d513fb7 |
187 | |