1{- # -*- Mode: perl -*- 2 3 # Commonly used list of generated files 4 # The reason for the complexity is that the build.info files provide 5 # GENERATE rules for *all* platforms without discrimination, while the 6 # build files only want those for a particular build. Therefore, we 7 # need to extrapolate exactly what we need to generate. The way to do 8 # that is to extract all possible source files from diverse tables and 9 # filter out all that are not generated 10 my %generatables = 11 map { $_ => 1 } 12 ( # The sources of stuff may be generated 13 ( map { @{$unified_info{sources}->{$_}} } 14 keys %{$unified_info{sources}} ), 15 $disabled{shared} 16 ? () 17 : ( map { @{$unified_info{shared_sources}->{$_}} } 18 keys %{$unified_info{shared_sources}} ), 19 # Things we explicitly depend on are usually generated 20 ( map { $_ eq "" ? () : @{$unified_info{depends}->{$_}} } 21 keys %{$unified_info{depends}} )); 22 our @generated = 23 sort ( ( grep { defined $unified_info{generate}->{$_} } 24 sort keys %generatables ), 25 # Scripts are assumed to be generated, so add them too 26 ( grep { defined $unified_info{sources}->{$_} } 27 @{$unified_info{scripts}} ) ); 28 29 # Avoid strange output 30 ""; 31-} 32