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