parameters: (self, _, config)
return_statement: return outdir, output, variables, flags
docstring: Determine the implicit outputs for an idl file. Returns output
      directory, outputs, and variables and flags that are required.
docstring_summary: Determine the implicit outputs for an idl file. Returns output
      directory, outputs, and variables and flags that are required.
docstring_tokens: Determine the implicit outputs for an idl file . Returns output directory outputs and variables and flags that are required .
function: def GetIdlBuildData(self, _, config):
      """Determine the implicit outputs for an idl file. Returns output
      directory, outputs, and variables and flags that are required."""
      config = self._TargetConfig(config)
      midl_get = self._GetWrapper(self, self.msvs_settings[config], 'VCMIDLTool')
  
      def midl(name, default=None):
        return self.ConvertVSMacros(midl_get(name, default=default), config=config)
  
      tlb = midl('TypeLibraryName', default='${root}.tlb')
      header = midl('HeaderFileName', default='${root}.h')
      dlldata = midl('DLLDataFileName', default='dlldata.c')
      iid = midl('InterfaceIdentifierFileName', default='${root}_i.c')
      proxy = midl('ProxyFileName', default='${root}_p.c')
      # Note that .tlb is not included in the outputs as it is not always
      # generated depending on the content of the input idl file.
      outdir = midl('OutputDirectory', default='')
      output = [header, dlldata, iid, proxy]
      variables = [('tlb', tlb), ('h', header), ('dlldata', dlldata), ('iid', iid), ('proxy', proxy)]
      # TODO(scottmg): Are there configuration settings to set these flags?
      target_platform = self.GetArch(config)
      if target_platform == 'x86':
        target_platform = 'win32'
      flags = ['/char', 'signed', '/env', target_platform, '/Oicf']
      return outdir, output, variables, flags
function_tokens: def GetIdlBuildData ( self , _ , config ) : config = self . _TargetConfig ( config ) midl_get = self . _GetWrapper ( self , self . msvs_settings [ config ] , 'VCMIDLTool' ) def midl ( name , default = None ) : return self . ConvertVSMacros ( midl_get ( name , default = default ) , config = config ) tlb = midl ( 'TypeLibraryName' , default = '${root}.tlb' ) header = midl ( 'HeaderFileName' , default = '${root}.h' ) dlldata = midl ( 'DLLDataFileName' , default = 'dlldata.c' ) iid = midl ( 'InterfaceIdentifierFileName' , default = '${root}_i.c' ) proxy = midl ( 'ProxyFileName' , default = '${root}_p.c' ) # Note that .tlb is not included in the outputs as it is not always # generated depending on the content of the input idl file. outdir = midl ( 'OutputDirectory' , default = '' ) output = [ header , dlldata , iid , proxy ] variables = [ ( 'tlb' , tlb ) , ( 'h' , header ) , ( 'dlldata' , dlldata ) , ( 'iid' , iid ) , ( 'proxy' , proxy ) ] # TODO(scottmg): Are there configuration settings to set these flags? target_platform = self . GetArch ( config ) if target_platform == 'x86' : target_platform = 'win32' flags = [ '/char' , 'signed' , '/env' , target_platform , '/Oicf' ] return outdir , output , variables , flags