OpenImageIO/oiio — pull request #442 by lgritz (2012-10-27 00:36:25+00:00)
Title: Library symbols & export macros

A while back, in OSL we updated the methodology behind our DLL public/export/import macros and also compiled in such a way that it was easier to hide the internal symbols in the library that aren't part of the public APIs.

This patch establishes similar conventions for OIIO.

Basically, we now have OIIO_API and OIIO_EXPORT macros (which presumably are less likely to clash with other libraries' header files than the more DLLPUBLIC and such that they replace). Additionally, you can 'make HIDE_SYMBOLS=1' and it will try very hard on gcc and clang systems to not expose any symbols in the library that aren't intended to be part of the public API for OIIO.