Sometime in the last few months, changes were made to e_os2.h in the stable 0.9.8 series, which broke the DJGPP build. It looks like a cleanup was made, removing OPENSSL_SYSNAME_WIN16, but the OPENSSL_SYSNAME_MSDOS code appears to have been accidentally removed. I see that none of the platforms generate OPENSSL_SYSNAME_WIN16 in Configure, but there are still lots of places in the code that refer to it. Do we really want to remove OPENSSL_SYSNAME_WIN16 from e_os2.h? Is it clear that no on is going to use that part of the code again? The patch reverts e_os2.h to what it was a few months ago. If you only want to put the MSDOS code back in, rather than restore it all, I don't object. I just wasn't sure what the point was in making the changes.
When reviewing my log files, I noted two directories where "make depend" doesn't use the CFLAG. It looked like something to be fixed. Is there a reason to omit CFLAG only in these two directories? I haven't had a chance to try to compile the current HEAD code yet. The above comments and patches apply to 0.9.8-stable branch. Doug P.S. Since I am in the US, I will also submit this to the usual government authorities. -- Doug Kaufman Internet: [EMAIL PROTECTED]
--- OpenSSL-0.9.8/crypto/ecdh/Makefile.ori 2005-05-16 08:55:24.000000000 -0800 +++ OpenSSL-0.9.8/crypto/ecdh/Makefile 2005-11-20 00:06:10.000000000 -0800 @@ -64,7 +64,7 @@ depend: @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile... - $(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) + $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) dclean: $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new --- OpenSSL-0.9.8/crypto/ecdsa/Makefile.ori 2005-05-16 08:55:24.000000000 -0800 +++ OpenSSL-0.9.8/crypto/ecdsa/Makefile 2005-11-20 00:09:28.000000000 -0800 @@ -64,7 +64,7 @@ depend: @[ -n "$(MAKEDEPEND)" ] # should be set by upper Makefile... - $(MAKEDEPEND) -- $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) + $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) dclean: $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new --- e_os2.h 2005-08-02 15:03:16.000000000 -0800 +++ e_os2.h.old 2005-04-13 13:10:06.000000000 -0800 @@ -84,6 +84,16 @@ /* ---------------------- Microsoft operating systems ---------------------- */ +/* The 16 bit environments are pretty straightforward */ +#if defined(OPENSSL_SYSNAME_WIN16) || defined(OPENSSL_SYSNAME_MSDOS) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_MSDOS +#endif +#if defined(OPENSSL_SYSNAME_WIN16) +# undef OPENSSL_SYS_UNIX +# define OPENSSL_SYS_WIN16 +#endif + /* For 32 bit environment, there seems to be the CygWin environment and then all the others that try to do the same thing Microsoft does... */ #if defined(OPENSSL_SYSNAME_UWIN) @@ -110,7 +120,7 @@ #endif /* Anything that tries to look like Microsoft is "Windows" */ -#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) +#if defined(OPENSSL_SYS_WIN16) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) # undef OPENSSL_SYS_UNIX # define OPENSSL_SYS_WINDOWS # ifndef OPENSSL_SYS_MSDOS @@ -201,6 +211,9 @@ /* Specials for I/O an exit */ +#ifdef OPENSSL_SYS_WIN16 +# define OPENSSL_NO_FP_API +#endif #ifdef OPENSSL_SYS_MSDOS # define OPENSSL_UNISTD_IO <io.h> # define OPENSSL_DECLARE_EXIT extern void exit(int);