: Yellow Dog yellowdog967@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é