Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. CMake
  3. dockcross

dockcross

MITShelltoolchain-sources

Pre-configured Docker images with cross-compilation toolchains for building software across multiple architectures and platforms.

Visit WebsiteGitHubGitHub
3.6k stars425 forks0 contributors

What is dockcross?

Dockcross is a collection of Docker images that provide pre-configured cross-compilation toolchains for building software targeting multiple CPU architectures and operating systems. It solves the problem of setting up complex cross-compilation environments by packaging compilers, libraries, and build tools into portable containers that work consistently across different host systems.

Target Audience

Developers and system integrators who need to build software for embedded systems, multiple Linux architectures, Android, Windows, or WebAssembly from a single development machine, particularly those working on CI/CD pipelines or projects requiring reproducible builds.

Value Proposition

Dockcross eliminates the headache of manually configuring cross-compilation toolchains by providing ready-to-use Docker images with everything pre-installed and properly configured. It offers a consistent, isolated build environment that works across different host systems and simplifies targeting exotic or multiple architectures.

Overview

Cross compiling toolchains in Docker images

Use Cases

Best For

  • Building Linux applications for ARM-based devices like Raspberry Pi from an x86_64 development machine
  • Creating WebAssembly or WASI binaries from C/C++ source code
  • Cross-compiling Windows executables from Linux or macOS hosts
  • Developing Android native libraries without installing the full NDK locally
  • Building Python wheel packages for multiple Linux distributions using manylinux images
  • Setting up reproducible CI/CD pipelines for embedded or multi-platform software

Not Ideal For

  • Projects requiring direct hardware testing or flashing of embedded devices without container abstraction
  • Environments with strict security policies that prohibit the installation or use of Docker or Podman
  • Teams targeting a single, common architecture where native toolchains are simpler and more performant
  • Development for very new CPU architectures not yet added to the Dockcross image registry

Pros & Cons

Pros

Wide Target Support

Supports over 50 pre-configured toolchains for architectures including ARM, MIPS, PowerPC, RISC-V, WebAssembly, Android, and Windows, as detailed in the extensive summary table.

Integrated Build Ecosystem

Includes CMake, Ninja, Meson, Conan package manager, and Rustup, reducing the need for external tool installation and configuration.

Clean Environment Isolation

Commands run as the host user with proper file ownership, and build tools are containerized to prevent host system contamination.

Multi-runtime Compatibility

Works with Docker or Podman via the OCI_EXE environment variable, offering flexibility in container runtime choice.

Cons

Container Runtime Dependency

Requires Docker or Podman to be installed and running, which can be a barrier in restricted environments or for users avoiding container overhead.

Limited Pre-built Host Variety

Default images are only for x86_64 hosts; building for ARM64 or other host architectures requires manual compilation, as admitted in the 'Build images by yourself' section.

Image Maintenance Challenges

The project lists deprecated images (e.g., manylinux-x86 with EOL dates), forcing users to actively manage updates to avoid unsupported toolchains.

Initial Setup Steps

Installation involves pulling Docker images, generating helper scripts, and configuring per-project settings, which adds upfront complexity compared to native toolchains.

Frequently Asked Questions

Quick Stats

Stars3,600
Forks425
Contributors0
Open Issues3
Last commit12 days ago
CreatedSince 2015

Tags

#webassembly#multi-architecture#embedded#android#cross-compilation#cmake-toolchains#c#cmake#c-plus-plus#build-system#toolchains#docker#fortran#linux

Built With

c
crosstool-ng
D
Debian
G
GCC
N
Ninja
C
Clang
C
CMake
C
Conan
M
Meson
r
rustup
D
Docker
B
Buildroot

Links & Resources

Website

Included in

CMake5.4k
Auto-fetched 16 hours ago

Related Projects

android-cmakeandroid-cmake

CMake toolchain file and other scripts for the Android NDK

Stars1,228
Forks425
Last commit8 years ago
pollypolly

:wrench: Collection of CMake toolchain files and scripts for cross-platform build and CI testing (GCC, Visual Studio, iOS, Android, Clang analyzer, sanitizers etc.)

Stars869
Forks187
Last commit5 years ago
ios-cmakeios-cmake

A toolchain file and examples using cmake for iOS development (this is a fork of a similar project found on code.google.com)

Stars317
Forks105
Last commit5 years ago
qt-android-cmakeqt-android-cmake

A simple CMake utility for building and deploying Qt based applications on Android without QtCreator

Stars250
Forks83
Last commit4 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub