Dear Sam, in a first approximation, you could use something like: (defun all-steps-for-system (system) (asdf::traverse (make-instance 'asdf:load-op :force t) (asdf:find-system system))) Then you could find all the files produced in order with: (defun all-files-for-system (system) (loop :for (operation . component) :in (all-steps-for-system system) :for output-files = (asdf:output-files operation component) :append output-files)) Problem A: there might be more than fasls amongst files produced, e.g. object files produced by cffi-grovel. Problem B: files and systems loaded outside of the asdf dependency mechanism proper are untracked. These include systems loaded from .asd files directly, either by an explicit (asdf:load-system ...) or by a :defsystem-depends-on declaration. Some systems rely on that, e.g. iolib when it depends on cffi-grovel. Solving this problem will require modifying ASDF to basically trace load-system. OR we could modify the loading so as to track which components were needed XCVB solves these problems - actually xcvb-master works exactly that way. However, I haven't done the hard work to support linking .o files into single image deliverables, since it's a portability hell. PS: thanks a whole lot for including ASDF in CLISP and keeping it up to date! [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Brain, n.: The apparatus with which we think that we think. — Ambrose Bierce, "The Devil's Dictionary" On 29 December 2010 03:31, Sam Steingold <sds@gnu.org> wrote:
Hi, How do I distribute an application built using asdf? Specifically, given file foo.lisp, I need the list of all the fasl files of all the files on which foo.lisp depends (+ foo.fasl) in the correct order of loading. Thanks! -- Sam Steingold (http://sds.podval.org/) on Ubuntu 10.04 (lucid) http://iris.org.il http://ffii.org http://memri.org http://jihadwatch.org http://palestinefacts.org http://openvotingconsortium.org I'd give my right arm to be ambidextrous.