提交 2e0fc875 编写于 作者: B Bodo Möller

Use correct CFLAG definition for makefile.one builds.

上级 488c0657
...@@ -30,9 +30,10 @@ ...@@ -30,9 +30,10 @@
*) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=... *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=...
(both in crypto/Makefile.ssl for use by crypto/cversion.c) caused (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused
problems not only on Windows, but also on some Unix platforms. problems not only on Windows, but also on some Unix platforms.
To avoid problematic command lines, these definitions are now made To avoid problematic command lines, these definitions are now in an
in auto-generated file crypto/buildinf.h, which also defines DATE auto-generated file, which also defines DATE and thus replaces
and thus replaces crypto/date.h. crypto/date.h. Standard "make" builds use crypto/buildinf.h,
mk1mf.pl builds use crypto/mk1mfinf.h (created by mk1mf.pl).
[Bodo Moeller] [Bodo Moeller]
*) MIPS III/IV assembler module is reimplemented. *) MIPS III/IV assembler module is reimplemented.
......
...@@ -710,11 +710,13 @@ if($IsWindows) { ...@@ -710,11 +710,13 @@ if($IsWindows) {
printf OUT <<EOF; printf OUT <<EOF;
/* auto-generated by Configure for crypto/cversion.c */ /* auto-generated by Configure for crypto/cversion.c */
/* (Unix builds: auto-generated by crypto/Makefile.ssl) */ /* (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 CFLAGS "$cc $cflags"
#define PLATFORM "$target" #define PLATFORM "$target"
EOF EOF
printf OUT "#define DATE \"%s\"\n", scalar gmtime(); printf OUT "#define DATE \"%s\"\n", scalar gmtime();
close(OUT); close(OUT);
system "perl crypto/objects/obj_dat.pl <crypto/objects/objects.h >crypto/objects/obj_dat.h"; system "perl crypto/objects/obj_dat.pl <crypto/objects/objects.h >crypto/objects/obj_dat.h";
} else { } else {
(system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?; (system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?;
......
lib lib
buildinf.h buildinf.h
mk1mfinf.h
opensslconf.h opensslconf.h
Makefile.save Makefile.save
...@@ -51,7 +51,7 @@ all: buildinf.h lib subdirs ...@@ -51,7 +51,7 @@ all: buildinf.h lib subdirs
buildinf.h: ../Makefile.ssl buildinf.h: ../Makefile.ssl
( echo "/* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \ ( 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 CFLAGS \"$(CC) $(CFLAG)\""; \
echo "#define PLATFORM \"$(PLATFORM)\""; \ echo "#define PLATFORM \"$(PLATFORM)\""; \
echo "#define DATE \"`date`\"" ) >buildinf.h echo "#define DATE \"`date`\"" ) >buildinf.h
...@@ -129,7 +129,7 @@ depend: ...@@ -129,7 +129,7 @@ depend:
done; done;
clean: 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) ;\ @for i in $(SDIRS) ;\
do \ do \
(cd $$i; echo "making clean in crypto/$$i..."; \ (cd $$i; echo "making clean in crypto/$$i..."; \
......
...@@ -60,7 +60,12 @@ ...@@ -60,7 +60,12 @@
#include <string.h> #include <string.h>
#include "cryptlib.h" #include "cryptlib.h"
#include <openssl/crypto.h> #include <openssl/crypto.h>
#include "buildinf.h"
#ifdef MK1MF_BUILD
# include "mk1mfinf.h"
#else
# include "buildinf.h"
#endif
const char *SSLeay_version(int t) const char *SSLeay_version(int t)
{ {
......
...@@ -401,6 +401,41 @@ vclean: ...@@ -401,6 +401,41 @@ vclean:
\$(RM) \$(OUT_D)$o*.* \$(RM) \$(OUT_D)$o*.*
EOF 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 (<IN>)
{
if (/^\#ifdef $platform_cpp_symbol$/)
{
while (<IN>) { 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 <<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) */
#define CFLAGS "$cc $cflags"
#define PLATFORM "$platform"
EOF
printf OUT " #define DATE \"%s\"\n", scalar gmtime();
printf OUT "#endif\n";
close(OUT);
############################################# #############################################
# We parse in input file and 'store' info for later printing. # We parse in input file and 'store' info for later printing.
...@@ -730,6 +765,7 @@ sub cc_compile_target ...@@ -730,6 +765,7 @@ sub cc_compile_target
local($target,$source,$ex_flags)=@_; local($target,$source,$ex_flags)=@_;
local($ret); local($ret);
$ex_flags.=" -DMK1MF_BUILD -D$platform_cpp_symbol" if ($source =~ /cversion/);
$target =~ s/\//$o/g if $o ne "/"; $target =~ s/\//$o/g if $o ne "/";
$source =~ s/\//$o/g if $o ne "/"; $source =~ s/\//$o/g if $o ne "/";
$ret ="$target: \$(SRC_D)$o$source\n\t"; $ret ="$target: \$(SRC_D)$o$source\n\t";
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册