Don't know if I'd make that the default, but I wouldn't have any problem with creating snapshots that included a single executable.
That would be great.
Well, that's not quite right. The executable would include the image, but the unicode info is still stored out in a separate file. Would that be ok? Might be possible to build an executable with that included too, but I'll have to test that.
Not so great without it, unless the file is available at standard locations in all Linux distributions as in /usr/share/misc/unicode.gz
What do you mean to statically compile in libraries since there are usually no static libraries anymore, just shared ones? If you dump an image that includes other shared libraries, cmucl is supposed to reload those libraries automatically when the image is started again. That used to work, but I haven't tested that in ages. Would that be ok? Or do you really mean statically linked?
I really mean statically linked. Currently, CFFI and friends produce plenty of .so files for wrappers. I don't want to chase a zillion Lisp-specific .so files; that totally defeats the "delivery into one executable file" strategy. Also, some less-known or fast-changing C libraries might be good candidate for inclusion as static libraries rather than dynamic libraries.
This is kind of how cmucl creates its executable images.
Oh, I didn't realize you already had this feature. Sweet. Did you also fix that age-old bug whereby cmucl parsed -eval arguments passed the end of the lisp image arguments?
The main thing are that the address of two magic trampoline functions and the addresses of the various spaces are specified to the linker when creating the executable image. Not exactly sure how to extend that right now, but I suppose it's possible.
Can you tell me which things they are and point me to the linker magic? I think I could port the trick to SBCL...
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Not only is there no contradiction between egoism and altruism, but no altruism is possible without egoism - for what betterment to wish to an other person devoid of selfish desire, to whom any change is indifferent?