(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 in an
- auto-generated file, which also defines DATE and thus replaces
- crypto/date.h. Standard "make" builds use crypto/buildinf.h,
- mk1mf.pl builds use crypto/mk1mfinf.h (created by mk1mf.pl).
+ auto-generated file crypto/buildinf.h (created by crypto/Makefile.ssl
+ for standard "make" builds, by util/mk1mf.pl for "mk1mf" builds).
[Bodo Moeller]
*) MIPS III/IV assembler module is reimplemented.
if($IsWindows) {
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) */
-/* mk1mf builds use mk1mfinf.h instead, so this file is probably never needed */
-#define CFLAGS "$cc $cflags"
-#define PLATFORM "$target"
+#ifndef MK1MF_BUILD
+ /* auto-generated by Configure for crypto/cversion.c:
+ * for Unix builds, crypto/Makefile.ssl generates functional definitions;
+ * Windows builds (and other mk1mf builds) compile cversion.c with
+ * -DMK1MF_BUILD and use definitions added to this file by util/mk1mf.pl. */
+ #error "Windows builds (PLATFORM=$target) use mk1mf.pl-created Makefiles"
+#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";
lib
buildinf.h
-mk1mfinf.h
opensslconf.h
Makefile.save
all: buildinf.h lib subdirs
buildinf.h: ../Makefile.ssl
- ( echo "/* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
- echo "/* (mk1mf builds use mk1mfinf.h instead) */"; \
- echo "#define CFLAGS \"$(CC) $(CFLAG)\""; \
- echo "#define PLATFORM \"$(PLATFORM)\""; \
- echo "#define DATE \"`date`\"" ) >buildinf.h
+ ( echo "#ifndef MK1MF_BUILD"; \
+ echo " /* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
+ echo " #define CFLAGS \"$(CC) $(CFLAG)\""; \
+ echo " #define PLATFORM \"$(PLATFORM)\""; \
+ echo " #define DATE \"`date`\""; \
+ echo "#endif" ) >buildinf.h
subdirs:
@for i in $(SDIRS) ;\
done;
clean:
- rm -f buildinf.h mk1mfinf.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+ rm -f buildinf.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..."; \
#include "cryptlib.h"
#include <openssl/crypto.h>
-#ifdef MK1MF_BUILD
-# include "mk1mfinf.h"
-#else
-# include "buildinf.h"
-#endif
+#include "buildinf.h"
const char *SSLeay_version(int t)
{
my $platform_cpp_symbol = "MK1MF_PLATFORM_$platform";
$platform_cpp_symbol =~ s/-/_/;
-if (open(IN,"crypto/mk1mfinf.h"))
+if (open(IN,"crypto/buildinf.h"))
{
- # Remove entry for this platform in existing file mk1mfinf.h.
+ # Remove entry for this platform in existing file buildinf.h.
- my $old_mk1mfinf_h = "";
+ my $old_buildinf_h = "";
while (<IN>)
{
if (/^\#ifdef $platform_cpp_symbol$/)
}
else
{
- $old_mk1mfinf_h .= $_;
+ $old_buildinf_h .= $_;
}
}
close(IN);
- open(OUT,">crypto/mk1mfinf.h") || die "Can't open mk1mfinf.h";
- print OUT $old_mk1mfinf_h;
+ open(OUT,">crypto/buildinf.h") || die "Can't open buildinf.h";
+ print OUT $old_buildinf_h;
close(OUT);
}
-open (OUT,">>crypto/mk1mfinf.h") || die "Can't open mk1mfinf.h";
+open (OUT,">>crypto/buildinf.h") || die "Can't open buildinf.h";
printf OUT <<EOF;
#ifdef $platform_cpp_symbol
- /* auto-generated and updated by util/mk1mf.pl for crypto/cversion.c */
- /* (used in place of crypto/buildinf.h by mk1mf builds) */
+ /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
#define CFLAGS "$cc $cflags"
#define PLATFORM "$platform"
EOF