Commit | Line | Data |
---|---|---|
3d513fb7 JH |
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 JH |
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 JH |
12 | NetWare5.x. Please read and understand the terms under which this |
13 | software is distributed. | |
2986a63f JH |
14 | |
15 | =head1 Build | |
16 | ||
3d513fb7 JH |
17 | This section describes the steps to be performed to build a Perl NLM |
18 | and other associated NLMs. | |
2986a63f JH |
19 | |
20 | =head2 Tools & SDK | |
21 | ||
8e39ca14 JH |
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 JH |
30 | |
31 | =head2 Setup | |
32 | ||
3d513fb7 JH |
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 JH |
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 JH |
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 JH |
55 | |
56 | =back | |
57 | ||
2986a63f JH |
58 | =head2 Make |
59 | ||
8e39ca14 JH |
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 JH |
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 JH |
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 JH |
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 JH |
88 | |
89 | =head2 Extensions | |
90 | ||
3d513fb7 JH |
91 | The make process also creates the Perl extensions which are called |
92 | NLPs (NetWare Loadable Perl). | |
2986a63f JH |
93 | |
94 | =head1 Install | |
95 | ||
8e39ca14 JH |
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 JH |
102 | |
103 | =head1 Build new extensions | |
104 | ||
3d513fb7 JH |
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 JH |
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 JH |
112 | |
113 | =over 4 | |
114 | ||
115 | =item * | |
3d513fb7 | 116 | |
2986a63f JH |
117 | perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl |
118 | ||
3d513fb7 JH |
119 | For example: |
120 | ||
121 | perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl | |
2986a63f JH |
122 | |
123 | =item * | |
3d513fb7 | 124 | |
2986a63f JH |
125 | nmake |
126 | ||
127 | =item * | |
2986a63f | 128 | |
3d513fb7 | 129 | nmake install |
2986a63f | 130 | |
3d513fb7 JH |
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 JH |
137 | |
138 | =back | |
139 | ||
140 | =head1 Known Issues | |
141 | ||
3d513fb7 JH |
142 | =over 4 |
143 | ||
2986a63f JH |
144 | =item * |
145 | ||
146 | With USE_ITHREADS not defined, backtick seems to be having some problems. | |
147 | ||
148 | =item * | |
149 | ||
3d513fb7 JH |
150 | The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not |
151 | yet ported to work on NetWare. | |
2986a63f JH |
152 | |
153 | =item * | |
154 | ||
155 | Also fork() is not currently implemented. | |
156 | ||
3d513fb7 JH |
157 | =back |
158 | ||
2986a63f JH |
159 | =head1 Acknowledgements |
160 | ||
b252981a | 161 | The makefile for Win32 is used as a reference to create the makefile |
8e39ca14 JH |
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 JH |
166 | |
167 | Guruprasad S (sguruprasad@novell.com) | |
8e39ca14 | 168 | Anantha Kesari H Y (hyanantha@novell.com) |
2986a63f JH |
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 JH |
182 | =item * |
183 | ||
184 | Modified - 13 July 2001 | |
185 | ||
2986a63f | 186 | =back |
3d513fb7 | 187 |