[Ecls-list] compiler flags for external libraries
Robert Lehr
bozzio at the-lehrs.com
Mon Nov 24 11:06:05 UTC 2003
On Mon, Nov 24, 2003 at 10:00:44AM +0100, Juan Jose Garcia-Ripoll wrote:
> On Saturday 22 November 2003 03:08, Robert Lehr wrote:
> > First, has it been done with ECL? If so, what is the usual method? I
> > accomplished this by modifying the exported c:*cc*.
>
> Don't do it this way. I do not remember whether it was introduced in ECL 0.9c,
> but the right way would be to use
> C::BUILD-FASL
> It works just like BUILD-PROGRAM, but builds a loadable module. Another
> .
> .
> .
This is fine. But I cannot pass include paths to the compiler. How about
adding a cc-flags or c-flags flag to BUILDER to overcome this?
Your idea about adding cc-flags and ld-flags to the COMPILE & COMPILE-FILE
functions is very good, too.
> > The second matter concerns current scope during compilation. These two
> > forms fail...
>
> Yes, _ECL_ is right :-) The whole eval-when is read together, because it is a
Understood. I can work with it more easily now.
> But this is also not "right". If you want to change the compiler or linker
> flags, do it around your compilation form:
>
> (let ((c::*cc-flags* (concatenate 'string c::*cc-flags* "..."))
> (c::*ld-bundle-flags* (concatenate ...))
> ...)
> (compile ...))
Yes, this is good, too. Although for my current purpose, I will try to use
build-fasl for the moment. This should work with defsystem, too. So this idea
could be better altother.
--
Robert Lehr
bozzio at the-lehrs.com
More information about the ecl-devel
mailing list