Now that Configure doesn't produce tools/c_rehash, mk1mf has to do it

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Richard Levitte 2016-01-24 17:07:27 +01:00
parent 3ea75c6328
commit e8cdcd52b3
4 changed files with 25 additions and 7 deletions

View file

@ -751,9 +751,10 @@ headers: \$(HEADER)
lib: \$(LIBS_DEP) \$(E_SHLIB) lib: \$(LIBS_DEP) \$(E_SHLIB)
exe: apps testapps exe: apps tools testapps
apps: \$(BIN_D)$o\$(E_EXE)$exep apps: \$(BIN_D)$o\$(E_EXE)$exep \$(BIN_D)${o}CA.pl
testapps: \$(T_EXE) testapps: \$(T_EXE)
tools: \$(BIN_D)${o}c_rehash
install: all install: all
\$(MKDIR) \"\$(INSTALLTOP)\" \$(MKDIR) \"\$(INSTALLTOP)\"
@ -778,7 +779,7 @@ reallyclean:
EOF EOF
$rules .= &do_rehash_rule("rehash.time", "certs apps"); $rules .= &do_rehash_rule("rehash.time", "certs/demo apps tools");
$rules .= &do_test_rule("test", "rehash.time", "run_tests.pl"); $rules .= &do_test_rule("test", "rehash.time", "run_tests.pl");
my $platform_cpp_symbol = "MK1MF_PLATFORM_$platform"; my $platform_cpp_symbol = "MK1MF_PLATFORM_$platform";
@ -807,7 +808,7 @@ if (open(IN,"crypto/buildinf.h"))
} }
open (OUT,">>crypto/buildinf.h") || die "Can't open buildinf.h"; open (OUT,">>crypto/buildinf.h") || die "Can't open buildinf.h";
printf OUT <<EOF; printf OUT <<"EOF";
#ifdef $platform_cpp_symbol #ifdef $platform_cpp_symbol
/* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */ /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
#define CFLAGS "compiler: $cc $cflags" #define CFLAGS "compiler: $cc $cflags"
@ -998,6 +999,9 @@ if ($fips)
$rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)", ($fips && !$shlib) ? 2 : 0); $rules.=&do_link_rule("\$(BIN_D)$o\$(E_EXE)$exep","\$(E_OBJ)","\$(LIBS_DEP)","\$(L_LIBS) \$(EX_LIBS)", ($fips && !$shlib) ? 2 : 0);
$rules.=&do_dofile_rule("\$(BIN_D)","c_rehash","tools/c_rehash.in");
$rules.=&do_dofile_rule("\$(BIN_D)","CA.pl","apps/CA.pl.in");
print $defs; print $defs;
if ($platform eq "linux-elf") { if ($platform eq "linux-elf") {
@ -1327,6 +1331,7 @@ sub do_copy_rule
local($to,$files,$p)=@_; local($to,$files,$p)=@_;
local($ret,$_,$n,$pp); local($ret,$_,$n,$pp);
$files =~ s/\//$o/g if $o ne '/'; $files =~ s/\//$o/g if $o ne '/';
foreach (split(/\s+/,$files)) foreach (split(/\s+/,$files))
{ {
@ -1339,6 +1344,18 @@ sub do_copy_rule
return($ret); return($ret);
} }
sub do_dofile_rule
{
(my $to, my $file, my $tmpl) = @_;
$file =~ s|/|$o|g if $o ne '/';
return <<"EOF";
$to${o}$file: $tmpl
\$(PERL) "-I." "-Mconfigdata" util/dofile.pl "$tmpl" > "$to${o}$file.new"
mv "$to${o}$file.new" "$to${o}$file"
EOF
}
# Options picked up from the OPTIONS line in the top level Makefile # Options picked up from the OPTIONS line in the top level Makefile
# generated by Configure. # generated by Configure.

View file

@ -100,7 +100,8 @@ sub do_rehash_rule {
$target: $deps $target: $deps
set OPENSSL=\$(BIN_D)${o}openssl.exe set OPENSSL=\$(BIN_D)${o}openssl.exe
set OPENSSL_DEBUG_MEMORY=on set OPENSSL_DEBUG_MEMORY=on
\$(PERL) tools/c_rehash certs/demo \$(PERL) \$(BIN_D)${o}c_rehash certs/demo
echo off > $target
EOF EOF
return $ret return $ret
} }

View file

@ -306,7 +306,7 @@ sub do_rehash_rule {
$target: $deps $target: $deps
set OPENSSL=\$(BIN_D)${o}openssl.exe set OPENSSL=\$(BIN_D)${o}openssl.exe
set OPENSSL_DEBUG_MEMORY=on set OPENSSL_DEBUG_MEMORY=on
\$(PERL) tools/c_rehash certs/demo \$(PERL) \$(BIN_D)${o}c_rehash certs/demo
echo off > $target echo off > $target
EOF EOF
return $ret return $ret

View file

@ -193,7 +193,7 @@ $target: $deps
(OPENSSL="`pwd`/util/opensslwrap.sh"; \\ (OPENSSL="`pwd`/util/opensslwrap.sh"; \\
OPENSSL_DEBUG_MEMORY=on; \\ OPENSSL_DEBUG_MEMORY=on; \\
export OPENSSL OPENSSL_DEBUG_MEMORY; \\ export OPENSSL OPENSSL_DEBUG_MEMORY; \\
\$(PERL) tools/c_rehash certs/demo; \\ \$(PERL) \$(BIN_D)${o}c_rehash certs/demo; \\
touch $target) touch $target)
EOF EOF
return $ret return $ret