kassane/meta-clang — explained in plain English
Analysis updated 2026-07-18 · repo last pushed 2023-10-24
Build a custom Linux image for an ARM IoT device using Clang instead of GCC for faster compile times.
Enable Link-Time Optimization on a kernel build by switching specific packages to the Clang toolchain.
Align a Yocto-based Android device build with the same Clang toolchain Android kernels already use.
| kassane/meta-clang | 0verflowme/alarm-clock | 0verflowme/seclists | |
|---|---|---|---|
| Language | — | CSS | — |
| Last pushed | 2023-10-24 | 2022-10-03 | 2020-05-03 |
| Maintenance | Dormant | Dormant | Dormant |
| Setup difficulty | hard | easy | easy |
| Complexity | 4/5 | 2/5 | 1/5 |
| Audience | developer | vibe coder | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Some recipes don't build cleanly with Clang yet, the project maintains a list of known failures to fall back to GCC.
This project lets you swap out the default C/C++ compiler in a Yocto Project or OpenEmbedded build with Clang, an alternative to the standard GNU compiler (GCC). Yocto and OpenEmbedded are tools for building custom Linux systems for embedded devices, and they normally use GCC to compile everything. This layer adds Clang as an option, and it can sit alongside GCC so you can use Clang for specific components or for the entire system build. At a high level, you add this layer to your existing Yocto or OpenEmbedded setup, then flip a configuration variable to tell the build system to use Clang instead of (or alongside) GCC. You can make Clang the default compiler for everything, or you can target individual packages. The layer also lets you choose which C++ runtime libraries to use, you can stick with the GNU defaults for maximum compatibility, or switch to LLVM's own runtime libraries. Some components don't build cleanly with Clang yet, so the project includes a way to flag those to fall back to GCC automatically. This is useful for embedded Linux developers and teams building custom distributions for hardware like routers, IoT devices, or Android-based gadgets. For example, if you are building a custom Linux image for an ARM device and want to take advantage of Clang's faster compile times, better error messages, or features like Link-Time Optimization (LTO) for kernel builds, this layer makes that possible within the standard Yocto workflow. Android kernels already use Clang, so teams working in that ecosystem can align their Yocto builds with the same toolchain. One notable design choice is that the defaults lean heavily toward GNU compatibility. Even when you switch the compiler to Clang, the project keeps GNU runtime libraries as the default and still uses GNU's C runtime startup files. This means switching to Clang is low-risk, most things keep working the same way, but you can opt into a fuller LLVM toolchain if your distribution calls for it. The project is also transparent about its limitations, maintaining a list of recipes that are known not to build with Clang.
A Yocto/OpenEmbedded layer that lets embedded Linux developers swap the default GCC compiler for Clang, either for the whole build or specific packages.
Dormant — no commits in 2+ years (last push 2023-10-24).
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.