docs: def build(self, path, lTOC):
          """
          Create an archive file of name 'path'.
          lTOC is a 'logical TOC' - a list of (name, path, ...)
          where name is the internal name, eg 'a'
          and path is a file to get the object from, eg './a.pyc'.
          """
          self.path = path
          self.lib = open(path, 'wb')
          #reserve space for the header
          if self.HDRLEN:
              self.lib.write('\0' * self.HDRLEN)
  
              #create an empty toc
  
          if type(self.TOCTMPLT) == type({}):
              self.toc = {}
          else:       # assume callable
              self.toc = self.TOCTMPLT()
  
          for tocentry in lTOC:
              self.add(tocentry)   # the guts of the archive
  
          tocpos = self.lib.tell()
          self.save_toc(tocpos)
          if self.TRLLEN:
              self.save_trailer(tocpos)
          if self.HDRLEN:
              self.update_headers(tocpos)
          self.lib.close()