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);

Reply via email to