Indeed, I'm aware now that my implementation needs work (Messing with the asdf cache was certainly a bad move) but I do believe in the value of being able to ship shared objects (package managers still seem to be a thing).
I'll move this to it's own project so it doesn't cause further issues on cffi though.
On 6 October 2016 at 11:28, Frank Goenninger frgo@me.com wrote:
Sorry if I missed some bit of info, but:
Am 06.10.2016 um 11:09 schrieb Stelian Ionescu sionescu@cddr.org:
[...]
So my closing question is: If I want to be able to use shared-object files with my lisp libraries what is the correct asdf way for this to be done? Given that:
- The shared-object file is not available through any package manager
- people should be able to just quickload the project and start working
- I need to support osx/linux/windows so I will be including a
selection of .so/dll/dylib files.
- Requiring every user to have a C compiler set up on their machine is
not acceptable.
Requiring those who compile the app to have a C compiler is the reality of today's operating systems, whether you find it palatable or not. If you decide to fight against this you'll probably end up creating more problems than you solve, and for little gain.
Hm - I’d just use dlopen, dlsym (or the like on Windows) to load the shared library and access functions etc. That’s what CFFI does - so why not use it. This doesn’t require a C compiler. You’d need CFFI though, not only ASDF. Or just mimic (read: reimplement) the CFFI functionality.
;; Frank