Hello Thomas, A macro takes care of this, CMSAPI.
For gcc you may want to change lcms2.h line 239 to this: #define CMSAPI __attribute__((visibility("protected"))) Windows uses some similar: define CMSAPI __declspec(dllexport)The standard distribution does not include that because it is supposed to be C99 portable, though it seems almost everyone is using either VS or gcc and compatibles like Intel's icc. I was evaluating the possibility of including this in a conditional define, but it has implications. For example in the the testbed, as you have already discovered. So for now is not in the to do list.
The testsuite is a special program, not a "real" .so client. Its purpose is to validate the platform, it can be checked with the static library only, for example.
Regards Marti On 29/01/2017 16:06, Thomas Weber wrote:
Hi, I am trying to change the autoconf build system such that functions/symbols from lcms2_internal.h are no longer exported in the shared library, similar to the Windows build. This has progressed fine so far, but the testsuite uses several of these functions (see attached diff). If they are no longer publicly available in the shared library, testbed/testcms cannot be built. How is the Windows build working around this? Thanks Thomas ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user