Avoid complaining about unknown component types, when unused
Consider a component defined as follows:
(:cffi-grovel-file "cffi/constants" :if-feature (:or :allegro :clisp :lispworks))
In a Lisp which is not going to use it (e.g. SBCL here), ASDF will still complain that the component type is unknown, so you still need to guard this component with
#+(or allegro clisp lispworks)
In principle, ASDF should be able to parse the system definition, see the if-feature here and avoid complaining, as there is no read-time problem for parsing.