ó L¶Zc@s²ddlZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z ddlmZdefd „ƒYZdS( iÿÿÿÿN(t MSVCCompiler(t UnixCCompiler(tMingw32CCompiler(tcustomize_compileri(tutilst CCompilercBsqeZdZd ZdZejejd d„Z d„Z d„Z d„Z d„Z d„Zd„Zd„ZRS( tcCs:|dkr‹|dkr]|jdƒdksB|jdƒdkrKd}q]tjjƒ}n|dkrš|dkrštd|ƒ‚qšntjjƒ}|dkrÈdd lm}|jƒ|_ ntjj d |ƒ|_ t |j ƒt |j t ƒrT|j jd gkr#g|j _n|j jdkrT|j j d g|j _qTn|jƒríd tjd|D]6}t}d|d|d|d|d|g}xè|D]à}|rüPn|jdƒr|d}nx±|D]©}|r/Pntjj||ƒ}tjj|ƒr|jƒr`tjddƒ\}}tj|ƒd|g}tj||g|dtjƒ}t |dƒ~}xt|j!ƒjƒD]`} d| krÜ| jƒ}x?|D]4}|jdƒr| j|ddƒt"}PqqWqÜqÜWWdQX|jƒtj#|ƒqÈtj||gdtjƒ}|jƒ\} } x4| jdƒjƒD]} | j| ƒt"}Pq§WqqWqìW|s°| j|ƒq°q°Wt| ƒd krt$d!d"j| ƒƒ‚n| S(#NR+t;s dumpbin.exes-symbolsiR/RtSHELLssh.exes--mode=executetDLLTOOLs dlltool.exes --identifys-print-search-dirststdouttasciis libraries: s lib%s.dll.aslib%s.as%s.dll.as%s.as%s.libRWitprefixsg-ir-win32-resolve-lib-s-out:trt__IMPORT_DESCRIPTOR_is.dllis4ERROR: can't resolve libraries to shared libraries: s, (%R!R"R#RR_R1R2t version_infotmajorRtget_libtool_commandtnametwhichRPt subprocesstPopenR$tPIPEt communicatetdecodet splitlinesR`tlenR8tFalseR6R&texiststtempfiletmkstemptclosetcalltopentreadtTruetunlinkR(R'R;toptionsR9t libsearchtlibpathtlibR:tproctotetlinetshlibst not_resolvedtfoundt candidatestltctimplibttmp_fdt tmp_filenamet output_flagt tmp_fileobjt line_tokenstitem((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pytresolve_windows_libsýs   ,( " #               cCst|jtƒrtStSdS(N(RRRRR…(R'((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyR!esc Cs'g}g}g}x|D]ý}tj|ƒ}|jdƒrW|j|tdƒƒq|jdƒrÎ|tdƒ}|jdƒ}|dkr |} d} n|| } ||d} |j| | fƒq|jdƒrú|j|tdƒfƒq|d kr|j|ƒqqW|||fS(Ns-Is-DRWiÿÿÿÿis-Us-g3s-ggdb3s-gstabs3s-gcoff3s-gxcoff3s-gvms3(s-g3s-ggdb3s-gstabs3s-gcoff3s-gxcoff3s-gvms3(Rtcflag_real_include_pathR`R1R„RaR( R'RRgRLt other_optionsR”toptiontmacrot macro_indext macro_namet macro_value((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyROls*     N(t__name__t __module__R$RRR%R"R#R|R*RCRDRQRbR¤R!RO(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyR%s B ;   ) h (R"R^R~R‡R2Rtdistutils.msvccompilerRtdistutils.unixccompilerRtdistutils.cygwinccompilerRtdistutils.sysconfigRRRtobjectR(((ss/home/vagrant/ruby-gnome2.win32/gobject-introspection/vendor/local/lib/gobject-introspection/giscanner/ccompiler.pyts