KallistiOS git master
Independent SDK for the Sega Dreamcast
|
KOS version information and utility API More...
Topics | |
Compile-Time | |
API providing compile-time KOS version and utilties. | |
Run-Time | |
API providing run-time KOS version and utilties. | |
Utilities | |
Utilities for creating version info and checks. | |
Files | |
file | version.h |
API versioning and requirements checks. | |
KOS version information and utility API
This API provides both access to the current KOS version as well as utilities that can be used to check for or require a particular version.
KOS's versioning scheme follows the following format: major.minor.patch
where a change in the revision number of any component typically suggests:
Component | Description |
---|---|
Major | Massive, sweeping changes to major APIs and subsystems. |
Minor | Small, incremental updates and new features. |
Patch | Usually simply bugfixes. |
The versioning information is split into two different groups:
Version Type | Description |
---|---|
Compile-Time | The version of KOS your code is being compiled against. |
Run-Time | The version of KOS your code has been linked against. |
Ideally, these two versions would be the same; however, it is possible for them to differ in certain circumstances:
Version checks are handled differently depending on whether you want to use the version at compile-time or run-time.
Version Type | Mechanism |
---|---|
Compile-Time | Preprocessor directives, conditional compilation. |
Run-Time | if statements, conditional branches |
The same Utilities used to implement the KOS versioning API are available as part of the public API so that they may be used to implement your own similar versioning scheme at the app-level.