ó  îRac@sédZddlmZddlZddlZddlZddlZddlZddlZddl Z ej j ej j e ƒƒZejdejƒZd„Zdefd„ƒYZedkråe jee jd ƒƒndS( suUtility functions for Windows builds. These functions are executed via gyp-win-tool when using the ninja generator. iÿÿÿÿ(tprint_functionNs/OUT:(?P.+)$cCs8tƒ}|j|ƒ}|dk r4tj|ƒndS(N(tWinTooltDispatchtNonetsystexit(targstexecutort exit_code((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytmains  RcBs•eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„ZRS(s†This class performs all the Windows tooling steps. The methods can either be executed directly, or dispatched from an argument list.cCs±t|ƒdkr!tdƒ‚n|ddkr5dSd}xU|D]M}tj|ƒ}|rBtjddd|jd ƒtj ƒfƒ}PqBqBW|dkr£dS||d RHRa(RR(tembed_manifestR RYRZR[R\R]R_t variablest add_to_ldtassert_manifestt our_manifesttour_ftassert_ftour_datat assert_dataRd((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytExecLinkWithManifests†sX    '       c Gs‹|j|ƒ}tj|dtd|dtjdtjƒ}|jƒ\}}x3|jƒD]%}|r[d|kr[t|ƒq[q[W|j S(s›Run manifest tool with environment set. Strip out undesirable warning (some XML blocks are recognized by the OS loader, but not the manifest tool).RFRRGRHs#manifest authoring warning 81010002( R,RIRJRDRLRMRNRORQRR(RR(RRtpopenR RURV((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytExecManifestWrapperÒsc GsZ|\}}}t|dƒ6}|jd|tjj|ƒjddƒfƒWdQXdS(sÑCreates a resource file pointing a SxS assembly manifest. |args| is tuple containing path to resource file, path to manifest file and resource name which can be "1" (for executables) or "2" (for DLLs).twbs(#include %s RT_MANIFEST "%s"s\REN(R$RaRR/tabspathR!(RR(Rt manifest_patht resource_patht resource_nametoutput((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytExecManifestToRcßs  c sþddgt| ƒd|d|d|d|d|d||g } |j|ƒ} tj| d td | d tjd tjƒ} | jƒ\} }| jƒ}d‰t ‡fd†|Dƒƒ}x7|D]/}|j ˆƒ rÄ||krÄt |ƒqÄqÄW| j S(sjFilter noisy filenames output from MIDL compile step that isn't quietable via command line flags. tmidls/nologos/outs/tlbs/hs/dlldatas/iids/proxyRFRRGRHs Processing s64 bit Processing c3s0|]&}|jˆƒrtjj|ƒVqdS(N(RPRR/tbasename(t.0tx(tprefixes(sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pys s(s Processing s64 bit Processing ( RKR,RIRJRDRLRMRNROtsetRPRQRR(RR(toutdirttlbthtdlldatatiidtproxytidltflagsRRRuR RUtlinest processingRV((R‚sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytExecMidlWrapperés(    c Gs¯|j|ƒ}tj|dtd|dtjdtjƒ}|jƒ\}}xW|jƒD]I}|jdƒ r[|jdƒ r[|jdƒ r[|r[t |ƒq[q[W|j S(s/Filter logo banner from invocations of asm.exe.RFRRGRHs#Copyright (C) Microsoft CorporationsMicrosoft (R) Macro Assemblers Assembling: ( R,RIRJRDRLRMRNRORPRQRR(RR(RRRuR RURV((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pytExecAsmWrappersc GsŸ|j|ƒ}tj|dtd|dtjdtjƒ}|jƒ\}}xG|jƒD]9}|jdƒ r[|jdƒ r[|r[t |ƒq[q[W|j S(sgFilter logo banner from invocations of rc.exe. Older versions of RC don't support the /nologo flag.RFRRGRHs+Microsoft (R) Windows (R) Resource Compilers#Copyright (C) Microsoft Corporation( R,RIRJRDRLRMRNRORPRQRR(RR(RRRuR RURV((sj/opt/alt/alt-nodejs8/root/usr/lib/node_modules/npm/node_modules.bundled/node-gyp/gyp/pylib/gyp/win_tool.pyt ExecRcWrapperscGs|j|ƒ}x6tjjƒD]%\}}||kr||| s        ÿ