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