]> git.ipfire.org Git - thirdparty/openssl.git/blame - NOTES-DJGPP.md
posix_async: FreeBSD also defines {make|swap|get|set}context
[thirdparty/openssl.git] / NOTES-DJGPP.md
CommitLineData
4148581e
DMSP
1Notes for the DOS platform with DJGPP
2=====================================
451dc18f 3
9222bc6b
AP
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.
451dc18f
RL
9
10 You should have a full DJGPP environment installed, including the
11 latest versions of DJGPP, GCC, BINUTILS, BASH, etc. This package
1dc1ea18 12 requires that PERL and the PERL module `Text::Template` also be
9f1fe6a9 13 installed (see [NOTES-PERL.md](NOTES-PERL.md)).
451dc18f 14
9222bc6b 15 All of these can be obtained from the usual DJGPP mirror sites or
1dc1ea18 16 directly at <http://www.delorie.com/pub/djgpp>. For help on which
9222bc6b 17 files to download, see the DJGPP "ZIP PICKER" page at
1dc1ea18 18 <http://www.delorie.com/djgpp/zip-picker.html>. You also need to have
9222bc6b 19 the WATT-32 networking package installed before you try to compile
1dc1ea18 20 OpenSSL. This can be obtained from <http://www.watt-32.net/>.
5319be44
RL
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
1dc1ea18
DDO
23 in directory `watt32` under your main DJGPP directory, specify
24 `WATT_ROOT="/dev/env/DJDIR/watt32"`.
451dc18f 25
9222bc6b 26 To compile OpenSSL, start your BASH shell, then configure for DJGPP by
1dc1ea18 27 running `./Configure` with appropriate arguments:
451dc18f 28
1dc1ea18 29 ./Configure no-threads --prefix=/dev/env/DJDIR DJGPP
df443918 30
1dc1ea18 31 And finally fire up `make`. You may run out of DPMI selectors when
9222bc6b 32 running in a DOS box under Windows. If so, just close the BASH
1dc1ea18 33 shell, go back to Windows, and restart BASH. Then run `make` again.
0b52f89b
AP
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
1dc1ea18 42 device" (`/dev/urandom` or `/dev/random`) that serves this purpose."
0b52f89b 43
1dc1ea18
DDO
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>.