mustang

Selected C-ABI-compatible libc, libm, and libpthread interfaces

Github Actions CI Status zulip chat crates.io page docs.rs docs

Support crate for *-mustang-* targets. See [here] for usage instructions.

In non-*-mustang-* targets, importing this crate has no effect.

In *-mustang-* targets, this crate automatically pulls in crates to perform program initialization and termination, provide selected libc symbols, and registers a global allocator. By default, it uses [dlmalloc]; alternatively, [wee_alloc] can be enabled with a cargo feature.

To use, add a mustang dependency to Cargo.toml, and add this line to your main.rs:

rust mustang::can_run_this!();

This macro expands to nothing in non-*-mustang-* builds.

This is part of the [Mustang] project, building Rust programs written entirely in Rust.