parameters: (master_ninja, embed_manifest)
docstring: Adds link rules for Windows platform to |master_ninja|.
docstring_summary: Adds link rules for Windows platform to |master_ninja|.
docstring_tokens: Adds link rules for Windows platform to |master_ninja| .
function: def _AddWinLinkRules(master_ninja, embed_manifest):
    """Adds link rules for Windows platform to |master_ninja|."""
    def FullLinkCommand(ldcmd, out, binary_type):
      resource_name = {
        'exe': '1',
        'dll': '2',
      }[binary_type]
      return '%(python)s gyp-win-tool link-with-manifests $arch %(embed)s ' \
             '%(out)s "%(ldcmd)s" %(resname)s $mt $rc "$intermediatemanifest" ' \
             '$manifests' % {
                 'python': sys.executable,
                 'out': out,
                 'ldcmd': ldcmd,
                 'resname': resource_name,
                 'embed': embed_manifest }
    rule_name_suffix = _GetWinLinkRuleNameSuffix(embed_manifest)
    use_separate_mspdbsrv = (
        int(os.environ.get('GYP_USE_SEPARATE_MSPDBSRV', '0')) != 0)
    dlldesc = 'LINK%s(DLL) $binary' % rule_name_suffix.upper()
    dllcmd = ('%s gyp-win-tool link-wrapper $arch %s '
              '$ld /nologo $implibflag /DLL /OUT:$binary '
              '@$binary.rsp' % (sys.executable, use_separate_mspdbsrv))
    dllcmd = FullLinkCommand(dllcmd, '$binary', 'dll')
    master_ninja.rule('solink' + rule_name_suffix,
                      description=dlldesc, command=dllcmd,
                      rspfile='$binary.rsp',
                      rspfile_content='$libs $in_newline $ldflags',
                      restat=True,
                      pool='link_pool')
    master_ninja.rule('solink_module' + rule_name_suffix,
                      description=dlldesc, command=dllcmd,
                      rspfile='$binary.rsp',
                      rspfile_content='$libs $in_newline $ldflags',
                      restat=True,
                      pool='link_pool')
    # Note that ldflags goes at the end so that it has the option of
    # overriding default settings earlier in the command line.
    exe_cmd = ('%s gyp-win-tool link-wrapper $arch %s '
               '$ld /nologo /OUT:$binary @$binary.rsp' %
                (sys.executable, use_separate_mspdbsrv))
    exe_cmd = FullLinkCommand(exe_cmd, '$binary', 'exe')
    master_ninja.rule('link' + rule_name_suffix,
                      description='LINK%s $binary' % rule_name_suffix.upper(),
                      command=exe_cmd,
                      rspfile='$binary.rsp',
                      rspfile_content='$in_newline $libs $ldflags',
                      pool='link_pool')
function_tokens: def _AddWinLinkRules ( master_ninja , embed_manifest ) : def FullLinkCommand ( ldcmd , out , binary_type ) : resource_name = { 'exe' : '1' , 'dll' : '2' , } [ binary_type ] return '%(python)s gyp-win-tool link-with-manifests $arch %(embed)s ' '%(out)s "%(ldcmd)s" %(resname)s $mt $rc "$intermediatemanifest" ' '$manifests' % { 'python' : sys . executable , 'out' : out , 'ldcmd' : ldcmd , 'resname' : resource_name , 'embed' : embed_manifest } rule_name_suffix = _GetWinLinkRuleNameSuffix ( embed_manifest ) use_separate_mspdbsrv = ( int ( os . environ . get ( 'GYP_USE_SEPARATE_MSPDBSRV' , '0' ) ) != 0 ) dlldesc = 'LINK%s(DLL) $binary' % rule_name_suffix . upper ( ) dllcmd = ( '%s gyp-win-tool link-wrapper $arch %s ' '$ld /nologo $implibflag /DLL /OUT:$binary ' '@$binary.rsp' % ( sys . executable , use_separate_mspdbsrv ) ) dllcmd = FullLinkCommand ( dllcmd , '$binary' , 'dll' ) master_ninja . rule ( 'solink' + rule_name_suffix , description = dlldesc , command = dllcmd , rspfile = '$binary.rsp' , rspfile_content = '$libs $in_newline $ldflags' , restat = True , pool = 'link_pool' ) master_ninja . rule ( 'solink_module' + rule_name_suffix , description = dlldesc , command = dllcmd , rspfile = '$binary.rsp' , rspfile_content = '$libs $in_newline $ldflags' , restat = True , pool = 'link_pool' ) # Note that ldflags goes at the end so that it has the option of # overriding default settings earlier in the command line. exe_cmd = ( '%s gyp-win-tool link-wrapper $arch %s ' '$ld /nologo /OUT:$binary @$binary.rsp' % ( sys . executable , use_separate_mspdbsrv ) ) exe_cmd = FullLinkCommand ( exe_cmd , '$binary' , 'exe' ) master_ninja . rule ( 'link' + rule_name_suffix , description = 'LINK%s $binary' % rule_name_suffix . upper ( ) , command = exe_cmd , rspfile = '$binary.rsp' , rspfile_content = '$in_newline $libs $ldflags' , pool = 'link_pool' )