def preProcess(self):
        macros = self.macros
        if self.bootstrapPythonFlags is not None:
            self.bootstrapPythonFlags = set(x % macros
                                            for x in self.bootstrapPythonFlags)
        if self.bootstrapSysPath:
            self.bootstrapSysPath = [x % macros for x in self.bootstrapSysPath]
        if self.pythonFlagNamespace is not None:
            self.pythonFlagNamespace = self.pythonFlagNamespace % macros
        if self.bootstrapPerlIncPath:
            self.bootstrapPerlIncPath = [x % macros for x in self.bootstrapPerlIncPath]
        self.rootdir = self.rootdir % macros
        self.fileFilters = []
        self.binDirs = frozenset(
            x % macros for x in [
            '%(bindir)s', '%(sbindir)s',
            '%(essentialbindir)s', '%(essentialsbindir)s',
            '%(libexecdir)s', ])
        self.noProvDirs = frozenset(
            x % macros for x in [
            '%(testdir)s',
            '%(debuglibdir)s',
            ]).union(self.binDirs)
        exceptDeps = []
        for fE, rE in self.exceptDeps:
            try:
                exceptDeps.append((filter.Filter(fE, macros),
                                   re.compile(rE % self.macros)))
            except sre_constants.error, e:
                self.error('Bad regular expression %s for file spec %s: %s', rE, fE, e)
        self.exceptDeps= exceptDeps
        for filespec, provision in self.provisions:
            self.fileFilters.append(
                (filter.Filter(filespec, macros), provision % macros))
        del self.provisions
        _dependency.preProcess(self)