Support compiler option to selectively enable ABI breaking fixes
There are some known issues which can only be fixed by changing the resulting ABI of a project and even the whole dependency chain of vala-based libraries.
Adding a such an option to explicitly enable certain fixes would enable developers to opt-in knowing about the consequences. The current --abi-stability
flag could be represented with this option as well.
- Define ABI Version level as simple integer? e.g. 2
- Add
--abi-level <version>
command-line option to enable ABI breaking fixes- Backport command-line option to supported series with support for 1 only
- Introduce
[CCode (abi_level = <version>)]
attribute which is added to vala-based VAPI files- Set CCode.abi_level on symbol if any changing fix is triggered and used in public API/ABI
- Collect and apply on root namespace only or carry it on affected symbols?
- Allow interoperable usage of ABI 1 and 2
- Backport attribute evaluation to supported series to avoid unused attribute warning
- Issue a warning if passing
--abi-level ...
can fix a bug
Related issues:
Edited by Rico Tzschichholz