embuild/
lib.rs

1//! # Build support for embedded Rust
2//!
3//! A library with many utilities for building embedded frameworks, libraries, and other
4//! artifacts in a cargo build script.
5//!
6//! It is currently mainly used to simplify building the [`esp-idf`](https://github.com/espressif/esp-idf) in the build script of the
7//! [`esp-idf-sys`](https://github.com/esp-rs/esp-idf-sys) crate, but anyone may use them as they're intended to be general. The
8//! utilities are organized into specific modules so that they and their dependencies can be
9//! turned on or off with features.
10
11// Allows docs.rs to document any needed features for items (needs nightly rust).
12#![cfg_attr(docsrs, feature(doc_auto_cfg))]
13
14#[cfg(feature = "bindgen")]
15pub mod bindgen;
16
17#[cfg(feature = "pio")]
18pub mod pio;
19
20#[cfg(feature = "cmake")]
21pub mod cmake;
22
23#[cfg(feature = "espidf")]
24pub mod espidf;
25
26#[cfg(feature = "git")]
27pub mod git;
28
29#[cfg(feature = "kconfig")]
30pub mod kconfig;
31
32#[cfg(feature = "elf")]
33pub mod symgen;
34
35#[cfg(feature = "elf")]
36pub mod bingen;
37
38pub mod build;
39pub mod cargo;
40pub mod cli;
41pub mod cmd;
42pub mod fs;
43pub mod python;
44pub mod utils;