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