mò fDc@sdkZdkZdkZdkZdkZdkZdkZdkZdkZdk Z dk l Z dkl Z l Z l Z lZdfd„ƒYZdS(N(sDeptree(sdebugserrorstracesfataltBuildcBsƒtZd„Zd„Zd„Zdd„Zd„Zdd„Zd„Zd „Z d „Z d „Z d „Z d „Z d„ZRS(NcCs”g|_d|_g|_d|_|t_d|_h|_ g|_ h|_ h|_ h|_ g|_g|_g|_h|_d|_dS(Nt(tselft m_configstNonetm_treetm_dirst m_rootdirtParamstg_buildt m_curdirnodet m_allenvst m_subdirstm_abspath_cachetm_relpath_cachetm_height_cachetm_outstanding_objst m_posted_objstm_scanned_folderstm_cache_node_contenttm_bdir(R((t'/home/samy/kbilliards/wafadmin/Build.pyt__init__ s                cCs°||_tiidƒ|_tidjo|id|_nyAt tii |t i ƒdƒ}ti|ƒ|_|iƒWntƒ|_nX|iiidƒdS(Nt.twin32itrbi(tblddirRRtostpathtabspathRtsystplatformtopentjoinRtg_dbfiletfiletcPickletloadRtclosetDeptreetm_rootttag(RRR#((RR%9s !cCsHttii|itiƒdƒ}t i |i |dƒ|i ƒdS(Ntwbiÿÿÿÿ( R RRR!RRRR"R#R$tdumpRR&(RR#((RtstoreFs$tautocCsqt|ƒt|ƒdjo&tdt|ƒdt|ƒƒn|i|ƒ|i|ƒ|i||ƒdS(Nis*build dir must be different from srcdir ->s ->( tlentsrcdirRtfataltstrRR%tset_bdirt set_srcdirtscan(RR/RR4((Rtset_dirsKs &  cCs²tdƒ|ddjo<dGH|idƒ}|t|ƒd}tii|ƒnt ii |ƒ}t i djo|d}n|ii|ƒ}||i_|t_dS(Nt set_builddirit/spath is absoluteiRi(ttraceRtsplittlstR.ttrucRt g_excludestappendRRtpRRRRtensure_directorytnodet m_bldnodet g_bldnode(RRR@R>R:R;((RR2Ts  csþtdƒtii|ƒ}tidjo|d}nˆi i |ƒ}|ˆi _ ˆi i ‰|ˆ_ytitiit_WnnX|djo\tdƒ‡‡d†}|ˆƒ}x4|o(|d}|d}|||ƒ7}qÆWndS( NR3RiR-sautoscan in usecse|tijogSn|itijogSntiiˆi |ƒƒ}ˆi i |ƒ|iS(N(R@RRBtm_nameR<RtsepR!tsrcnodetdifflsttdirRRtscanner_mirrorR(R@RG(RER(RR4vsii(R8RRRRGR>RRRRtensure_node_from_pathR@t m_srcnodeRER RR<tUtilstg_modulet prunedirsR4tmlsttel(RRGR4R@RERNR>RO((RRERR3bs*         cCs1|iƒ}x|D]}|ii|ƒqWdS(N(tpathsR9tldirstsub_dirRRRH(RRPRQRR((Rtscandirsƒs cCsh|i_h|i_dS(N(RRt m_name2nodestm_flags(R((Rtcleanupˆs cCstdƒdS(Ns clean called(R8(R((Rtclean•scCsítdƒti|iiiƒƒtiƒt i djo%t i |iƒ}t i|ƒ}nt i|it i ƒ}tdƒy|iƒ}Wn9tj o-ti|iiiƒƒ|iƒ‚nXti|iiiƒƒ|S(Nscompile calledisexecutor starting(R8RtchdirRRRARtObjecttflushRt g_maxjobstRunnert JobGeneratort generatortSerialtexecutortParalleltstarttrettKeyboardInterruptRJR,(RR^RcR`((Rtcompile˜s     cCs6tdƒtiƒxtiD]}|iƒqWdS(Nsinstall called(R8RYRZt g_allobjstobjtinstall(RRg((RRh²s    cCshdk}t|ƒtijo |}n |iƒ}x,|D]$}|pq<n|i||ƒq<WdS(N( t ScriptingttypetdirsttypestListTypeR:R9tdt add_subdirR(RRkRnR:Ri((Rt add_subdirs·s   cOs2yti|||ŽSWndG|GH‚nXdS(Nserror in createObj(RYt g_allclassestobjnametktkw(RRrRsRt((Rt createObjÀs  (t__name__t __module__RR%R,R5R2R3RSRVRWReRhRpRu(((RR s ,   !     (Rtos.pathRR$Rlt EnvironmentRR\RYRKR'tdebugterrorR8R0R(RyR$R'R8R\RKRYRRRR{RzR0RRl((Rt?s--