On Fri, Apr 13, 2001 at 04:05:05PM -0400, Dan Sugalski wrote:
> Okay, I think we're talking at cross-purposes at the moment.
>
> There are exactly 6 things that need prefixes added:
>
> 1) Functions that are explicitly exported as part of the API
> 2) Functions that are internal only, but we can't stop being exported
> because lots of linkers suck
> 3) Global data that we export. (If any)
> 4) Global data we can't not export. (For the same reason as #2)
> Classes 2 and 4 need our "internal" prefix, and only because so many
> linkers are dead-stupid and won't let us restrict what functions and data
> we export. Having convenience prefixing macros is fine with me for
> these--we're adding them because we're forced to, and I don't see any
> reason to be inconvenienced because of stupid linkers.
Presumably there are internal functions that aren't part of the public
API, but because they are used in more than 1 source file do need external
linkage.
Or were your "linkers are dead-stupid" words meaning that we can't tell
linkers to partially link libperl.a and then declare a whole bunch of
symbols that now can't be used for any purpose external to libperl.a
Nicholas Clark