Quoting Thomas Frohwein <tfrohw...@fastmail.com>:

On Wed, Jul 31, 2024 at 09:48:31PM +0200, Robert Palm wrote:

Hi,

I would like to know why, the following libs are named

libSDL2_image.so.1.1
libSDL2_ttf.so.0.1

and not

libSDL2_image-2.0.so.0
libSDL2_ttf-2.0.so.0

Ports:
devel/sdl2-image
devel/sdl2_ttf

Is it because of CMAKE_SHARED_LIBRARY_SUFFIX ? How does it work?

Thank you.


As to the why in the sense of the reason for the decision - this
decision was made before my time. My understanding is that upstream
decision to append '-2.0' didn't serve a useful purpose (SDL2 in the
library name really tells you everything and at this point it looks
like the next version will be SDL3).

Also note the comment in CMakeLists.txt:

# For historical reasons, the library name redundantly includes the major
# version twice: libSDL2-2.0.so.0.

As to the technical why - the port uses configure/Makefile and the patch
for Makefile.in removes the use of LT_RELEASE which is responsible for
the '-2.0' in other platforms.

This is for devel/sdl2, probably similar for the sdl2-* ports. At this
point this is moot as upstream has already acknowledged that this
library naming will be stopped with SDL3.

Hi Thomas,

understand - thanks a lot for your detailed explanations!

I'll simply use symlinks so that the sdl2 libs can be found...typically, they are refered to by the 2 "standard" designators like

("libSDL2_ttf-2.0.so.0" "libSDL2_ttf")
("libSDL2_image-2.0.so.0" "libSDL2_image")

Looking forward for SDL3 then.

Best, Robert



Reply via email to