X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=util%2Ffipsdist.pl;h=5e511f7916d5bd871dab6f56c7bd5612b30bd139;hp=fa1d4d8f9a7e1ba17996853200a97152d8daa3ba;hb=ed1afd327d2eebedcda330e7e230a694a036bdb2;hpb=6d7f706d0897d64d3a47262e219f0d242267327f diff --git a/util/fipsdist.pl b/util/fipsdist.pl index fa1d4d8f9a..5e511f7916 100644 --- a/util/fipsdist.pl +++ b/util/fipsdist.pl @@ -10,33 +10,70 @@ 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; 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, + "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)/ || (!/\// && -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/; # 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;