;ς |oPFc@sWdZdkZdkZdkZdklZlZlZeadfd„ƒYZ dS(sO Node: filesystem structure, contains lists of nodes self.m_dirs : sub-folders self.m_files : files existing in the src dir self.m_build : nodes produced in the build dirs A folder is represented by exactly one node IMPORTANT: Some would-be class properties are stored in Build: nodes to depend on, signature, flags, .. In fact, unused class members increase the .wafpickle file size sensibly with lots of objects eg: the m_tstamp is used for every node, while the signature is computed only for build files the build is launched from the top of the build dir (for example, in _build_/) N(sdebugserrorsfatalsNodecBs tZd„Zd„Zd„Zd„Zed„Zd„Zd„Z ed„Z d „Z ed „Z d „Z d „Zd „Zd„Zdd„Zdd„Zdd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zed„Zd „Z d!„Z!d"„Z"d#„Z#d$„Z$d%„Z%d&„Z&ed'„Z'd(„Z(d)„Z)d*„Z*ed+„Z+d,„Z,RS(-NcCsΝ||_||_d|_h|_h|_h|_t i |ƒd|jot d|ƒn|o`|i |ƒot d|t |ƒfƒn|i|ƒot d|t |ƒfƒqΙndS(Nsisname forbidden s-node %s exists in the parent files %s alreadys-node %s exists in the parent build %s already(snamesselfsm_namesparentsm_parents m_cached_paths m_dirs_lookupsm_files_lookupsm_build_lookupsUtilss split_pathsfatalsget_filesstrs get_build(sselfsnamesparent((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Node.pys__init__s      cCs>|i|iijo d}nd}d||iƒfSdS(Nssb:s<%s%s>(sselfsm_namesm_parentsm_files_lookupsisbldsabspath(sselfsisbld((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Node.pys__str__4s cCs>|i|iijo d}nd}d||iƒfSdS(Nssb:s<%s%s>(sselfsm_namesm_parentsm_files_lookupsisbldsabspath(sselfsisbld((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Node.pys__repr__9s cCs|iiƒSdS(N(sselfs m_dirs_lookupsvalues(sself((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Node.pysdirs>scCs|ii||ƒSdS(N(sselfs m_dirs_lookupsgetsnamesdefault(sselfsnamesdefault((sK/mnt/gmirror/ports/audio/ruby-xmms2/work/xmms2-0.2DrJekyll/wafadmin/Node.pysget_dirAscCs||i|i