On Sat, Aug 06, 2011 at 03:05:06PM +0200, Pedro Lopez-Cabanillas wrote:
On Saturday 06 August 2011, Andrew Suffield wrote:
On Sat, Aug 06, 2011 at 02:42:59PM +0200, Pedro Lopez-Cabanillas wrote:
The auto-tools based build system of FluidSynth is deprecated, and
was using libtool. The new CMake based build system does not use
libtool.
That's unfortunate. Consider using libtool. This level of shared
library manipulation is annoyingly non-portable, and implementing
support for every platform is tiresome. libtool exists to solve this
problem, so doing it yourself is just "rewriting libtool".
(If you only want to support glibc-elf, it's easy, but I don't think
that's relevant here)
We have already seen libtool doing a poor job with FluidSynth in Mac OSX.
Well, your alternative is to become an expert on the shared library
systems of all interesting platforms and spend a lot of time
reinventing what libtool does and writing lengthly rants about how
appalling the various platforms are. I can personally attest to the
profound insanity of shared library behaviour on glibc-elf and
windows, neither of which do what any reasonable person would expect
or desire. The documentation is also wrong or non-existant and you
must consult the code to find out what really happens.
I usually find this is a yak-shaving exercise when you want something
to work on more than one platform, but it's just a question of what
you want to spend time on.
(If anybody wants to write a better libtool, that would be nice)