[asdf-devel] Advanced Configuration

FAU fau at riseup.net
Mon Nov 11 07:40:12 UTC 2013


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





More information about the asdf-devel mailing list