Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Platform support #152

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,14 @@ The Vector SIL Kit
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/linux-ubsan.yml
.. |TsanBadge| image:: https://github.com/vectorgrp/sil-kit/actions/workflows/linux-tsan.yml/badge.svg
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/linux-tsan.yml
.. |LinuxARM64| image:: https://github.com/vectorgrp/sil-kit/actions/workflows/build-linux-arm64.yml/badge.svg
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/build-linux-arm64.yml
.. |WinBadge| image:: https://github.com/vectorgrp/sil-kit/actions/workflows/build-win.yml/badge.svg
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/build-win.yml
.. |MingwBadge| image:: https://github.com/vectorgrp/sil-kit/actions/workflows/build-mingw64.yml/badge.svg
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/build-mingw64.yml
.. |MacOS| image:: https://github.com/vectorgrp/sil-kit/actions/workflows/build-macos.yml/badge.svg
:target: https://github.com/vectorgrp/sil-kit/actions/workflows/build-macos.yml
| |ReleaseBadge| |LicenseBadge| |DocsBadge|
| |AsanBadge| |UbsanBadge| |TsanBadge| |WinBadge|

Expand Down Expand Up @@ -139,3 +145,80 @@ call CMake in your build directory as follows::
cmake -D SILKIT_BUILD_DOCS=ON -B _build
cmake --build _build --target Doxygen

Platform support
----------------------------------------

SIL Kit provides 3 targets of plfatform support. A platform hereby is defined by
a architecture-operating compiler ABI triple. An example would be
`x86_64-ubuntu20.04-clang`, which is currently our default target for Linux
builds.
Comment on lines +151 to +154
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
SIL Kit provides 3 targets of plfatform support. A platform hereby is defined by
a architecture-operating compiler ABI triple. An example would be
`x86_64-ubuntu20.04-clang`, which is currently our default target for Linux
builds.
SIL Kit provides two tiers of platform support:
1. Officially build, continuously tested targets for which we provide binary packages, and
2. Targets for which we have (limited) build support but which are not continuously tested and no packages are provided from us.
A platform hereby is defined by a target triplet, consisting of the CPU architecture, operating system and compiler.
An example would be `x86_64-ubuntu20.04-clang`, which is currently our default target for Linux
packages.
SIL Kit should compile and run on any POSIX platform.
If you have feedback for different targets or platforms please report via the GitHub issues, thanks!
A target may be upgraded to `Tier 1` once we have continuous testing for it in place and we have binary packages available for it.

I'd slightly reword it, and add how we deal with other targets.


.. list-table:: Tier Definitions

* - Tier 1
- Official Supported Platform, build and tested in CI
* - Tier 2
- Unofficial/incomplete build support. Build and Tests verified by individual contributors/users. Not guaranteed to work after a version update.

Tier 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Supported, automatically tested and provided as binary packages.

.. list-table:: Platform Support
:header-rows: 1

* - OS
- Architecture
- Notes
- Status
* - Windows
- 64bit (x86_64)
- MSVC 19 with Toolset 14.1
- |WinBadge|
* - Windows
- 32bit (x86)
- MSVC 19 with Toolset 14.1
- |WinBadge|
* - Windows
- 64bit (x86_64)
- MSYS2/Mingw: GCC 14
- |MingwBadge|
* - Ubuntu
- amd64
- | 18.04 LTS: GCC 8
| 20.04 LTS: Clang 10
| 22.04 LTS: GCC11/Clang 18
- | |AsanBadge|
| |UbsanBadge|
| |TsanBadge|
* - Ubuntu
- ARM64
- 22.04 LTS: Clang 18
- |LinuxARM64|
* - MAC OS
- ARM64/M1
- AppleClang 15
- |MacOS|

Tier 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Build and tested by individual contributors or users.
Not guaranteed to work after a version update!

.. list-table:: Platform Support
:header-rows: 1

* - Platform
- Architecture
- Notes
* - QNX 7.1 RTOS
- X86 64bit
- QNX GCC 8
* - FreeBSD 14
- X86 64bit
- FreeBSD Clang 18
* - Android
- ARM64
- NDK builds with default compiler, libc++_shared
Loading