Commit | Line | Data |
---|---|---|
39e571d4 LM |
1 | This is a DOS/DJGPP port of Perl 5.004_5x |
2 | ||
3 | 1. Installation | |
4 | ------------ | |
5 | ||
6 | - Unzip the binary package perl54b.zip preserving the directory | |
7 | structure (-d switch to PKUNZIP) from the top DJGPP directory. | |
8 | If you want to use perl with long file names (win0.95), then use a LFN | |
9 | aware unzip and add | |
10 | ||
11 | set LFN=y | |
12 | ||
13 | to your autoexec.bat or DJGPP.ENV. | |
14 | ||
15 | - Edit lib/perl5/Config.pm, and replace every 'c:/djgpp' with your | |
16 | DJGPP root directory. This can be done with perl too: | |
17 | ||
18 | perl -i~ -pe "s!c:/djgpp!x:/djroot!i;" lib/perl5/Config.pm | |
19 | ^^^^^^^^^ | |
20 | Substitute this with your DJGPP root directory! | |
21 | ||
22 | - This version of perl searches its library files in '../lib/perl5/', | |
23 | which is relative to the path of perl.exe. If you don't like this, | |
24 | you can use the PERL5LIB environment variable to tell perl where | |
25 | the library is. E.g: | |
26 | ||
27 | set PERL5LIB=c:/perl/lib | |
28 | ||
29 | Warning: if you set PERL5LIB and use tainting checks (-T command line | |
30 | option), perl ignores PERL5LIB, so you must use the -I command line | |
31 | switch or the "use lib '...'" construct. Or you can patch perl.exe :) | |
32 | ||
33 | - Perl works best with a unixy shell, so you may want to download and | |
34 | install bash (bshXXXXb.zip from the usual DJGPP sites). After installing | |
35 | it make the 'SHELL' environment variable point to your bash.exe. | |
36 | Finally create a `link' to your bash.exe in your %DJDIR%/bin directory: | |
37 | ||
38 | ln -s bash.exe sh.exe | |
39 | or | |
40 | stubify -g sh.exe | |
41 | stubedit sh.exe runfile=bash | |
42 | ||
43 | - The documentation is in lib/perl5/pod. You can read the .pod files | |
44 | with any editor, or you can use the `perldoc' utility. For more info: | |
45 | ||
46 | perl -S perldoc -h | |
47 | ||
48 | It tries to use less.exe or more.com, but you can set your pager with: | |
49 | ||
50 | SET PAGER=path_of_your_favourite_pager | |
51 | ||
52 | 2. Building Perl | |
53 | ------------- | |
54 | ||
55 | - In addition to the standard DJGPP tools, you will need sed, gawk, grep, | |
56 | sh-utils, textutils, fileutils, bash, diffutils, make and findutils. :-) | |
57 | You can find them on the usual DJGPP sites. If you want to build perl | |
58 | under win0.95, then you MUST use fileutils 3.16+ (3.13 doesn't work). | |
59 | ||
60 | - Unzip the source package perl54s.zip preserving the directory | |
61 | structure (-d switch to PKUNZIP) from the top DJGPP directory. | |
62 | Under plain DOS, use the -o switch too when unzipping. | |
63 | This creates the directory gnu/perl5004. | |
64 | ||
65 | - Create a symlink or copy your bash.exe to sh.exe in your DJGPP/bin | |
66 | directory. | |
67 | ||
68 | ln -s bash.exe sh.exe | |
69 | ||
70 | And make the 'SHELL' environment variable point to this sh.exe: | |
71 | ||
72 | set SHELL=c:/djgpp/bin/sh.exe (use full path name!) | |
73 | ||
74 | You can do this in djgpp.env too. Add this line BEFORE any section | |
75 | definition: | |
76 | ||
77 | +SHELL=%DJDIR%/bin/sh.exe | |
78 | ||
79 | - If you have split.exe and gsplit.exe in your path, then rename split.exe | |
80 | to djsplit.exe, and gsplit.exe to split.exe. | |
81 | ||
82 | - Copy or link gecho.exe to echo.exe if you don't have echo.exe. | |
83 | ||
84 | - Copy or link gawk.exe to awk.exe if you don't have awk.exe. | |
85 | ||
86 | - Chdir to the gnu/perl5004/djgpp directory and type the following | |
87 | command: | |
88 | ||
89 | configure.bat | |
90 | ||
91 | This will do some preprocessing then run the Configure script. | |
92 | ||
93 | The Configure script is interactive, but in most of the cases you | |
94 | just need to press ENTER. | |
95 | ||
96 | If the script says that your package is incomplete, and ask whether | |
97 | to continue, just answer with Y (this can only happen if you don't use | |
98 | long filenames). | |
99 | ||
100 | When Configure asks about the extensions, I suggest IO and Fcntl, | |
101 | and if you want database handling then SDBM_File or GDBM_File | |
102 | (you need to install gdbm for this one). If you want to use the | |
103 | POSIX extension (this is the default), make sure that the stack | |
104 | size of your cc1.exe is at least 512kbyte (you can check this | |
105 | with: stubedit cc1.exe). | |
106 | ||
107 | You can use the Configure script in non-interactive mode too. | |
108 | When I've built my perl.exe, I used this: | |
109 | ||
110 | configure.bat -Uuseposix -dEs | |
111 | ||
112 | then edited config.sh (set hostname & domainname), then | |
113 | ||
114 | sh Configure -S | |
115 | ||
116 | You can find more info about Configure's command line switches in | |
117 | the `INSTALL' file. | |
118 | ||
119 | - When the script ends, and you want to change some values in the | |
120 | generated config.sh file, then run | |
121 | ||
122 | sh Configure -S | |
123 | ||
124 | after you made your modifications. | |
125 | ||
126 | IMPORTANT: if you use this -S switch, be sure to delete the CONFIG | |
127 | environment variable before running the script: | |
128 | ||
129 | set CONFIG= | |
130 | ||
131 | - Now you can compile Perl. Type: | |
132 | ||
133 | make | |
134 | ||
135 | - Run the tests: | |
136 | ||
137 | make test | |
138 | ||
139 | You should see "All tests successful" if you configured a database | |
140 | manager, and 1 failed test script if not (lib/anydbm.t). If you | |
141 | configured POSIX you will see 4 failed subtests in lib/posix.t. | |
142 | ||
143 | - If you want the documentation in HTML format, then read INSTALL in | |
144 | the main perl5004 source directory. | |
145 | ||
146 | WARNING: if you want to use absolute path names with `installhtml', | |
147 | use something like this: | |
148 | ||
149 | --htmldir=f:/html | |
150 | --htmlroot='/f|/html' # "|" instead of ":" !!! | |
151 | ||
152 | or NETSCAPE does strange things. | |
153 | ||
154 | - If you don't want to use the modules, then you are ready: copy perl.exe | |
155 | into your bin directory. | |
156 | ||
157 | - Else install the files with: | |
158 | ||
159 | make install | |
160 | ||
161 | Enjoy. | |
162 | ||
163 | Laszlo Molnar <molnarl@cdata.tvnet.hu> | |
164 |