ObjFW  View Ticket

2023-01-14
16:55 Closed ticket [31bfd1cf2d]: Rename the library when features are disabled plus 4 other changes artifact: eb1178cbd3 user: js
2022-11-27
17:47 New ticket [31bfd1cf2d]. artifact: fa3e4728f6 user: js

Ticket UUID: 31bfd1cf2d9874a9c76eaa75b8290f20524222d4
Title: Rename the library when features are disabled
Status: Closed Type: Enhancement
Severity: Severe Priority: High
Subsystem: Resolution: Rejected
Last Modified: 2023-01-14 16:55:18
Version Found In: Milestone: 1.0
User Comments:
js added on 2022-11-27 17:47:47:

When disabling some features via ./configure --disable-*, the resulting shared library has the same name as if all features were enabled. This is problematic, as it essentially creates incompatible versions. Instead, the shared library should be renamed so that only the full version is called libobjfw.

Alternative, only allow disabling features when only building a static library, as there is very little reason to disable features in the shared library.


js added on 2023-01-14 16:55:18:

Actually, ultimately, this is up to distributions. It also means its up to them if they break ABI by disabling feature from one release to the next.

On systems that don't have a single source for packages, software that ships ObjFW should either statically link or install a version of ObjFW with all features enabled, but that's hard or even impossible to enforce.