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