>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. (:  avilib/wavlib are
small enough (50k and 3k respectively, ignoring ELF/debug overhead) that
duplication among the modules that use them--and I don't think there are
very many anymore?--isn't worth worrying about when compared to a clean(*)
code structure.

(*) 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; that way all the symbols are resolved at link
    time of the module, the module only needs to rely on the published
    interface of the core itself, and we aren't cluttering the user's
    filesystem with unnecessary shared objects.

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?

  --Andrew Church
    achu...@achurch.org
    http://achurch.org/

Reply via email to