2 # FIPS distribution filter.
3 # Takes tarball listing and removes unnecessary files and directories.
8 foreach (split / /, "FIPS_EX_OBJ AES_ENC BN_ASM DES_ENC SHA1_ASM_OBJ MODES_ASM_OBJ")
14 my @objlist = split / /, $objs;
16 foreach (@objlist) { $tarobjs{"$1.c"} = 1 if /([^\/]+).o$/};
18 $tarobjs{"ncbc_enc.c"} = 1;
20 foreach (split / /, $ENV{LINKDIRS} ) { $cdirs{$_} = 1 };
27 # Skip directories but leave top level files.
28 next unless (/^(fips\/|crypto|util|test|include|ms)/ || (!/\// && -f $_));
29 if (/^crypto\/([^\/]+)/)
31 # Skip unused directories under crypto/
32 next if -d "crypto/$1" && !exists $cdirs{$1};
33 # Keep assembly language dir, Makefile or certain extensions
34 if (!/\/asm\// && !/\/Makefile$/ && !/\.(in|pl|h)$/)
36 # If C source file must be on list.
37 next if !/(\w+\.c)$/ || !exists $tarobjs{$1};