common0.tmpl 1.29 KB
{- # -*- Mode: perl -*-

 # Commonly used list of generated files
 # The reason for the complexity is that the build.info files provide
 # GENERATE rules for *all* platforms without discrimination, while the
 # build files only want those for a particular build.  Therefore, we
 # need to extrapolate exactly what we need to generate.  The way to do
 # that is to extract all possible source files from diverse tables and
 # filter out all that are not generated
 my %generatables =
     map { $_ => 1 }
     ( # The sources of stuff may be generated
         ( map { @{$unified_info{sources}->{$_}} }
               keys %{$unified_info{sources}} ),
         $disabled{shared}
             ? ()
             : ( map { @{$unified_info{shared_sources}->{$_}} }
                 keys %{$unified_info{shared_sources}} ),
         # Things we explicitly depend on are usually generated
         ( map { $_ eq "" ? () : @{$unified_info{depends}->{$_}} }
               keys %{$unified_info{depends}} ));
 our @generated =
     sort ( ( grep { defined $unified_info{generate}->{$_} }
              sort keys %generatables ),
            # Scripts are assumed to be generated, so add thhem too
            ( grep { defined $unified_info{sources}->{$_} }
              @{$unified_info{scripts}} ) );

 # Avoid strange output
 "";
-}