Wireshark-dev: Re: [Wireshark-dev] Simpifying exporting DLL symbols

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Tue, 26 Feb 2013 15:25:58 -0800
On Feb 26, 2013, at 2:08 PM, Bálint Réczey <balint@xxxxxxxxxxxxxxx> wrote:

> Exporting all symbols when using more exotic compilers should not be and issue,
> because plugins used on such exotic systems are probably compiled with
> GCC >= 4.0, LLVM
> or Visual Studio too, and this ensures using exported APIs.

Does it ensure that plugins use only exported APIs on, for example:

	HP-UX, if Wireshark itself is compiled with aCC (as would be the case if the user got Wireshark from the HP-UX Porting and Archive Centre);

	AIX, if Wireshark itself is compiled with XLC?

Sun Studio 8 through Sun^WOracle Solaris Studio 12 appear to support __hidden as a way of saying "not visible outside the library", __global as a way of saying "visible outside the library and references from within the library could bind to code in the application if the application defines it", and "-xldscope=hidden" to make __hidden the default, so that __global overrides it.  That sounds as if it'd be what we'd want.  It requires us to tweak compiler options when building libraries, but, well, any build-and-configuration tools that can't handle that are toys....