Software synthesizer based on the SoundFont 2 specifications
Find a file
David Henningsson ee54995fab GCC: Stop exporting symbols which should not be exported
Previously, functions that were just used internally in FluidSynth
were still visible to users of the library. No application should
ever use them anyway, as they were only visible at the ABI level,
and not listed in the public API headers.

The big question here is whether this requires a major library bump. I've been
trying to inform myself by looking around the Internet but I haven't come to a
conclusion. E g, the libtool manual just says "interfaces" without specifying
whether they mean API or ABI.

From a pragmatic standpoint, I'm leaning towards *not* bumping the major
library version, because doing so is a major pain for Linux distributions:
they will have to make one "libfluidsynth1" and one "libfluidsynth2"
package, and in turn update everything using that library to depend on
libfluidsynth2 instead of libfluidsynth1.

Sure, there is a risk that some software out there is using one of these hidden
symbols. But I'd say that risk is quite low. And if they are, they're broken
anyway.

In short, I prefer being nice to our downstreams, over being nice to terribly
broken hacky applications that probably don't even exist.

Signed-off-by: David Henningsson <diwic@ubuntu.com>
2014-06-22 05:52:21 +02:00
fluidsynth GCC: Stop exporting symbols which should not be exported 2014-06-22 05:52:21 +02:00