openssl/NOTES-DJGPP.md
Dr. Matthias St. Pierre 4148581eb2 Unify the markdown links to the NOTES and README files
In many locations, the files have been converted to markdown
syntactically, but don't utilize the power of markdown yet.
Here, instead of just repeating the file name, the markdown link
now shows the title of the document.

Additionally, the notes are now reference in the same order in both
the README and the INSTALL file.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14042)
2021-02-12 20:41:32 +01:00

2.1 KiB

Notes for the DOS platform with DJGPP

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.

You should have a full DJGPP environment installed, including the latest versions of DJGPP, GCC, BINUTILS, BASH, etc. This package requires that PERL and the PERL module Text::Template also be installed (see NOTES-PERL.md).

All of these can be obtained from the usual DJGPP mirror sites or directly at http://www.delorie.com/pub/djgpp. For help on which files to download, see the DJGPP "ZIP PICKER" page at http://www.delorie.com/djgpp/zip-picker.html. You also need to have the WATT-32 networking package installed before you try to compile OpenSSL. This can be obtained from http://www.watt-32.net/. The Makefile assumes that the WATT-32 code is in the directory specified by the environment variable WATT_ROOT. If you have watt-32 in directory watt32 under your main DJGPP directory, specify WATT_ROOT="/dev/env/DJDIR/watt32".

To compile OpenSSL, start your BASH shell, then configure for DJGPP by running ./Configure with appropriate arguments:

./Configure no-threads --prefix=/dev/env/DJDIR DJGPP

And finally fire up make. You may run out of DPMI selectors when running in a DOS box under Windows. If so, just close the BASH shell, go back to Windows, and restart BASH. Then run make again.

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 device" (/dev/urandom or /dev/random) that serves this purpose."

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.