I've mistakenly taken this thread as one on the ecl-devel - please ignore direct ECL references.
Regards, Daniel Daniel Kochmański writes: > Faré writes: > >> On Tue, Oct 6, 2015 at 1:18 AM, Daniel Kochmański <dan...@turtleware.eu> >> wrote: >>> >>> Faré writes: >>> >>>> Difficulties making monolithic-lib-op portable suggest that it (and >>>> maybe also lib-op) should output an object file as if by ld -r rather >>>> than a static library. Indeed, there is no *portable* way to combine >>>> several .a files into a single one on a BSD system (including MacOS >>>> X). Or should that be the case only on said systems? >>> >>> We have currently bug regarding combining static libraries[1], but doesn't >>> BSD nor OSX support libtool? If yes, then we can just extract all >>> objects from static archive and combine them again. >>> >>> [1] https://gitlab.com/embeddable-common-lisp/ecl/issues/177 >>> >>> In one of the comments @Whimse provides a working solution using >>> libtool. >>> >> Do you require libtool to be installed on BSD (including OSX)? >> It certainly doesn't come standard, not even on Linux. > > It is at least dependency at ECL compilation time (bdwgc requires > it). It isn't that unreasonable to require it for C backend. >> Also, I could never get libtool to work correctly, even on Linux, >> despite having alleged cut-and-paste recipes and a man page. > > @Whimse claims it works just OK for him. I'll have to adjust it to play > nice with cross-compilation framework I'm working on now. >> >> I was thinking about MRI scripts, but they are also a GNUism not >> supported on BSD. >> >> Why do we need a .a rather than a .o, anyway? >> For the proposed use case, a .o seems more reasonable. > > That's what we do - we combine .o files. But Sometimes we want to > combine with already built static libraries. That's when such approach > would be necessary. Mentioned bug affects only such situations. If you > just do monolithic build from lisp lisp sources then there's not a > problem. >> >> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• >> http://fare.tunes.org >> Director is a misnomer. You're a hoper. You put all these people together and >> you hope it all works out. — Frank Oz, director of "Dirty Rotten Scoundrels" -- Daniel Kochmański | Poznań, Poland ;; aka jackdaniel "Be the change that you wish to see in the world." - Mahatma Gandhi