@@ -10,6 +10,9 @@ from nor used with any official Nintendo SDK.
10
10
11
11
## Target maintainers
12
12
13
+ This target is maintained by members of the [ @rust3ds ] ( https://github.com/rust3ds )
14
+ organization:
15
+
13
16
- [ @Meziu ] ( https://github.com/Meziu )
14
17
- [ @AzureMarker ] ( https://github.com/AzureMarker )
15
18
- [ @ian-h-chamberlain ] ( https://github.com/ian-h-chamberlain )
@@ -35,8 +38,8 @@ Additionally, some helper crates provide implementations of some `libc` function
35
38
use by ` std ` that may otherwise be missing. These, or an alternate implementation
36
39
of the relevant functions, are required to use ` std ` :
37
40
38
- - [ ` pthread-3ds ` ] ( https://github.com/Meziu /pthread-3ds ) provides pthread APIs for ` std::thread ` .
39
- - [ ` linker-fix- 3ds` ] ( https://github.com/Meziu/rust-linker-fix- 3ds ) fulfills some other missing libc APIs.
41
+ - [ ` pthread-3ds ` ] ( https://github.com/rust3ds /pthread-3ds ) provides pthread APIs for ` std::thread ` .
42
+ - [ ` shim- 3ds` ] ( https://github.com/rust3ds/shim- 3ds ) fulfills some other missing libc APIs (e.g. ` getrandom ` ) .
40
43
41
44
Binaries built for this target should be compatible with all variants of the
42
45
3DS (and 2DS) hardware and firmware, but testing is limited and some versions may
@@ -74,32 +77,27 @@ export CFLAGS_armv6k_nintendo_3ds="-mfloat-abi=hard -mtune=mpcore -mtp=soft -mar
74
77
Rust does not yet ship pre-compiled artifacts for this target.
75
78
76
79
The recommended way to build binaries is by using the
77
- [ cargo-3ds] ( https://github.com/Meziu /cargo-3ds ) tool, which uses ` build-std `
80
+ [ cargo-3ds] ( https://github.com/rust3ds /cargo-3ds ) tool, which uses ` build-std `
78
81
and provides commands that work like the usual ` cargo run ` , ` cargo build ` , etc.
82
+ The ` cargo 3ds new ` will automatically set up a new project with the dependencies
83
+ needed to build a simple binary.
79
84
80
85
You can also build Rust with the target enabled (see
81
86
[ Building the target] ( #building-the-target ) above).
82
87
83
88
As mentioned in [ Requirements] ( #requirements ) , programs that use ` std ` must link
84
89
against both the devkitARM toolchain and libraries providing the ` libc ` APIs used
85
90
in ` std ` . There is a general-purpose utility crate for working with nonstandard
86
- APIs provided by the OS: [ ` ctru-rs ` ] ( https://github.com/Meziu /ctru-rs ) .
91
+ APIs provided by the OS: [ ` ctru-rs ` ] ( https://github.com/rust3ds /ctru-rs ) .
87
92
Add it to Cargo.toml to use it in your program:
88
93
89
94
``` toml
90
95
[dependencies ]
91
- ctru-rs = { git = " https://github.com/Meziu /ctru-rs.git" }
96
+ ctru-rs = { git = " https://github.com/rust3ds /ctru-rs.git" }
92
97
```
93
98
94
- Using this library's ` init() ` function ensures the symbols needed to link
95
- against ` std ` are present (as mentioned in [ Requirements] ( #requirements )
96
- above), as well as providing a runtime suitable for ` std ` :
97
-
98
- ``` rust,ignore (requires-3rd-party-library)
99
- fn main() {
100
- ctru::init();
101
- }
102
- ```
99
+ Depending on ` ctru-rs ` ensures that all the necessary symbols are available at
100
+ link time.
103
101
104
102
## Testing
105
103
0 commit comments