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 stars424 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,574
Forks424
Contributors0
Open Issues4
Last commit10 days ago
CreatedSince 2015

Tags

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

Built With

D
Debian
G
GCC
N
Ninja
C
Clang
C
CMake
C
Conan
M
Meson
D
Docker
B
Buildroot

Links & Resources

Website

Included in

CMake5.4k
Auto-fetched 1 day 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