This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Resolve ansiperl against win32 branch
[perl5.git] / README.dos
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