diff options
author | Andy Polyakov <appro@openssl.org> | 2012-10-27 21:16:45 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2012-10-27 21:16:45 +0000 |
commit | fe5772e9d0b8ec75087baaff2f6cdd961b36e253 (patch) | |
tree | 0b862b3a2ff7885b56d53f9a625e098cb7c77dde /util | |
parent | 8be18f3459ffc3357b4981ddf34ee65892ec5c57 (diff) |
util/fipslink.pl: allow for single-step link.
Diffstat (limited to 'util')
-rw-r--r-- | util/fipslink.pl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/util/fipslink.pl b/util/fipslink.pl index 8b6fbad7d8..2eb033b7c5 100644 --- a/util/fipslink.pl +++ b/util/fipslink.pl @@ -33,14 +33,23 @@ check_hash($sha1_exe, "fipscanister.lib"); print "Integrity check OK\n"; -print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n"; -system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c"; -die "First stage Compile failure" if $? != 0; +if (grep /fips_premain\.obj/,@ARGV) { + print "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c\n"; + system "$fips_cc $fips_cc_args $fips_libdir/fips_premain.c"; + die "First stage Compile failure" if $? != 0; +} elsif (!defined($ENV{FIPS_SIG})) { + die "no fips_premain.obj"; +} print "$fips_link @ARGV\n"; system "$fips_link @ARGV"; die "First stage Link failure" if $? != 0; +if (defined($ENV{FIPS_SIG})) { + system "$ENV{FIPS_SIG} $fips_target\n" + die "$ENV{FIPS_SIG} $fips_target failed" if $? != 0; + exit; +} print "$fips_premain_dso $fips_target\n"; system("$fips_premain_dso $fips_target >$fips_target.sha1"); |