openssl/NOTES-DJGPP.md

2.0 KiB

INSTALLATION ON 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).

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".