AcademySoftwareFoundation / openfx

OpenFX effects API
Other
421 stars 124 forks source link

Remove symbol files as these are no longer needed #141

Closed john-paulsmith closed 9 months ago

john-paulsmith commented 9 months ago

Both the CMake and Makefile projects included compiler arguments to set symbol visibility to hidden and expose only the OfxGetNumberOfPlugins and OfxGetPlugin symbols. The CMake project has been changed to use built-in functionality to control symbol visibility, reducing the amount of platform-specific code that needs to be maintained.

Furthermore, all our examples use __attribute__((visibility("default"))) to expose necessary symbols, rendering the symbol files unnecessary, so all references to the symbol files, and the files themselves have been removed.

john-paulsmith commented 9 months ago

I have only tested this complete changeset on macOS, although I verified the concept on Linux too. Comments from a Windows perspective would be appreciated, I believe Windows symbol visibility is hidden by default and the use of __declspec(dllexport) will be exposing the correct symbols already.

Is there any reason to keep the symbol files around for plug-in/host build scripts?

john-paulsmith commented 9 months ago

If this PR is merged, I believe #122 can be discarded.

garyo commented 9 months ago

Closing; all in #122 now.