Subject: Re: Static linking of Citrus modules
To: None <tech-userlevel@netbsd.org>
From: Joerg Sonnenberger <joerg@britannica.bec.de>
List: tech-userlevel
Date: 07/14/2005 18:25:28
On Thu, Jul 14, 2005 at 05:56:45PM +0200, Martin Husemann wrote:
> While your variant (c) works for the current state, I'm not sure this will
> still be the case for a more complete locale implementation. I would expect
> collation support to use dynamically loaded functions (not only data tables).

Well, I can't think of any language where collation needs more than a table.
In fact, such a language would pretty much defeat the usual
implementation e.g. of strcasecmp, since the only aspect which can't
efficiently supported is stateful encoding or random mappings. At least
the latter doesn't normally apply to human languages and would only cost
memory and speed.

> This would make locales in static binaries second class locales, or it would
> require at least linking in all collation functions. This may not be much
> of a space issue, but restrict you to a predefined set of collation orders.

You can't avoid the restrictions to a predefined set of locales anyway.
I don't mean the basic support here, but more advanced issues like
iconv translations or collation. But I don't think that the limitations
warrant not providing static support at all.

Joerg