# Compatibility Matrix

If your OS, target platform or build environment is not compatible with beLow, please contact us at <support@wedolow.com> to discuss your use case.

### Product

beLow is composed of multiple components (see [Installation modes section](https://docs.wedolow.com/below-technical-documentation/readme/installation-modes)). Each component set has its own set of compatibilities. These compatibilities are presented in the table below.

| OS / Distribution    | Full local solution | Server\* | Runner |  UI | CLI tool |
| -------------------- | :-----------------: | :------: | :----: | :-: | :------: |
| Windows 11 (amd64)   |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |
| Windows 10 (amd64)   |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |
| Ubuntu 24.04 (amd64) |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |
| Ubuntu 22.04 (amd64) |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |
| Ubuntu 22.04 (ARM64) |          ❌          |     ❌    |    ✅   |  ❌  |     ❌    |
| Ubuntu 20.04 (amd64) |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |
| RHEL 8 (amd64)       |          ✅          |     ✅    |    ✅   |  ✅  |     ✅    |

{% hint style="info" %}
\*The Server part requires Docker.
{% endhint %}

### Languages

beLow is compatible with C and C++ code using any standard.

### Target platforms

beLow is compatible with multiple target platforms, listed below.

* ARM (32-bit)
* ARM (64-bit)
* Tricore (32-bit)
* x86\_64 (64-bit)
* Power-ISA (64-bit)
* Cortex-M0 (ARMv6-M)
* Cortex-A72 (ARMv8)
* Infineon TC29x
* Intel Skylake
* NXP PowerPC E6500
* Cortex-M0+ (ARMv6-M)
* Cortex-A76AE (ARMv8)
* Cortex-A15 (ARMv7)
* Cortex-M3 (ARMv7)
* Cortex-M4 (ARMv7)
* Cortex-R5 (ARMv7)

### Compilers

beLow is compatible with multiple compilers:

* GNU gcc/g++
* Clang
* HighTec Tricore gcc
* ICCARM (IAR Embedded Workbench for ARM compiler)

### Build environment

beLow is compatible with multiple build environments, depending on the build OS.

| Build system / Environment     | Linux | Windows |
| ------------------------------ | :---: | :-----: |
| Makefiles                      |   ✅   | ✅\*\*\* |
| CMake                          |   ✅   |    ✅    |
| Bazel                          |   ✅   |    ✅    |
| STM32CubeIDE                   |   ✅   |    ✅    |
| IAR Embedded Workbench for ARM |   ✅   |    ✅    |
| Compilation database\*         |   ✅   |    ✅    |
| Docker container\*\*           |   ✅   |    ✅    |
| Custom scripts                 |   ✅   |    ❌    |

{% hint style="info" %}

* A [compilation database](https://clang.llvm.org/docs/JSONCompilationDatabase.html) is a structured JSON representation of all compilation invocations in your project. Many build frameworks/IDEs can generate one.

\*\* Building from a Docker container requires it to be compatible with the compatibility list of the Runner service in the Product section: <https://docs.wedolow.com/below-technical-documentation/compatibility#product>

\*\*\* Makefiles for Windows are only compatible when using GCC-based compilers for now.
{% endhint %}

For more information about making your projects compatible with beLow, see the [compatibility guide](/documentation/ressources/compatibility-guide.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wedolow.com/documentation/ressources/compatibility-guide/compatibility-matrix.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
