"Mike Hearn" mike@plan99.net writes:
On 6/15/06, Alexandre Julliard julliard@winehq.org wrote:
No, we only want the internal functions to be hidden.
Right, so we set default visibility to hidden then change WINAPI and WINAPIV to include __attribute__((visibility(default))). That way only WINAPI declarations are exported.
Sure, but then it's not really useful. The whole point of marking functions explicitly is that it lets you document whether the function is intended to be private or not, and lets you spot functions that should have been static. Doing it all automatically doesn't gain you much, especially since relocations are already resolved at link time by our use of -Bsymbolic.
Now for Winelib it's a different issue, there it would make sense at some point to support setting visibility to hidden and explicitly marking exported functions, so that winebuild could build the import table without requiring a spec file. But even then you have to mark exports explicitly, you can't just redefine WINAPI for that.