Bundle operations
Faré
fahree at gmail.com
Tue Sep 8 19:03:03 UTC 2015
>>: Faré
>> On implementations other than ECL (and maybe also MKCL and CLASP),
>> DLL-OP and LIB-OP will capture the outputs of extensions like CFFI,
>> and not of the main Lisp implementation.
>>
>> Problem is, the extensions need to cooperate, and CFFI doesn't at this time.
>> i.e. they need to compile to .o before they transform the .o into a .so or .a
>> — then LIB-OP and DLL-OP can collect the .o and build a .a or .so respectively.
>>
>> PS: if someone fixes CFFI, they should *also* use tmpize-pathname then
>> rename-file-overwriting-target to fix the same race condition that
>> otherwise plagues concurrent invocations of ASDF.
>>
>> Is any CFFI maintainer listening?
>: Robert
> I'm not sure I understand. It sounds like on implementations other than
> C-based ones, these operations will do something fundamentally
> different. Or am I misunderstanding? Here's what I think you are saying:
>
> On ECL (and possibly others) after you do a DLL-OP, you get a system
> that can be loaded as a DLL.
>
> On a "conventional lisp" after you do a DLL-OP, you get a DLL for some
> subset of the functionality.
>
> So then on ECL you would have a system that you could load by loading
> the DLL. But on a conventional lisp, if you loaded the DLL, you'd get
> only a subset of the functionality.
>
> Is that right? If so, it seems that it would be The Wrong Thing to use
> the same name for both things, because they don't do the same thing.
>
Well, the idea is as follows:
* LIB-OP collects all the .o files for your system in a .a
* DLL-OP collects all the .o files for your system in a .so
Now, on a C-based implementation, "all the .o files" means essentially
all your system, whereas on other implementations, it means only C
extensions that play the game (currently: none).
The idea is that you could always deliver a system (or a system +
dependencies) in either one file (.fasl) or two files (.fasl and .so),
depending on whether you're on ECL or another implementation.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
The Constitution may not be perfect, but it's a lot better than what we've got!
More information about the asdf-devel
mailing list