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 | |
3d513fb7 |
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. |
2986a63f |
28 | |
3d513fb7 |
29 | Currently the interpreter builds only with Watcom, we do have plans of |
30 | making this work with CodeWarrior as well. |
2986a63f |
31 | |
32 | =head2 Setup |
33 | |
3d513fb7 |
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. |
2986a63f |
37 | |
38 | =over 4 |
39 | |
3d513fb7 |
40 | =item Buildtype.bat |
2986a63f |
41 | |
3d513fb7 |
42 | This sets the build type to release or debug. |
2986a63f |
43 | |
3d513fb7 |
44 | =item SetNWBld.bat |
2986a63f |
45 | |
3d513fb7 |
46 | This sets the NetWare SDK path, Compiler & other tools path & MPK SDK path. |
2986a63f |
47 | |
3d513fb7 |
48 | =item MPKBuild.bat |
2986a63f |
49 | |
3d513fb7 |
50 | This is required only it we are building multi-processor enabled NLMs. |
2986a63f |
51 | |
3d513fb7 |
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. |
2986a63f |
56 | |
57 | =back |
58 | |
2986a63f |
59 | =head2 Make |
60 | |
3d513fb7 |
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. |
2986a63f |
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 | |
3d513fb7 |
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. |
2986a63f |
89 | |
90 | =head2 Extensions |
91 | |
3d513fb7 |
92 | The make process also creates the Perl extensions which are called |
93 | NLPs (NetWare Loadable Perl). |
2986a63f |
94 | |
95 | =head1 Install |
96 | |
3d513fb7 |
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:>. |
2986a63f |
106 | |
107 | =head1 Build new extensions |
108 | |
3d513fb7 |
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 |
2986a63f |
115 | |
116 | =over 4 |
117 | |
118 | =item * |
3d513fb7 |
119 | |
2986a63f |
120 | perl -II<path to NetWare lib dir> -II<path to lib> Makefile.pl |
121 | |
3d513fb7 |
122 | For example: |
123 | |
124 | perl -Ic:/perl/5.6.1/lib/NetWare-multi-thread -Ic:\perl\5.6.1\lib MakeFile.pl |
2986a63f |
125 | |
126 | =item * |
3d513fb7 |
127 | |
2986a63f |
128 | nmake |
129 | |
130 | =item * |
2986a63f |
131 | |
3d513fb7 |
132 | nmake install |
2986a63f |
133 | |
3d513fb7 |
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. |
2986a63f |
140 | |
141 | =back |
142 | |
143 | =head1 Known Issues |
144 | |
3d513fb7 |
145 | =over 4 |
146 | |
2986a63f |
147 | =item * |
148 | |
149 | With USE_ITHREADS not defined, backtick seems to be having some problems. |
150 | |
151 | =item * |
152 | |
3d513fb7 |
153 | The utility scripts (pod2html.pl, pod2man.pl, perldoc.pl etc.) are not |
154 | yet ported to work on NetWare. |
2986a63f |
155 | |
156 | =item * |
157 | |
158 | Also fork() is not currently implemented. |
159 | |
3d513fb7 |
160 | =back |
161 | |
2986a63f |
162 | =head1 Acknowledgements |
163 | |
b252981a |
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. |
2986a63f |
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 | |
b252981a |
182 | Modified - 25th June 2001 |
2986a63f |
183 | |
184 | =back |
3d513fb7 |
185 | |