]> git.ipfire.org Git - thirdparty/openssl.git/blame - util/fipsdist.pl
More tweaks for comments due indent issues
[thirdparty/openssl.git] / util / fipsdist.pl
CommitLineData
94a0a96c
DSH
1
2# FIPS distribution filter.
3# Takes tarball listing and removes unnecessary files and directories.
4#
5
6
7my $objs = "";
8foreach (split / /, "FIPS_EX_OBJ AES_ENC BN_ASM DES_ENC SHA1_ASM_OBJ MODES_ASM_OBJ")
9 {
10 $objs .= " $ENV{$_}";
11 }
12
ed1afd32
DSH
13my $noec2m = 0;
14
94a0a96c
DSH
15
16my @objlist = split / /, $objs;
17
18foreach (@objlist) { $tarobjs{"$1.c"} = 1 if /([^\/]+).o$/};
19
20$tarobjs{"ncbc_enc.c"} = 1;
1ccc003b 21$tarobjs{"mem_clr.c"} = 1;
524289ba 22$tarobjs{"ppccap.c"} = 1;
dbfa2369 23$tarobjs{"sparcv9cap.c"} = 1;
513e28c0 24$tarobjs{"armcap.c"} = 1;
94a0a96c
DSH
25
26foreach (split / /, $ENV{LINKDIRS} ) { $cdirs{$_} = 1 };
27
28$cdirs{perlasm} = 1;
29
ed1afd32
DSH
30$noec2m = 1 if (exists $ENV{NOEC2M});
31
32if ($noec2m)
45826265
DSH
33 {
34 delete $tarobjs{"bn_gf2m.c"};
35 delete $tarobjs{"ec2_mult.c"};
36 delete $tarobjs{"ec2_smpl.c"};
37 }
38
c105c96b
DSH
39my %keep =
40 (
41 "Makefile.fips" => 1,
42 "Makefile.shared" => 1,
43 "README.FIPS" => 1,
5024b79f 44 "README.ECC" => 1,
c105c96b
DSH
45 "e_os.h" => 1,
46 "e_os2.h" => 1,
47 "Configure" => 1,
48 "config" => 1,
49 );
50
94a0a96c
DSH
51while (<STDIN>)
52 {
53 chomp;
c105c96b
DSH
54 # Keep top level files in list
55 if (!/\// && -f $_)
56 {
57 next unless exists $keep{$_};
58 }
59 else
60 {
61 next unless (/^(fips\/|crypto|util|test|include|ms)/);
62 }
94a0a96c
DSH
63 if (/^crypto\/([^\/]+)/)
64 {
65 # Skip unused directories under crypto/
66 next if -d "crypto/$1" && !exists $cdirs{$1};
ed1afd32
DSH
67 # Skip GF2m assembly language perl scripts
68 next if $noec2m && /gf2m\.pl/;
b63698b7 69 next if /vpaes-\w*\.pl/;
94a0a96c 70 # Keep assembly language dir, Makefile or certain extensions
524289ba 71 if (!/\/asm\// && !/\/Makefile$/ && !/\.(in|pl|h|S)$/)
94a0a96c
DSH
72 {
73 # If C source file must be on list.
74 next if !/(\w+\.c)$/ || !exists $tarobjs{$1};
75 }
76 }
c105c96b
DSH
77 if (/^test\//)
78 {
79 next unless /Makefile/ || /dummytest.c/;
80 }
94a0a96c
DSH
81 print "$_\n";
82 }
83exit 1;