Dear Pascal,
sorry for a slow reply.
If you want something to only load from source, you'll have to do something like:
(defclass asdf::uncompiled-cl-source-file (cl-source-file) ()) (defmethod perform-op ((op load-op) (c asdf::uncompiled-cl-source-file)) (perform-op (make-instance 'load-source-op) c)) (defmethod perform-op ((op compile-op) (c asdf::uncompiled-cl-source-file)) (values)) (defmethod output-files ((op compile-op) (c asdf::uncompiled-cl-source-file)) nil) (defmethod input-files ((op load-op) (c asdf::uncompiled-cl-source-file)) (input-files (make-instance 'load-source-op) c))
You can afterwards have a defsystem form that uses :uncompiled-cl-source-file as your component type.
Wholly untested. Hope this helps.
Now, if your problem is conditional dependency, I believe the whole idea is bunk. I recommend instead that you should use asdf::find-symbol* to detect at runtime whether the dependency is present. Otherwise, you'll have weird results when the dependency is loaded after the conditional thing was evaluated to the negative.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The common argument that crime is caused by poverty is a kind of slander on the poor. — H. L. Mencken