def do(self):
        self.excepts = set(re.compile(x) for x in self.excepts)
        self.flags = set(x for x in self.flags
                         if not [y.match(x) for y in self.excepts])

        if self.flags:
            flags = [ (x % self.macros, deps.FLAG_SENSE_REQUIRED)
                      for x in self.flags ]
        else:
            flags = []
        if self.recipe.isCrossCompileTool():
            flags.append(('target-%s' % self.macros.target,
                          deps.FLAG_SENSE_REQUIRED))

        for component in self.recipe.autopkg.components.values():
            component.provides.addDep(deps.TroveDependencies,
                deps.Dependency(component.name, flags))