Hello. I'd like to find out if I can do this with ASDF.
Lets say I have a lisp file like this:
;;; foo.lisp (defpackage :foo (:use :cl) (:export :foo))
(in-package :foo)
(defun foo () #+foo1.0 :foo1.0 #+foo1.1 :foo1.1 ) ;;; foo.lisp ends here
The system definition file:
;;; foo.asd (asdf:defsystem :foo :components ((:file "foo"))) ;;; foo.asd ends here
As you can see the behaviour of the fn foo depends on version request features (which, lets say, represents the API version and not the software package version) which must be pushed on *features* before the system is compiled (or loaded).
I'd like to have ASDF reject any operation on system foo if there's not an appropriate API version request feature present for it and notify the user in some way.
I'd like to keep multiple fasls for different API versions in the cache. (One way to achieve this, which comes to my mind, would be to mangle the name of the fasl output file name to incorporate the version in same way or to change the output directory path.)
Thanks -Frank