X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=util%2Ffipsdist.pl;h=b191fbe41e0b0d6abb85777c80ec0e2bb5790bc3;hp=20c3999c935beada5a24e010c1882b370811030d;hb=daddd9a950e491c31f9500d5e570bc7eb96b2823;hpb=f6e76a67f0319413fa84917e615ed52b122c5265 diff --git a/util/fipsdist.pl b/util/fipsdist.pl index 20c3999c93..b191fbe41e 100644 --- a/util/fipsdist.pl +++ b/util/fipsdist.pl @@ -10,33 +10,74 @@ foreach (split / /, "FIPS_EX_OBJ AES_ENC BN_ASM DES_ENC SHA1_ASM_OBJ MODES_ASM_O $objs .= " $ENV{$_}"; } +my $noec2m = 0; + my @objlist = split / /, $objs; foreach (@objlist) { $tarobjs{"$1.c"} = 1 if /([^\/]+).o$/}; $tarobjs{"ncbc_enc.c"} = 1; +$tarobjs{"mem_clr.c"} = 1; +$tarobjs{"ppccap.c"} = 1; +$tarobjs{"sparcv9cap.c"} = 1; +$tarobjs{"armcap.c"} = 1; foreach (split / /, $ENV{LINKDIRS} ) { $cdirs{$_} = 1 }; $cdirs{perlasm} = 1; +$noec2m = 1 if (exists $ENV{NOEC2M}); + +if ($noec2m) + { + delete $tarobjs{"bn_gf2m.c"}; + delete $tarobjs{"ec2_mult.c"}; + delete $tarobjs{"ec2_smpl.c"}; + } + +my %keep = + ( + "Makefile.fips" => 1, + "Makefile.shared" => 1, + "README.FIPS" => 1, + "README.ECC" => 1, + "e_os.h" => 1, + "e_os2.h" => 1, + "Configure" => 1, + "config" => 1, + ); + while () { chomp; - # Skip directories but leave top level files. - next unless (/^(fips\/|crypto|util|test|include|ms)/ || (!/\// && -f $_)); + # Keep top level files in list + if (!/\// && -f $_) + { + next unless exists $keep{$_}; + } + else + { + next unless (/^(fips\/|crypto|util|test|include|ms)/); + } if (/^crypto\/([^\/]+)/) { # Skip unused directories under crypto/ next if -d "crypto/$1" && !exists $cdirs{$1}; + # Skip GF2m assembly language perl scripts + next if $noec2m && /gf2m\.pl/; + next if /vpaes-\w*\.pl/; # Keep assembly language dir, Makefile or certain extensions - if (!/\/asm\// && !/\/Makefile$/ && !/\.(in|pl|h)$/) + if (!/\/asm\// && !/\/Makefile$/ && !/\.(in|pl|h|S)$/) { # If C source file must be on list. next if !/(\w+\.c)$/ || !exists $tarobjs{$1}; } } + if (/^test\//) + { + next unless /Makefile/ || /dummytest.c/; + } print "$_\n"; } exit 1;