[Ecls-list] C:MAKE-BUILD composition and hierarchical ar shrink-wrapping

Samium Gromoff _deepfire at feelingofgreen.ru
Tue Apr 1 10:05:16 UTC 2008

At Sun, 30 Mar 2008 14:57:05 +0100,
Juan Jose Garcia-Ripoll wrote:
> Dear all,
> here comes attached another attempt at improving MAKE-BUILD. It is a
> drop-in replacement for the file with the same name in the original
> source tree. The logic behind ECL's facilities for system building is
> now more clear (see BUNDLE-SUB-OPERATION) and it has some strict
> rules, such as imposing that programs be monolithic.
> The behavior now is defined as follows.
> * Monolithic programs, shared libraries and FASLs proceed in two
> steps: they first build a static library for each component and then
> link everything together.
> * Monolithic static libraries simply compile everything and stores it
> in a single library file.
> * Non monolithic static libraries only compile what belongs to this
> module and links it into a library file.
> * Non monolithic FASL files act similarly, but the output is a FASL.
> * Non monolithic shared libraries compile the object files in this
> module and then dynamically link to the shared libraries of other
> modules.
> This code is not yet committed. I send it to the mailing list to
> gather your feedback.

Good day Juan,

I have checked out the current CVS, which appears to contain these
changes by now, and I have two following observations:

  1. Re-initiating an interrupted C:MAKE-BUILD :TYPE :FASL :MONOLITHIC T
(the case with MONOLITHIC being NIL is specifically not contingent) might
result in the compiled .fas files being loaded in the wrong order, with
regard to intra-ASD :DEPENDS-ON declarations. I am not providing a test
case here, but I guess I could attempt to get one, if it turns out to be
hard to pinpoint.

  2. C:MAKE-BUILD :TYPE :FASL, with both cases of monolithicity, complains
during post-compile LOAD of individual .fas files about not being provided
with the functions referred to by FFI:DEF-FUNCTION.

Providing the required :LD-FLAGS for linking with these functions does
not affect the observable link-time flags for the .fas files, thereby not
helping the issue.

Sorry for the delayed feedback...

regards, Samium Gromoff

More information about the ecl-devel mailing list