1 | Notes for the DOS platform with DJGPP
|
---|
2 | =====================================
|
---|
3 |
|
---|
4 | OpenSSL has been ported to DJGPP, a Unix look-alike 32-bit run-time
|
---|
5 | environment for 16-bit DOS, but only with long filename support.
|
---|
6 | If you wish to compile on native DOS with 8+3 filenames, you will
|
---|
7 | have to tweak the installation yourself, including renaming files
|
---|
8 | with illegal or duplicate names.
|
---|
9 |
|
---|
10 | You should have a full DJGPP environment installed, including the
|
---|
11 | latest versions of DJGPP, GCC, BINUTILS, BASH, etc. This package
|
---|
12 | requires that PERL and the PERL module `Text::Template` also be
|
---|
13 | installed (see [NOTES-PERL.md](NOTES-PERL.md)).
|
---|
14 |
|
---|
15 | All of these can be obtained from the usual DJGPP mirror sites or
|
---|
16 | directly at <http://www.delorie.com/pub/djgpp>. For help on which
|
---|
17 | files to download, see the DJGPP "ZIP PICKER" page at
|
---|
18 | <http://www.delorie.com/djgpp/zip-picker.html>. You also need to have
|
---|
19 | the WATT-32 networking package installed before you try to compile
|
---|
20 | OpenSSL. This can be obtained from <http://www.watt-32.net/>.
|
---|
21 | The Makefile assumes that the WATT-32 code is in the directory
|
---|
22 | specified by the environment variable WATT_ROOT. If you have watt-32
|
---|
23 | in directory `watt32` under your main DJGPP directory, specify
|
---|
24 | `WATT_ROOT="/dev/env/DJDIR/watt32"`.
|
---|
25 |
|
---|
26 | To compile OpenSSL, start your BASH shell, then configure for DJGPP by
|
---|
27 | running `./Configure` with appropriate arguments:
|
---|
28 |
|
---|
29 | ./Configure no-threads --prefix=/dev/env/DJDIR DJGPP
|
---|
30 |
|
---|
31 | And finally fire up `make`. You may run out of DPMI selectors when
|
---|
32 | running in a DOS box under Windows. If so, just close the BASH
|
---|
33 | shell, go back to Windows, and restart BASH. Then run `make` again.
|
---|
34 |
|
---|
35 | RUN-TIME CAVEAT LECTOR
|
---|
36 | --------------
|
---|
37 |
|
---|
38 | Quoting FAQ:
|
---|
39 |
|
---|
40 | "Cryptographic software needs a source of unpredictable data to work
|
---|
41 | correctly. Many open source operating systems provide a "randomness
|
---|
42 | device" (`/dev/urandom` or `/dev/random`) that serves this purpose."
|
---|
43 |
|
---|
44 | As of version 0.9.7f DJGPP port checks upon `/dev/urandom$` for a 3rd
|
---|
45 | party "randomness" DOS driver. One such driver, `NOISE.SYS`, can be
|
---|
46 | obtained from <http://www.rahul.net/dkaufman/index.html>.
|
---|