Hi there,
Out of interest (I have no particular application for this) I tried installing McCLIM with ECL just now using QuickLisp and got nowhere.
The mcclim.asd has a defsystem form, :clim-lisp, which adds a file component depending on the implementation. However, it has no fall-back for unsupported implementations meaning that the error I get if I try to compile with ECL is "Too few arguments supplied to a macro or a destructuring-bind form" where "unsupported implementation" would be better.
I tried adding a fall-back to that defsystem just to see what would happen:
(defsystem :clim-lisp :components (;; First possible patches (:file "patch") (:module "Lisp-Dep" :depends-on ("patch") :components ((:file #+cmu "fix-cmu" #+scl "fix-scl" #+excl "fix-acl" #+sbcl "fix-sbcl" #+openmcl "fix-openmcl" #+lispworks "fix-lispworks" #+clisp "fix-clisp" #| other |# "fix-nil"))) (:file "package" :depends-on ("Lisp-Dep" "patch"))))
fix-nil.lisp was just an empty file. It compiled a little bit but eventually failed saying "Cannot find symbol "FUNDAMENTAL-BINARY-INPUT-STREAM" in package #<"CLIM-LISP" package>". But that's not really the point.
I don't know what is the idiomatic way of making a system fail based on implementation, but it might be good to do something like that in McCLIM.
Richard