lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 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 | -} |