use new file buildinf.h instead.
Changes between 0.9.3a and 0.9.4
+ *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=...
+ (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused
+ problems not only on Windows, but also on some Unix platforms.
+ To avoid problematic command lines, these definitions are now made
+ in auto-generated file crypto/buildinf.h, which also defines DATE
+ and thus replaces crypto/date.h.
+ [Bodo Moeller]
+
*) MIPS III/IV assembler module is reimplemented.
[Andy Polyakov]
"BC-16","bcc:::(unknown)::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
# CygWin32
+# (Note: the real CFLAGS for Windows builds are defined by util/mk1mf.pl
+# and its library files in util/pl/*)
"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
"Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
print "BF_PTR2 used\n" if $bf_ptr == 2;
if($IsWindows) {
- open (OUT,">crypto/date.h") || die "Can't open date.h";
- printf OUT "#define DATE \"%s\"\n", scalar gmtime();
- printf OUT <<EOF; # Kludge -- usually those are passed on the command line
-#ifndef CFLAGS
+ open (OUT,">crypto/buildinf.h") || die "Can't open buildinf.h";
+ printf OUT <<EOF;
+/* auto-generated by Configure for crypto/cversion.c */
+/* (Unix builds: auto-generated by crypto/Makefile.ssl) */
#define CFLAGS "$cc $cflags"
-#endif
-#ifndef PLATFORM
#define PLATFORM "$target"
-#endif
EOF
+ printf OUT "#define DATE \"%s\"\n", scalar gmtime();
close(OUT);
system "perl crypto/objects/obj_dat.pl <crypto/objects/objects.h >crypto/objects/obj_dat.h";
} else {
PEX_LIBS=
EX_LIBS=
-CFLAGS= $(INCLUDE) $(CFLAG) -DCFLAGS="\"$(CC) $(CFLAG)\"" -DPLATFORM="\"$(PLATFORM)\""
+CFLAGS= $(INCLUDE) $(CFLAG)
LIBS=
SRC= $(LIBSRC)
EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h
-HEADER= cryptlib.h date.h $(EXHEADER)
+HEADER= cryptlib.h buildinf.h $(EXHEADER)
ALL= $(GENERAL) $(SRC) $(HEADER)
top:
@(cd ..; $(MAKE) DIRS=$(DIR) all)
-all: date.h lib subdirs
+all: buildinf.h lib subdirs
-date.h: ../Makefile.ssl
- echo "#define DATE \"`date`\"" >date.h
+buildinf.h: ../Makefile.ssl
+ ( echo "/* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
+ echo "/* (Windows builds: auto-generated by Configure) */"; \
+ echo "#define CFLAGS \"$(CC) $(CFLAG)\""; \
+ echo "#define PLATFORM \"$(PLATFORM)\""; \
+ echo "#define DATE \"`date`\"" ) >buildinf.h
subdirs:
@for i in $(SDIRS) ;\
done;
clean:
- rm -f date.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+ rm -f buildinf.h date.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
@for i in $(SDIRS) ;\
do \
(cd $$i; echo "making clean in crypto/$$i..."; \
cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
cryptlib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-cryptlib.o: ../include/openssl/stack.h cryptlib.h date.h
+cryptlib.o: ../include/openssl/stack.h cryptlib.h
cversion.o: ../include/openssl/bio.h ../include/openssl/buffer.h
cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
cversion.o: ../include/openssl/e_os2.h ../include/openssl/err.h
cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-cversion.o: ../include/openssl/stack.h cryptlib.h date.h
+cversion.o: ../include/openssl/stack.h buildinf.h cryptlib.h
ex_data.o: ../include/openssl/bio.h ../include/openssl/buffer.h
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
ex_data.o: ../include/openssl/e_os2.h ../include/openssl/err.h
#include <string.h>
#include "cryptlib.h"
#include <openssl/crypto.h>
-#include "date.h"
#if defined(WIN32) || defined(WIN16)
static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */
#include <string.h>
#include "cryptlib.h"
#include <openssl/crypto.h>
-#include "date.h"
+#include "buildinf.h"
const char *SSLeay_version(int t)
{