Allow FL_ABI_VERSION = FL_API_VERSION + 1
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run

... so users can enable ABI features designated for the *next* release
when using FLTK from Git (or snapshots) before the API version has
been raised for that release.
This commit is contained in:
Albrecht Schlosser
2025-03-29 21:03:18 +01:00
parent 9e1e043af3
commit cb86a37676
2 changed files with 14 additions and 5 deletions
+9 -5
View File
@@ -153,11 +153,15 @@
This is done to prevent users from defining an illegal ABI version.
Rule: FL_MAJOR_VERSION * 10000 + FL_MINOR_VERSION * 100
<= FL_ABI_VERSION <= FL_API_VERSION.
<= FL_ABI_VERSION <= FL_API_VERSION + 1.
Example (FLTK 1.3.4):
Since FLTK 1.4.2+ (Git commits after release 1.4.2) FL_ABI_VERSION is
allowed to be one higher than FL_API_VERSION so ABI changes in Git
targeted at the *next* release (e.g. 1.4.3) can be used.
10300 <= FL_ABI_VERSION <= 10304
Example: Commits after release FLTK 1.4.2 (before release 1.4.3):
10400 <= FL_ABI_VERSION <= 10403
Note: configure + CMake can be used to define FL_ABI_VERSION, but they
do not check validity. This is done here.
@@ -168,10 +172,10 @@
# undef FL_ABI_VERSION
# define FL_ABI_VERSION (FL_MAJOR_VERSION*10000 + FL_MINOR_VERSION*100)
#elif FL_ABI_VERSION > FL_API_VERSION
#elif FL_ABI_VERSION > FL_API_VERSION + 1
# undef FL_ABI_VERSION
# define FL_ABI_VERSION FL_API_VERSION
# define FL_ABI_VERSION FL_API_VERSION + 1
#endif