[asdf-devel] Loading pre-compiled fasls

Faré fahree at gmail.com
Wed Dec 11 17:04:38 UTC 2013


>: Yellow Dog <yellowdog967 at gmail.com>
> I'm currently working with lisp-zmq which uses grovel to create the CFFI
> declarations. This is fine and works great on my development box, but I
> would prefer not to require that other developers in my organization also
> run grovel.
>
> As such, I would like to be able to check in the files that were generated
> by grovel and have these automatically loaded in other environments.
>

> This already works! However, my problem is that in our environment, ASDF
> compiles fasls into a default user output path and then loads them
> (something like ~/.cache/common-lisp/...). I will not have any control over
> the content at this location prior to loading the lisp-zmq system for the
> first time, and so there isn't really anywhere that I can automatically
> deploy the pre-generated grovel files.
>
> My questions are:
> * Is there any way to specify using defsystem that a local fasl should be
> used?
>
There is always a way for everything. You could change some
input-files or output-files or translate method
to check for a shared cache, and use it if it's up to date.

> * Are there any suggestions that anybody can give me to solve my problem.
> Perhaps I should precompile the lisp-zmq system and load that instead.
>
Have you tried ASDF3's binary-op? It should help you get what you want:
a single fasl for your system and a .asd file to load it.
Or you could somehow preload it and use register-preloaded-system.

> I'd rather not change any of the behavior on anybody's development
> environment, so (asdf:disable-output-translations) isn't an option.
> I'd like to have this self contained as much as possible.
>
It's hard to tell without deeper knowledge of your company's setup.

I'd like to recommend you use Google's build system instead,
but it's not (yet) available to the public.


—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Free Market is not the end of every large-scale economical problem;
but it's the beginning to any long-term solution to anyone of them.

Free Software is not the end of every large-scale software problem;
but it's the beginning to any long-term solution to anyone of them.

Freedom is not the end of every large-scale problem;
but it's the beginning to any long-term solution to anyone of them.
		— Faré



More information about the asdf-devel mailing list