I'm proceeding with the second issue in my system, and it seems that the problem is still here (ASDF 3.3.4.10). With this inside:
:components (#+sbcl (sb-grovel:grovel-constants-file "sbcl/constants" :package :net.didierverna.clon :if-feature :sbcl) (:cffi-grovel-file "cffi/constants" :if-feature (:or :allegro :clisp :lispworks)) ...)
SBCL complains (as well as all but ACL, CLISP, and LW):
debugger invoked on a LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {1001888243}>: Error while trying to load definition for system net.didierverna.clon.termio from pathname /Users/didier/Documents/Science/Software/Common Lisp/clon/termio/net.didierverna.clon.termio.asd: don't recognize component type :CFFI-GROVEL-FILE
If I understand :if-feature correctly, the whole component form should be ignored, right?
Before it can be ignored, it must be defined. And so as to define it, its class must be defined. I suppose we could have some error class that it used when the class it not defined, that would only trigger an error at runtime if the feature is true. I'm sure the current / next sucker^W maintainer will accept patches.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org ...so that IBM Java envangelist tells me "nothing spread as fast as Java", to which I answer: "crack!"...