On Thu, 13 Jun 2002, Doug Kaufman wrote: > On Thu, 13 Jun 2002, Richard Levitte via RT wrote: > > > I finally committed most of your changes. Please download the next > > snapshot of 0.9.7 and check that it works as intended. > > > > I'm keeping this ticket open until you have confirmed that it works > > (perhaps after further changes). > > Thanks. I'll try to do this in the next few days.
The snapshot doesn't work under DJGPP, but I think that this patch will fix it. There were several problems. In Configure, you tried to use ENV{DJDIR}, but this puts in a DOS style path such as "c:/djgpp". The extra ":" throws off each of the subsequent parameters by one field. This was one of the reasons that the "/dev/env" notation was developed. "make depend" gave quite a few warnings, since the include directives from CFLAG were not utilized. This led to a number of header files not being found under DJGPP (and presumably for anyone else not using standard locations for header files). This patch adds the CFLAG directives for "make depend". Lastly, as I mentioned previously, "make depend" doesn't fix the problem of no testfiles for excluded algorithms, so compilation stops with errors in the "test" directory, even after running "make depend". I think I finally came up with an acceptable method of putting the header and test files for excluded algoritms in "include/openssl" and "test" respectively. If this is accepted, there should be no need to run "make depend" after excluding algorithms. I didn't put it in the patch, but I would consider removing the notice to run "make depend", which was just added. I also found a problem I had previously overlooked in crypto/engine/hw_aep.c. Which MSDOS compiler needs the section that doesn't apply to DJGPP? With this patch, the snapshot from 13 June does Configure, make, and "make test" without problems under DJGPP. "make depend" also completes without warnings, but it doesn't seem necessary to run it. Patch attached to avoid problems with long lines in the archive. Doug __ Doug Kaufman Internet: [EMAIL PROTECTED]
--- openssl-0.9.7/Configure.orig 2002-06-13 22:07:24.000000000 +0000 +++ openssl-0.9.7/Configure 2002-06-14 20:03:22.000000000 +0000 @@ -517,7 +517,7 @@ "Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:win32:cygwin-shared:::.dll", # DJGPP -"DJGPP", "gcc:-I/dev/env/DJDIR/watt32/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L$ENV{DJDIR}/watt32/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::", +"DJGPP", "gcc:-I/dev/env/DJDIR/watt32/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer +-O2 -Wall:::MSDOS:-L/dev/env/DJDIR/watt32/lib -lwatt:BN_LLONG ${x86_gcc_des} +${x86_gcc_opts}::::::::::", # Ultrix from Bernhard Simon <[EMAIL PROTECTED]> "ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown):::::::", @@ -1438,10 +1438,14 @@ } else { my $make_command = "make -f Makefile.ssl PERL=\'$perl\'"; my $make_targets = ""; + my $skip_dir; $make_targets .= " links" if $symlink; $make_targets .= " depend" if $depflags ne "" && $make_depend; (system $make_command.$make_targets) == 0 or exit $? if $make_targets ne ""; + foreach $skip_dir (@skip) { + system ("cd crypto/$skip_dir; make links PERL=\'$perl\' -f Makefile.ssl"); + } if ( $perl =~ m@^/@) { &dofile("tools/c_rehash",$perl,'^#!/', '#!%s','^my \$dir;$', 'my $dir = "' . $openssldir . '";'); &dofile("apps/der_chop",$perl,'^#!/', '#!%s'); --- openssl-0.9.7/Makefile.org.orig 2002-06-12 05:02:08.000000000 -0800 +++ openssl-0.9.7/Makefile.org 2002-06-14 07:52:36.000000000 -0800 @@ -598,7 +598,7 @@ do \ if [ -d "$$i" ]; then \ (cd $$i && echo "making dependencies $$i..." && \ - $(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ) || exit 1; \ + $(MAKE) SDIRS='${SDIRS}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' +MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' depend ) +|| exit 1; \ fi; \ done; --- openssl-0.9.7/crypto/Makefile.ssl.orig 2002-06-10 04:04:58.000000000 -0800 +++ openssl-0.9.7/crypto/Makefile.ssl 2002-06-14 07:38:20.000000000 -0800 @@ -141,7 +141,7 @@ @for i in $(SDIRS) ;\ do \ (cd $$i && echo "making depend in crypto/$$i..." && \ - $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' DEPFLAG='${DEPFLAG}' PERL='${PERL}' depend ); \ + $(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' +DEPFLAG='${DEPFLAG}' PERL='${PERL}' depend ); \ done; clean: --- openssl-0.9.7/crypto/engine/hw_aep.c.orig 2002-03-07 20:07:44.000000000 +0000 +++ openssl-0.9.7/crypto/engine/hw_aep.c 2002-06-14 20:22:30.000000000 +0000 @@ -60,7 +60,7 @@ #include <string.h> #include <openssl/e_os2.h> -#ifndef OPENSSL_SYS_MSDOS +#if !defined(OPENSSL_SYS_MSDOS) || defined(__DJGPP__) #include <sys/types.h> #include <unistd.h> #else --- openssl-0.9.7/util/domd.orig 2002-06-05 00:09:16.000000000 -0800 +++ openssl-0.9.7/util/domd 2002-06-14 07:54:22.000000000 -0800 @@ -17,7 +17,7 @@ if [ "$MAKEDEPEND" = "gcc" ]; then sed -e '/^# DO NOT DELETE.*/,$d' < Makefile.ssl > Makefile.tmp echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' >> Makefile.tmp - gcc -D OPENSSL_DOING_MAKEDEPEND -M $@ >> Makefile.tmp + gcc -D OPENSSL_DOING_MAKEDEPEND -M ${CFLAG} $@ >> Makefile.tmp ${PERL} $TOP/util/clean-depend.pl < Makefile.tmp > Makefile.new rm -f Makefile.tmp else