This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
op/taint.t problem on dos/djgpp
[perl5.git] / README.dos
CommitLineData
39e571d4
LM
1This is a DOS/DJGPP port of Perl 5.004_5x
2
31. 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
522. 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