From 53b03818a8373089783d5f514ba754ba3b5b44b2 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Fri, 29 Nov 2024 10:25:25 +0100 Subject: [PATCH 01/11] README: add platform support for SIL Kit Issues: SILKIT-1645 Signed-off-by: Jan Kraemer --- README.rst | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/README.rst b/README.rst index e2e46e28e..7fcc172ec 100644 --- a/README.rst +++ b/README.rst @@ -139,3 +139,54 @@ call CMake in your build directory as follows:: cmake -D SILKIT_BUILD_DOCS=ON -B _build cmake --build _build --target Doxygen +5. 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. + +.. 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. + * - No Tier + - Not supported, not known whether SIL Kit even builds for this platform. Anything not in `Tier 1` or `Tier 2` + +5.1 Tier 1 +---------------------------------------- +.. list-table:: Platform Support + :header-rows: 1 + + * - Platform + * - x86_64-windows-msvc + - X86 64bit Windows builds with MSVC ABI + * - x86_32-windows-msvc + - X86 32bit Windows builds with MSVC ABI + * - x86_64-windows-mingw + - X86 64bit Windows builds with GNU ABI + * - x86_64-ubuntu20.04-gnu + - X86 64bit Ubuntu 22.04 with GNU ABI + * - x86_64-ubuntu22.04-gnu + - X86 64bit Ubuntu 22.04 with GNU ABI + * - aarch64-ubuntu24.04-gnu + - ARM64 Ubuntu 24.04 build with GNU ABI + * - arm64-macos14-darwin + - ARM64 tests on M1 MacOS 14 + +5.1 Tier 2 +---------------------------------------- +.. list-table:: Platform Support + :header-rows: 1 + + * - Platform + - Notes + * - x86_64-nto-qnx710 + - X86 64bit QNX 7.1 RTOS builds + * - x86_64-freebsd14-llvm + - X86 64bit FreeBSD14 with LLVM ABI + * - aarch64-linux-android + - X86 64bit ANDROID 15 NDK From b1172237b82a6c6c3788c797a0fdd28df8752648 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Fri, 29 Nov 2024 10:29:38 +0100 Subject: [PATCH 02/11] fixup! README: add platform support for SIL Kit --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 7fcc172ec..408c83bf1 100644 --- a/README.rst +++ b/README.rst @@ -162,6 +162,7 @@ builds. :header-rows: 1 * - Platform + - Notes * - x86_64-windows-msvc - X86 64bit Windows builds with MSVC ABI * - x86_32-windows-msvc From 28fb9b1e556556fd16b78c739463774f582afde3 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Mon, 2 Dec 2024 09:26:36 +0100 Subject: [PATCH 03/11] fixup! fixup! README: add platform support for SIL Kit --- README.rst | 76 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/README.rst b/README.rst index 408c83bf1..14cf91cb3 100644 --- a/README.rst +++ b/README.rst @@ -140,7 +140,7 @@ call CMake in your build directory as follows:: cmake --build _build --target Doxygen 5. 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 @@ -153,41 +153,59 @@ builds. - 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. - * - No Tier - - Not supported, not known whether SIL Kit even builds for this platform. Anything not in `Tier 1` or `Tier 2` -5.1 Tier 1 ----------------------------------------- +Tier 1 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Supported, automatically tested and provided as binary packages. + .. list-table:: Platform Support :header-rows: 1 - * - Platform + * - OS + - Architecture - Notes - * - x86_64-windows-msvc - - X86 64bit Windows builds with MSVC ABI - * - x86_32-windows-msvc - - X86 32bit Windows builds with MSVC ABI - * - x86_64-windows-mingw - - X86 64bit Windows builds with GNU ABI - * - x86_64-ubuntu20.04-gnu - - X86 64bit Ubuntu 22.04 with GNU ABI - * - x86_64-ubuntu22.04-gnu - - X86 64bit Ubuntu 22.04 with GNU ABI - * - aarch64-ubuntu24.04-gnu - - ARM64 Ubuntu 24.04 build with GNU ABI - * - arm64-macos14-darwin - - ARM64 tests on M1 MacOS 14 - -5.1 Tier 2 ----------------------------------------- + * - Windows + - 64bit (x86_64) + - Using MSVC 19 with Toolset 14.1 + * - Windows + - 32bit (x86) + - Using MSVC 19 with Toolset 14.1 + * - Windows + - 64bit (x86_64) + - MSYS2/Mingw: GCC 14 + * - Ubuntu + - amd64 + - 18.04 LTS: GCC 8 + 20.04 LTS: Clang 10 + 22.04 LTS: GCC11/Clang 18 + * - Ubuntu + - ARM64 + - 22.04 LTS: Clang 18 + * - MAC OS + - ARM64/M1 + - AppleClang 15 + +Tier +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Build and tested by individual contributors or users. + +.. warning:: +Not guaranteed to work after a version update + .. list-table:: Platform Support :header-rows: 1 * - Platform + - Architecture - Notes - * - x86_64-nto-qnx710 - - X86 64bit QNX 7.1 RTOS builds - * - x86_64-freebsd14-llvm - - X86 64bit FreeBSD14 with LLVM ABI - * - aarch64-linux-android - - X86 64bit ANDROID 15 NDK + * - 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 From a11b0b234ff2d6dff767299d24f9f9b4bd330cc0 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Mon, 2 Dec 2024 09:28:53 +0100 Subject: [PATCH 04/11] fixup! fixup! fixup! README: add platform support for SIL Kit --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 14cf91cb3..6583fe861 100644 --- a/README.rst +++ b/README.rst @@ -139,7 +139,7 @@ call CMake in your build directory as follows:: cmake -D SILKIT_BUILD_DOCS=ON -B _build cmake --build _build --target Doxygen -5. Platform support +Platform support ---------------------------------------- SIL Kit provides 3 targets of plfatform support. A platform hereby is defined by @@ -176,9 +176,9 @@ Supported, automatically tested and provided as binary packages. - MSYS2/Mingw: GCC 14 * - Ubuntu - amd64 - - 18.04 LTS: GCC 8 - 20.04 LTS: Clang 10 - 22.04 LTS: GCC11/Clang 18 + - | 18.04 LTS: GCC 8 + | 20.04 LTS: Clang 10 + | 22.04 LTS: GCC11/Clang 18 * - Ubuntu - ARM64 - 22.04 LTS: Clang 18 From 31534f5d41762672e9b9f62a38df388c0ba199b0 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Mon, 2 Dec 2024 09:30:05 +0100 Subject: [PATCH 05/11] fixup! fixup! fixup! fixup! README: add platform support for SIL Kit --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 6583fe861..63ff4d383 100644 --- a/README.rst +++ b/README.rst @@ -186,13 +186,13 @@ Supported, automatically tested and provided as binary packages. - ARM64/M1 - AppleClang 15 -Tier +Tier 2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build and tested by individual contributors or users. .. warning:: -Not guaranteed to work after a version update + Not guaranteed to work after a version update .. list-table:: Platform Support :header-rows: 1 From 85600db939f2146da712ea9a378087acf70bd994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kr=C3=A4mer?= Date: Mon, 2 Dec 2024 09:57:43 +0100 Subject: [PATCH 06/11] Update README.rst --- README.rst | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 63ff4d383..347789462 100644 --- a/README.rst +++ b/README.rst @@ -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| @@ -165,34 +171,41 @@ Supported, automatically tested and provided as binary packages. * - OS - Architecture - Notes + - Status * - Windows - 64bit (x86_64) - - Using MSVC 19 with Toolset 14.1 + - MSVC 19 with Toolset 14.1 + - |WinBadge| * - Windows - 32bit (x86) - - Using MSVC 19 with Toolset 14.1 + - 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. - -.. warning:: - Not guaranteed to work after a version update +Not guaranteed to work after a version update! .. list-table:: Platform Support :header-rows: 1 From 47bc178dfcd771da0b0f141b3d48b297d3d2d177 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Tue, 3 Dec 2024 09:39:48 +0100 Subject: [PATCH 07/11] fixup! Update README.rst --- README.rst | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 347789462..16f32be40 100644 --- a/README.rst +++ b/README.rst @@ -148,10 +148,18 @@ call CMake in your build directory as follows:: 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. +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 combination of the used operating system (OS), the CPU + Architecture (eg. x86 or ARM64) and the compiler/toolchain used. An example + would be `Ubuntu 20.04 x86_64 Clang 10`. 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. .. list-table:: Tier Definitions @@ -189,7 +197,7 @@ Supported, automatically tested and provided as binary packages. - | 18.04 LTS: GCC 8 | 20.04 LTS: Clang 10 | 22.04 LTS: GCC11/Clang 18 - - | |AsanBadge| + - | |AsanBadge| | |UbsanBadge| | |TsanBadge| * - Ubuntu From 0ba0375a47adf814d65c0f6068158ed7019ef36e Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Tue, 3 Dec 2024 09:47:22 +0100 Subject: [PATCH 08/11] fixup! fixup! Update README.rst --- README.rst | 56 ++++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 31 deletions(-) diff --git a/README.rst b/README.rst index 16f32be40..c0a3cd118 100644 --- a/README.rst +++ b/README.rst @@ -149,24 +149,20 @@ Platform support ---------------------------------------- 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 combination of the used operating system (OS), the CPU - Architecture (eg. x86 or ARM64) and the compiler/toolchain used. An example - would be `Ubuntu 20.04 x86_64 Clang 10`. 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. - -.. 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. + 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 combination of the used operating system (OS), the CPU +Architecture (eg. x86 or ARM64) and the compiler/toolchain used. An example +would be `Ubuntu 20.04 x86_64 Clang 10`. 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. + Tier 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -179,35 +175,33 @@ Supported, automatically tested and provided as binary packages. * - 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 + * - Ubuntu 18.04 + - amd64 + - GCC 8 + * - Ubuntu 20.04 + - amd64 + - Clang 10 + * - Ubuntu 22.04 - amd64 - - | 18.04 LTS: GCC 8 - | 20.04 LTS: Clang 10 - | 22.04 LTS: GCC11/Clang 18 - - | |AsanBadge| - | |UbsanBadge| - | |TsanBadge| + - | GCC11/Clang 18 + | + Address Sanitizer + | + Undefined Behaviour Sanitizer + | + Thread Sanitizer * - Ubuntu - ARM64 - 22.04 LTS: Clang 18 - - |LinuxARM64| * - MAC OS - ARM64/M1 - AppleClang 15 - - |MacOS| Tier 2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 83c1cd00877b5449abcb8c7963f18e48d4add531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Kr=C3=A4mer?= Date: Tue, 3 Dec 2024 09:54:51 +0100 Subject: [PATCH 09/11] Update README.rst --- README.rst | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/README.rst b/README.rst index c0a3cd118..7bf29b031 100644 --- a/README.rst +++ b/README.rst @@ -148,18 +148,27 @@ call CMake in your build directory as follows:: Platform support ---------------------------------------- -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. +SIL Kit provides two tiers of platform support + +.. list-table:: Support Tiers + + * - Tier 1 + - Officially build, continuously tested targets for which we provide binary + packages + * - Tier 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 combination of the used operating system (OS), the CPU Architecture (eg. x86 or ARM64) and the compiler/toolchain used. An example -would be `Ubuntu 20.04 x86_64 Clang 10`. SIL Kit should compile and run on +would be `Ubuntu 20.04 x86_64 Clang 10`. + +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 +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. @@ -207,7 +216,7 @@ Tier 2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build and tested by individual contributors or users. -Not guaranteed to work after a version update! +Since these are not part of the CI pipeline, compatibility with these platforms can be broken at any time! .. list-table:: Platform Support :header-rows: 1 From 664ba86bf74e0f3158e6b8201a970b6335d7c25b Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Tue, 10 Dec 2024 10:01:36 +0100 Subject: [PATCH 10/11] fixup! Update README.rst --- README.rst | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/README.rst b/README.rst index 7bf29b031..8d311dcf9 100644 --- a/README.rst +++ b/README.rst @@ -176,7 +176,7 @@ packages available for it. Tier 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Supported, automatically tested and provided as binary packages. +Essential targets. Automatically tested and provided as binary packages. .. list-table:: Platform Support :header-rows: 1 @@ -190,29 +190,38 @@ Supported, automatically tested and provided as binary packages. * - Windows - 32bit (x86) - MSVC 19 with Toolset 14.1 - * - Windows - - 64bit (x86_64) - - MSYS2/Mingw: GCC 14 * - Ubuntu 18.04 - amd64 - GCC 8 * - Ubuntu 20.04 - amd64 - Clang 10 + +Tier 2 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Officially supported and automatically tested. NO binary packages provided + +.. list-table:: Platform Support + :header-rows: 1 + + * - Windows + - 64bit (x86_64) + - MSYS2/Mingw: GCC 14 * - Ubuntu 22.04 - amd64 - - | GCC11/Clang 18 + - | GCC 11/Clang 18 | + Address Sanitizer | + Undefined Behaviour Sanitizer | + Thread Sanitizer - * - Ubuntu + * - Ubuntu 22.04 - ARM64 - - 22.04 LTS: Clang 18 + - Clang 18 * - MAC OS - ARM64/M1 - AppleClang 15 -Tier 2 +Tier 3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build and tested by individual contributors or users. @@ -224,6 +233,10 @@ Since these are not part of the CI pipeline, compatibility with these platforms * - Platform - Architecture - Notes + * - Ubuntu 24.04 + - amd64 + - | GCC 13 + | Clang 18 * - QNX 7.1 RTOS - X86 64bit - QNX GCC 8 From 565cda320332dfd850c5ce11e46f5dfd02b7f817 Mon Sep 17 00:00:00 2001 From: Jan Kraemer Date: Tue, 10 Dec 2024 10:06:31 +0100 Subject: [PATCH 11/11] fixup! fixup! Update README.rst --- README.rst | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 8d311dcf9..5a78beb4f 100644 --- a/README.rst +++ b/README.rst @@ -148,14 +148,17 @@ call CMake in your build directory as follows:: Platform support ---------------------------------------- -SIL Kit provides two tiers of platform support +SIL Kit provides three tiers of platform support .. list-table:: Support Tiers * - Tier 1 - - Officially build, continuously tested targets for which we provide binary - packages - * - Tier 2 + - Essential targets. Continuously tested and + official binary packages are provided. + * - Tier 1 + - Officially supported targets. Continuously tested + but NO binary packages are provided + * - Tier 3 - | Targets for which we have (limited) build support but which | are not continuously tested and no packages are provided from us @@ -176,7 +179,7 @@ packages available for it. Tier 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Essential targets. Automatically tested and provided as binary packages. +Essential targets. Automatically tested and provided as official binary packages. .. list-table:: Platform Support :header-rows: 1