parameters: (targets, data)
docstring: Expands dependencies specified as build_file:*.
  
    For each target in |targets|, examines sections containing links to other
    targets.  If any such section contains a link of the form build_file:*, it
    is taken as a wildcard link, and is expanded to list each target in
    build_file.  The |data| dict provides access to build file dicts.
  
    Any target that does not wish to be included by wildcard can provide an
    optional "suppress_wildcard" key in its target dict.  When present and
    true, a wildcard dependency link will not include such targets.
  
    All dependency names, including the keys to |targets| and the values in each
    dependency list, must be qualified when this function is called.
docstring_summary: Expands dependencies specified as build_file:*.
docstring_tokens: Expands dependencies specified as build_file : * .
function: def ExpandWildcardDependencies(targets, data):
      """Expands dependencies specified as build_file:*.
  
    For each target in |targets|, examines sections containing links to other
    targets.  If any such section contains a link of the form build_file:*, it
    is taken as a wildcard link, and is expanded to list each target in
    build_file.  The |data| dict provides access to build file dicts.
  
    Any target that does not wish to be included by wildcard can provide an
    optional "suppress_wildcard" key in its target dict.  When present and
    true, a wildcard dependency link will not include such targets.
  
    All dependency names, including the keys to |targets| and the values in each
    dependency list, must be qualified when this function is called.
    """
  
      for target, target_dict in targets.items():
          target_build_file = gyp.common.BuildFile(target)
          for dependency_key in dependency_sections:
              dependencies = target_dict.get(dependency_key, [])
  
              # Loop this way instead of "for dependency in" or "for index in range"
              # because the dependencies list will be modified within the loop body.
              index = 0
              while index < len(dependencies):
                  (
                      dependency_build_file,
                      dependency_target,
                      dependency_toolset,
                  ) = gyp.common.ParseQualifiedTarget(dependencies[index])
                  if dependency_target != "*" and dependency_toolset != "*":
                      # Not a wildcard.  Keep it moving.
                      index = index + 1
                      continue
  
                  if dependency_build_file == target_build_file:
                      # It's an error for a target to depend on all other targets in
                      # the same file, because a target cannot depend on itself.
                      raise GypError(
                          "Found wildcard in "
                          + dependency_key
                          + " of "
                          + target
                          + " referring to same build file"
                      )
  
                  # Take the wildcard out and adjust the index so that the next
                  # dependency in the list will be processed the next time through the
                  # loop.
                  del dependencies[index]
                  index = index - 1
  
                  # Loop through the targets in the other build file, adding them to
                  # this target's list of dependencies in place of the removed
                  # wildcard.
                  dependency_target_dicts = data[dependency_build_file]["targets"]
                  for dependency_target_dict in dependency_target_dicts:
                      if int(dependency_target_dict.get("suppress_wildcard", False)):
                          continue
                      dependency_target_name = dependency_target_dict["target_name"]
                      if (
                          dependency_target != "*"
                          and dependency_target != dependency_target_name
                      ):
                          continue
                      dependency_target_toolset = dependency_target_dict["toolset"]
                      if (
                          dependency_toolset != "*"
                          and dependency_toolset != dependency_target_toolset
                      ):
                          continue
                      dependency = gyp.common.QualifiedTarget(
                          dependency_build_file,
                          dependency_target_name,
                          dependency_target_toolset,
                      )
                      index = index + 1
                      dependencies.insert(index, dependency)
  
                  index = index + 1
function_tokens: def ExpandWildcardDependencies ( targets , data ) : for target , target_dict in targets . items ( ) : target_build_file = gyp . common . BuildFile ( target ) for dependency_key in dependency_sections : dependencies = target_dict . get ( dependency_key , [ ] ) # Loop this way instead of "for dependency in" or "for index in range" # because the dependencies list will be modified within the loop body. index = 0 while index < len ( dependencies ) : ( dependency_build_file , dependency_target , dependency_toolset , ) = gyp . common . ParseQualifiedTarget ( dependencies [ index ] ) if dependency_target != "*" and dependency_toolset != "*" : # Not a wildcard.  Keep it moving. index = index + 1 continue if dependency_build_file == target_build_file : # It's an error for a target to depend on all other targets in # the same file, because a target cannot depend on itself. raise GypError ( "Found wildcard in " + dependency_key + " of " + target + " referring to same build file" ) # Take the wildcard out and adjust the index so that the next # dependency in the list will be processed the next time through the # loop. del dependencies [ index ] index = index - 1 # Loop through the targets in the other build file, adding them to # this target's list of dependencies in place of the removed # wildcard. dependency_target_dicts = data [ dependency_build_file ] [ "targets" ] for dependency_target_dict in dependency_target_dicts : if int ( dependency_target_dict . get ( "suppress_wildcard" , False ) ) : continue dependency_target_name = dependency_target_dict [ "target_name" ] if ( dependency_target != "*" and dependency_target != dependency_target_name ) : continue dependency_target_toolset = dependency_target_dict [ "toolset" ] if ( dependency_toolset != "*" and dependency_toolset != dependency_target_toolset ) : continue dependency = gyp . common . QualifiedTarget ( dependency_build_file , dependency_target_name , dependency_target_toolset , ) index = index + 1 dependencies . insert ( index , dependency ) index = index + 1