[asdf-devel] creating a distribution using asdf
Faré
fahree at gmail.com
Wed Dec 29 02:59:39 UTC 2010
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 at 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.
More information about the asdf-devel
mailing list