On Sun, 2009-12-06 at 20:36 +0000, Andrew Church wrote: > >As far as I know and remember, the way we're doing now -force libavi* > >and friends to be linked into the core- is due to the fact that > >1. we don't want to install libavi into the system lib directory. Fair > >enough, and that shouldn't change. > >2. we can't static link it to every module which needs it (pointless > >duplication and most important, it just doesn't work) > See, that "pointless duplication" comment is exactly what I was talking > about when I mentioned unnecessary optimization. (:
And that's also the part that worries me the least ;) Quite frankly, my final objective is to push down to the appropriate level the dependecies (and it's also seems we're in good agreement that's a Good Thing ;)), and used shared libs it's just a way of doing this. If it'll work using static linking, I'm fine either. > (*) Of course, "clean" can mean lots of different things, but to me, the > "cleanest" method of handling this would be to just link the static > libs into each module; If the linker doesn't complain seeing the same symbol twice (one, say, in import_avi.so and one in multiplex_avi.so), I'm just happy with that. I've to admint I'm much less proficient in ELFish as I'd like to be, but AFAIR the linker will complain. > With respect to "just doesn't work", granted I haven't actually tried it > myself (: but why doesn't it work? Is there some weird symbol > dereferencing or some such that causes problems if -lavi/-lwav is added > to each module that requires them, instead of to the core? Just trusted my memory again (even after the MMXEXT fiasco :P). But I'm going to give it a spin again, re-read the docs and report what's happened. Testing on amd64 since it's stricter than i386. Bests, -- Francesco Romani // Ikitt http://fromani.exit1.org ::: transcode homepage http://tcforge.berlios.de ::: transcode experimental forge