Edi Weitz wrote:
> 4. This will probably also affect the way how Debian and Gentoo
> install CL-GD. Is that a problem? Kevin, Matthew, are you reading
As I mentioned, the shared library is contained in the .deb file for
Debian. In general, I handle the loading of a shared library with ASDF
by having ASDF load a lisp file whose job it is to load the already
existing shared library.
I suppose such a loader can be modified to first check if the library
does not exist in the standard system locations and in the
*load-pathname* directory. If the library can not be found, then the
"loader" lisp file can actually be a "compiler/link" and invoke shell
programs to first compile and link the shared library. I suspect
storing the shared library in the *load-pathname* directory would be
best in this case.
Currently, different options need to be given to compile on linux,
solaris, darwin, and win32. Currently, those differences are handled
by the Makefiles for my projects. You'd need to embed those
differences in your lisp program. Additionally, since cl-gd runs a
number of different lisp implementations, the lisp program needs to
handle the differences in platform identifiers as specified in
cl:*features*. For SBCL, there's examples of this in
sb-bsd-sockets. As an additional compilication, the amd64 nees a new
gcc option for linux to create 32-bit output.