Crate cargo_compiler_interrupts[−][src]
Expand description
cargo-compiler-interrupts
provides you a simple way to integrate the Compiler Interrupts to any Rust packages. Check out the Compiler Interrupts main repository for more documentation.
Requirements
- Rust 1.45.0 or later and LLVM 9 or later are required. Both must have the same LLVM version.
- You can check the LLVM version from Rust toolchain and LLVM toolchain by running
rustc -vV
andllvm-config --version
respectively. - x86-64 architecture with Linux or macOS is highly recommended. Other architectures and platforms have not been tested.
Installation
cargo-compiler-interrupts
is a Cargo package and can be installed via cargo install
.
cargo install cargo-compiler-interrupts
You can also fetch the repo and install using --path
.
git clone https://github.com/bitslab/cargo-compiler-interrupts cargo install --path ./cargo-compiler-interrupts
Getting started
cargo-compiler-interrupts
provides three subcommands:
cargo lib-ci --install # install the CI library cargo build-ci # build and integrate CI to the binary cargo run-ci # run the CI-integrated binary
cargo lib-ci
— install or uninstall the Compiler Interrupts library.cargo build-ci
— build and integrate the Compiler Interrupts to the binary.cargo run-ci
— run the integrated binary. You can specify which binary to run by passing--bin <BINARY_NAME>
.
For more detailed usage and internals, please run the command with --help
option and check out the documentation.
Contribution
All issue reports, feature requests, pull requests and GitHub stars are welcomed and much appreciated.
Author
Quan Tran (@quanshousio)
Acknowledgements
- My advisor Jakob Eriksson for the enormous support for this project.
- Nilanjana Basu for implementing the Compiler Interrupts.
License
cargo-compiler-interrupts
is available under the MIT license. See the LICENSE file for more info.
Modules
Handles configuration for the Compiler Interrupts library.
Errors related to Compiler Interrupts integration.
Implementation for the subcommands.
Handles options for the subcommands.
Miscellaneous utilities.
Type Definitions
Compiler Interrupts result.