Skip to content

Commit e9e5b6c

Browse files
authored
Add description about supported bindings (#359)
1 parent dbd2b4a commit e9e5b6c

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/lib.rs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22
//!
33
//! The crate only provides a summary of the parameters.
44
//! For more detailed documentation, see manpage.
5+
//!
6+
//! ## Supported Architectures
7+
//!
8+
//! ### Default Support
9+
//!
10+
//! The following architectures are supported by default with prebuilt bindings:
11+
//!
12+
//! * `x86_64`
13+
//! * `aarch64`
14+
//! * `riscv64`
15+
//! * `loongarch64`
16+
//! * `powerpc64`
17+
//!
18+
//! ### Custom Bindings for Unsupported Architectures
19+
//!
20+
//! If you need to build for a target architecture that is not supported by default, you have two options:
21+
//!
22+
//! **Option 1: Use the `bindgen` feature**
23+
//!
24+
//! ```toml
25+
//! [dependencies]
26+
//! io-uring = { version = "0.7", features = ["bindgen"] }
27+
//! ```
28+
//!
29+
//! This will generate bindings at build time for your specific architecture.
30+
//!
31+
//! **Option 2: Use your own bindings with `io_uring_use_own_sys`**
32+
//!
33+
//! If you have custom bindings that you want to use:
34+
//!
35+
//! 1. Generate or obtain the appropriate `sys.rs` bindings for your target architecture
36+
//! 2. Set the `IO_URING_OWN_SYS_BINDING` environment variable to point to your binding file
37+
//! 3. Build with the `io_uring_use_own_sys` cfg flag:
38+
//!
39+
//! ```bash
40+
//! export IO_URING_OWN_SYS_BINDING=/path/to/your/custom/sys.rs
41+
//! cargo build --cfg io_uring_use_own_sys
42+
//! ```
43+
//!
44+
//! This approach allows you to provide your own bindings without relying on bindgen or the prebuilt bindings.
545
646
#[macro_use]
747
mod util;

0 commit comments

Comments
 (0)