For those of you who don't know, check-reqs is an eclass that is occasionally used by a few packages that have ludicrously high build requirements. Typical examples have included anything using Haskell (the programming language with built-in memory leaks!) and certain C++ template metaprogamming voodoo. Currently it just exports a single function that will warn (or die, based upon user preference) if the build requirements aren't met. There has been a request for a clean way of handling packages that can be built in two different ways that give the same end result (typical example is use of a really slow but low memory requiring algorithm vs a fast but memory intensive algorithm when building data tables). How does something like the attached look? (Yes, it's using old-school [ rather than [[, since the rest of the eclass is written that way. I might switch the whole thing over at some point.) -- Ciaran McCreesh : Gentoo Developer (Wearer of the shiny hat) Mail : ciaranm at gentoo.org Web : http://dev.gentoo.org/~ciaranm