]> git.lizzy.rs Git - rust.git/blob - src/doc/rustc/src/platform-support/openbsd.md
Rollup merge of #106692 - eggyal:mv-binary_heap.rs-binary_heap/mod.rs, r=Mark-Simulacrum
[rust.git] / src / doc / rustc / src / platform-support / openbsd.md
1 # \*-unknown-openbsd
2
3 **Tier: 3**
4
5 [OpenBSD] multi-platform 4.4BSD-based UNIX-like operating system.
6
7 [OpenBSD]: https://www.openbsd.org/
8
9 The target names follow this format: `$ARCH-unknown-openbsd`, where `$ARCH` specifies the target processor architecture. The following targets are currently defined:
10
11 |          Target name           | C++ library | OpenBSD Platform |
12 |--------------------------------|-------------|------------------|
13 | `aarch64-unknown-openbsd`      | libc++      | [64-bit ARM systems](https://www.openbsd.org/arm64.html)  |
14 | `i686-unknown-openbsd`         | libc++      | [Standard PC and clones based on the Intel i386 architecture and compatible processors](https://www.openbsd.org/i386.html) |
15 | `powerpc64-unknown-openbsd`    | libc++      | [IBM POWER-based PowerNV systems](https://www.openbsd.org/powerpc64.html) |
16 | `riscv64gc-unknown-openbsd`    | libc++      | [64-bit RISC-V systems](https://www.openbsd.org/riscv64.html) |
17 | `sparc64-unknown-openbsd`      | estdc++     | [Sun UltraSPARC and Fujitsu SPARC64 systems](https://www.openbsd.org/sparc64.html) |
18 | `x86_64-unknown-openbsd`       | libc++      | [AMD64-based systems](https://www.openbsd.org/amd64.html) |
19
20 Note that all OS versions are *major* even if using X.Y notation (`6.8` and `6.9` are different major versions) and could be binary incompatibles (with breaking changes).
21
22
23 ## Designated Developers
24
25 - [@semarie](https://github.com/semarie), `semarie@openbsd.org`
26 - [lang/rust](https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/lang/rust/Makefile?rev=HEAD&content-type=text/x-cvsweb-markup) maintainer (see MAINTAINER variable)
27
28 Fallback to ports@openbsd.org, OpenBSD third parties public mailing-list (with openbsd developers readers)
29
30
31 ## Requirements
32
33 These targets are natively compiled and could be cross-compiled.
34 C compiler toolchain is required for the purpose of building Rust and functional binaries.
35
36 ## Building
37
38 The target can be built by enabling it for a `rustc` build.
39
40 ```toml
41 [build]
42 target = ["$ARCH-unknown-openbsd"]
43
44 [target.$ARCH-unknown-openbsd]
45 cc = "$ARCH-openbsd-cc"
46 ```
47
48 ## Cross-compilation
49
50 These targets can be cross-compiled, but LLVM might not build out-of-box.
51
52 ## Testing
53
54 The Rust testsuite could be run natively.
55
56 ## Building Rust programs
57
58 Rust does not yet ship pre-compiled artifacts for these targets.