diff --git a/CHANGES b/CHANGES index 7cda75c18bf6395837a2ba2ee51f0a7bb2979588..2e03173c5ba5c45c16851c39f5013e182faf4aa2 100644 --- a/CHANGES +++ b/CHANGES @@ -30,9 +30,10 @@ *) 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. + 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). [Bodo Moeller] *) MIPS III/IV assembler module is reimplemented. diff --git a/Configure b/Configure index 80f0b7680a70d872d823f4e792cdde998008c3f3..fbac48e3997c5d370f07ca7b2543e616acd882fd 100755 --- a/Configure +++ b/Configure @@ -710,11 +710,13 @@ if($IsWindows) { printf OUT <crypto/objects/obj_dat.h"; } else { (system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?; diff --git a/crypto/.cvsignore b/crypto/.cvsignore index 6b86a0a8dc492e7389596eb8ee91890fd018850d..b8d2cb1da2b6a746013a08d0cf129c7a44d5b529 100644 --- a/crypto/.cvsignore +++ b/crypto/.cvsignore @@ -1,4 +1,5 @@ lib buildinf.h +mk1mfinf.h opensslconf.h Makefile.save diff --git a/crypto/Makefile.ssl b/crypto/Makefile.ssl index d5e48d5c419e6f3a8ae1493a05abcbcec38880fd..c27a69d5e1e47c05f969b77f03eea84efb6c87e7 100644 --- a/crypto/Makefile.ssl +++ b/crypto/Makefile.ssl @@ -51,7 +51,7 @@ all: buildinf.h lib subdirs buildinf.h: ../Makefile.ssl ( echo "/* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \ - echo "/* (Windows builds: auto-generated by Configure) */"; \ + echo "/* (mk1mf builds use mk1mfinf.h instead) */"; \ echo "#define CFLAGS \"$(CC) $(CFLAG)\""; \ echo "#define PLATFORM \"$(PLATFORM)\""; \ echo "#define DATE \"`date`\"" ) >buildinf.h @@ -129,7 +129,7 @@ depend: done; clean: - rm -f buildinf.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff + rm -f buildinf.h mk1mfinf.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..."; \ diff --git a/crypto/cversion.c b/crypto/cversion.c index 72af476fbeee07f10398f170e9bb296256c11967..428def308136645b97550bd0593da281bf270080 100644 --- a/crypto/cversion.c +++ b/crypto/cversion.c @@ -60,7 +60,12 @@ #include #include "cryptlib.h" #include -#include "buildinf.h" + +#ifdef MK1MF_BUILD +# include "mk1mfinf.h" +#else +# include "buildinf.h" +#endif const char *SSLeay_version(int t) { diff --git a/util/mk1mf.pl b/util/mk1mf.pl index 90f2dfca06cf0d46eba67d82f48f75f6586b7d5e..4647fc7a035a1eaee7b2ce1b154f08294eeb71b9 100755 --- a/util/mk1mf.pl +++ b/util/mk1mf.pl @@ -401,6 +401,41 @@ vclean: \$(RM) \$(OUT_D)$o*.* EOF + +my $platform_cpp_symbol = "MK1MF_PLATFORM_$platform"; +$platform_cpp_symbol =~ s/-/_/; +if (open(IN,"crypto/mk1mfinf.h")) + { + # Remove entry for this platform in existing file mk1mfinf.h. + + my $old_mk1mfinf_h = ""; + while () + { + if (/^\#ifdef $platform_cpp_symbol$/) + { + while () { last if (/^\#endif/); } + } + else + { + $old_mk1mfinf_h .= $_; + } + } + + open(OUT,">crypto/mk1mfinf.h") || die "Can't open mk1mfinf.h"; + print OUT $old_mk1mfinf_h; + } + +open (OUT,">>crypto/mk1mfinf.h") || die "Can't open mk1mfinf.h"; +printf OUT <