File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed
src/doc/unstable-book/src/compiler-flags Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ # ` codegen-backend `
2+
3+ The tracking issue for this feature is: [ #77933 ] ( https://github.com/rust-lang/rust/issues/77933 ) .
4+
5+ ------------------------
6+
7+ This feature allows you to specify a path to a dynamic library to use as rustc's
8+ code generation backend at runtime.
9+
10+ Set the ` -Zcodegen-backend=<path> ` compiler flag to specify the location of the
11+ backend. The library must be of crate type ` dylib ` and must contain a function
12+ named ` __rustc_codegen_backend ` with a signature of ` fn() -> Box<dyn rustc_codegen_ssa::traits::CodegenBackend> ` .
13+
14+ ## Example
15+ See also the [ ` hotplug_codegen_backend ` ] ( https://github.com/rust-lang/rust/tree/master/src/test/run-make-fulldeps/hotplug_codegen_backend ) test
16+ for a full example.
17+
18+ ``` rust,ignore
19+ use rustc_codegen_ssa::traits::CodegenBackend;
20+
21+ struct MyBackend;
22+
23+ impl CodegenBackend for MyBackend {
24+ // Implement codegen methods
25+ }
26+
27+ #[no_mangle]
28+ pub fn __rustc_codegen_backend() -> Box<dyn CodegenBackend> {
29+ Box::new(MyBackend)
30+ }
31+ ```
You can’t perform that action at this time.
0 commit comments