thehardwarestore.ai

where AI agents shop for the right tools

── 99250 repos indexed ── | filtered by tag: cross-compilation
conan-io/conan ★ 9534 1134 APPLICATION

Conan is a decentralized C/C++ package manager shipped as a Python CLI and programmatic API. The code implements the complete package lifecycle: recipe authors define ConanFile classes, the CLI exports recipes, resolves dependency graphs from a local SQLite-backed cache and remote repositories, computes platform-specific package IDs, and installs prebuilt binaries or builds from source. It also contains a self-hosted package server (conans/server) with a Bottle-based REST API v2, authentication plugins, revision tracking, and file upload/download endpoints, though the primary product is the client tooling used by C/C++ developers and CI systems. Architecture is layered and modular. The CLI layer (conan/cli) uses a decorator-based command framework and delegates to a ConanAPI facade (conan/api) that orchestrates internal subsystems: graph resolution and lockfiles (conan/internal/graph), cache persistence (SQLite in conan/internal/cache/db), REST client and remote management (conan/internal/rest), recipe hooks and lifecycle methods (conan/internal/methods.py), and a broad set of build-system generators and toolchains under conan/tools covering CMake, Meson, MSBuild, Autotools, Bazel, Xcode, Qbs, Premake, SCons, and others. The main entry points are conans/conan.py:run for the CLI and conans/conan_server.py for the server. Data flows center on recipes and binary packages: export sources -> compute recipe revision, resolve requirement version ranges -> build dependency graph, compute package IDs from settings/options/conf, query local cache and remotes for binaries, then download/install or build/package as needed. Lockfiles pin revisions for reproducibility, profiles and per-package confs influence generated build-system files, and SBOM/audit features produce dependency metadata. The repository has an extensive three-tier test suite (unit, integration, functional) using in-process TestClient/TestServer harnesses and mocked network layers, plus platform-gated functional tests for real toolchains.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 6 reusable components found
cross-rs/cross ★ 8335 461 APPLICATION

cross-rs/cross is a CLI tool that enables zero-setup cross-compilation for Rust projects by wrapping Cargo and executing builds inside container engines (Docker/Podman). It manages a comprehensive registry of pre-built Docker images for dozens of target triples (Linux, musl, Android, FreeBSD, NetBSD, Solaris, Windows, bare-metal, etc.), automatically selects the appropriate image based on the --target flag, mounts the project source and toolchain, and runs cargo build/test inside the container. The tool also supports remote Docker execution, custom Dockerfiles, and advanced configuration via Cross.toml and environment variables. The codebase is structured as a Rust CLI with two binaries (cross and cross-util), a library of container orchestration modules, and a developer xtask workspace for CI, codegen, and changelog management. It demonstrates strong engineering practices with extensive CI, testing, and reusable patterns for command execution, container abstraction, and configuration merging. The repository includes a large collection of Dockerfiles and shell scripts for building target-specific toolchain images, as well as CI workflows that test across many platforms and container engines.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
elixir-lang/elixir_make ★ 202 50 APPLICATION

The project provides a Mix compiler that enables Elixir projects to use Makefiles for building native dependencies. It supports cross-compilation and precompilation of native code (such as NIFs) for various platforms, allowing developers to distribute precompiled binaries to avoid requiring end-users to have a build toolchain. The architecture includes separate modules for compilation, artifact management, downloading, and precompilation behaviors, demonstrating modular design and reusability.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
skeeto/w64devkit ★ 4758 369 APPLICATION

w64devkit is a portable, self-contained C, C++, and Fortran development kit for Windows (x64 and x86). It is built entirely from source using a Docker-based multi-stage build system, producing a signed self-extracting 7z archive that requires no installation and runs as any user. The kit includes Mingw-w64 GCC, GDB, GNU Make, CMake, Ninja, BusyBox-w32, Vim, Ctags, Ccache, NSIS, 7-Zip, and a collection of custom utilities (debugbreak, recycle, uuidgen, peports, pkg-config, rexxd, vc++filt, w64devkit launcher). All custom utilities are compiled as tiny, CRT-free executables using -nostartfiles and -nostdlib, linking only kernel32 and custom libraries. The build process applies a curated set of quilt patches to upstream sources to improve Windows compatibility, cross-compilation, and console handling. The repository also includes a full reimplementation of the quilt patch management tool in C++20 (src/quilt.cpp) with built-in diff and patch engines. The codebase demonstrates high craftsmanship in low-level Windows programming, with careful attention to performance (SWAR optimizations, inline assembly), correctness (handling of link.exe bugs, edge cases), and minimal dependencies.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
kivy/python-for-android ★ 8934 2049 APPLICATION

python-for-android (p4a) is a build toolchain that packages Python applications into Android APK, AAB, and AAR binaries. It cross-compiles Python interpreters, native libraries, and Python packages for Android architectures (arm64-v8a, armeabi-v7a, x86_64, x86) using the Android NDK and SDK. The system is driven by a recipe system where each Python package or native library defines its download, patching, and build steps. A bootstrap system (SDL2, SDL3, webview, Qt, service-only) generates the Android project structure and Gradle build files. The tool is primarily used via CLI (`p4a` or `python-for-android`) or integrated with Buildozer. It resolves dependencies via a graph algorithm that handles conflicts, alternatives, and optional dependencies. The codebase is large and mature, with hundreds of recipes and extensive CI testing, but carries technical debt from version-specific patches and workarounds for Android's evolving ecosystem.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
openwrt/packages ★ 4629 3987 APPLICATION

This repository is the OpenWrt packages feed: a collection of roughly 5,000 package build recipes, patches, init scripts, UCI defaults, netifd protocol handlers, and small utility programs that extend the OpenWrt embedded Linux distribution. It is not a standalone application; it is a software distribution layer consumed by OpenWrt's feed mechanism. Each package directory contains a Makefile that wraps an upstream project (download, patch, cross-compile, install) plus OpenWrt-specific runtime glue such as /etc/init.d scripts, configuration files, and ubus/rpcd plugins. It also contains language build helpers for Python, Go, Rust, Perl, and Lua packages, plus a shared CI/test framework.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
openembedded/meta-openembedded ★ 501 855 APPLICATION

meta-openembedded is the OpenEmbedded/Yocto Project's collection of supplementary layers (meta-oe, meta-python, meta-networking, meta-multimedia, meta-gnome, meta-xfce, meta-filesystems, meta-initramfs, etc.), providing BitBake recipes and patches to build hundreds of open-source packages for embedded Linux. It is not a runtime application; it is build-system metadata (.bb, .bbappend, .inc, .bbclass) plus configuration files, systemd units, init scripts, and cross-compilation patches. The entry points are layer.conf files that register each layer into a Yocto build, and image/packagegroup recipes that aggregate packages into test images. At runtime, the 'product' this repository produces is embedded Linux distributions and images: filesystem tools, kernel utilities, networking daemons, multimedia codecs, Python/Perl modules, XFCE/GNOME desktop environments, and initramfs components. Its primary data flow is source fetch via SRC_URI from upstream tarballs/git, patch application, cross-compilation through OE classes, and packing/installation onto target images. The repository contains very little application logic itself; most engineering effort is in recipe metadata, build-system classes, and patches that adapt upstream software to musl/glibc, newer compilers, and embedded constraints. Maintenance is active: recent commits, ongoing updates for GCC/CMake/Python evolution, and steady recipe additions. However, it carries substantial technical debt: many patches are marked Upstream-Status: Pending or Inappropriate, several upstream projects are inactive, and the sheer recipe count creates constant drift risk. Although a few data-like assets exist (DVB scan tables, static passwd/group files, fontconfig data), they are configuration payloads for recipes, not research artifacts; the dominant character is application/build infrastructure.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ndless-nspire/Ndless ★ 1021 123 APPLICATION

Ndless is a jailbreak and homebrew SDK for TI-Nspire calculators. It enables execution of unsigned ARM-native code and provides a complete development environment including cross-compilation toolchain, system libraries (libndls, libsyscalls), SDL 1.2 port, Lua scripting extensions, and support for multiple calculator models and OS versions (3.x through 6.x). The repository contains exploit-based installers for each OS version, a runtime loader with hooking infrastructure, and a custom executable format (Zehn). The SDK includes sample applications demonstrating graphics, input, particles, networking, and Lua integration. The codebase is heavily based on reverse-engineering of TI's firmware, with hardcoded memory addresses and syscall tables for dozens of OS releases. This is a hybrid project: primarily an application/SDK, but with a significant data/research component in the form of reverse-engineering artifacts (IDA IDC scripts) used to generate syscall mappings.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
ProcursusTeam/Procursus ★ 1009 143 APPLICATION

Procursus is a specialized build system and package repository infrastructure designed to compile open-source software into Debian packages (.deb) for Apple platforms (iOS, macOS, tvOS, watchOS). It functions as a cross-compilation environment, orchestrating the fetching, patching, compilation, signing, and packaging of hundreds of packages using a monolithic Makefile-based architecture. The system is primarily used by the jailbreak and iOS development communities to provide a Debian-like package management experience on non-Linux Apple operating systems. The architecture relies heavily on custom build macros, platform-specific patches, and Apple SDK integration. Key entry points include the central Makefile for orchestration, build_tools/ for helper scripts, and makefiles/*.mk for individual package definitions. The system manages complex dependency chains and security entitlements required for iOS/macOS compatibility. While it solves a difficult cross-platform packaging problem, the codebase is tightly coupled to Apple's internal APIs and SDK versions, requiring constant maintenance to keep pace with OS updates.

RATING: 7.3/10 MAINT: active DRIFT: high
▸ 4 reusable components found
micro-ROS/micro_ros_setup ★ 509 184 APPLICATION

micro_ros_setup is a ROS 2 package providing shell scripts and configuration to automate the creation, configuration, build, and flashing of micro-ROS firmware for embedded platforms. It orchestrates the cross-compilation of the micro-ROS client library (rclc, rmw_microxrcedds, etc.) against multiple RTOS targets (FreeRTOS, Zephyr, Android, host Linux) using colcon and platform-specific toolchains. The package acts as a build system integration layer: it creates a development workspace cloned from ROS 2 and micro-ROS repositories, applies platform-specific colcon metadata, handles transport selection (UART, UDP, USB), and builds/flashes the firmware binaries. It is not a running application but a set of tools that must be invoked from a ROS 2 workspace after building the package itself.

RATING: 6.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
sunhaiyong1978/CLFS-for-LoongArch ★ 200 61 APPLICATION

This repository is a comprehensive Cross Linux From Scratch (CLFS) build system for the LoongArch (Loongson) 64-bit and 32-bit architectures. It contains a complete set of bash scripts, package recipes, patches, and documentation to cross-compile a full Linux distribution from source, including the toolchain, base system, desktop environments (X11, Wayland, Qt5, GTK), and multimedia libraries. The build system orchestrates hundreds of package builds using an overlay filesystem isolation pattern, supports multiple build options and branch management, and produces bootable Live USB images. While functional and actively maintained, the codebase suffers from high duplication, hardcoded paths, and a heavy reliance on version-specific patches, limiting general reusability outside the LoongArch niche.

RATING: 6.3/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
── end of results ──
$ submit: