Gabriel Dos Reis writes:
On Mon, Dec 26, 2016 at 8:06 AM, Daniel Kochmański daniel@turtleware.eu wrote:
Faré writes:
Is there an official or encouraged way?
No.
Should there be one?
Imho the best way to build C sources against ECL is to produce ELF from ECL (object file, shared object, static library) and use it as one of the libraries you use in your C application (such example is shown in exmaples/build/ – used build tool is make). If you want to use C/C++ libraries in CL application there is FFI for that. To put it in another words, ECL is meant to be embeddedable in C/C++ application, not to make a platform for embedding C/C++ libraries in Common Lisp.
The question about an official or encouraged way for compiling lisp files with c files inside the C::BUILDER interface is a question, whenever builder should be used for compiling CL libraries/applications or if it should be a general-purpose building tool (or at least a building tool for both Common Lisp and C/C++).
I think that to keep things sane we should stick to the first interpretation, but if there are good reasons for the latter I'm not ruling out adding official support for making C::BUILDER a wrapper around C toolchain. I just don't see valid reasons for that.
I've lost (for a year or two) ability to build OpenAxiom with ECL and I've found it more and more difficult and time consuming to debug building programs with ECL that involves some C and C++ source libraries.
Please file a bug if you can track down the cause of such situation (or provide easy to follow reproduce steps) at https://gitlab.com/embeddable-common-lisp/ecl/issues/ .
Best reagards, Daniel