Luckily, Cargo doesn't mind circular dev-dependencies and we can patch
to ensure it's using the same version. We can also leave this as a
`git = "..."` dependency if we want, since it's a dev dependency.
This commit adds support for translating:
- ``retval``
- ``return``
- ``sa``
- ``see``
- ``code``
- ``endcode``
- ``warning``
- ``ref``
- ``note``
- ``name``
There are no remaining tags in `ctru-sys` to translate
This adds a "_bin-dependency_" on ``ctru-sys`` to doxygen-rs, a project I've been roking on to improve Doxygen to Rustdoc conversion: https://github.com/Techie-Pi/doxygen-rs
All of our 3DS changes have been upstreamed. If in the future we need
to use the fork again, we can edit the top-level Cargo.toml and adjust
the patches (replace upstream with fork).
We don't want duplicate ctru-sys crates in the dependency graph. Same
for libc. We can patch them here to avoid any issues.
Now that we don't have duplicate ctru-sys crates, we can add back the
links field. This field is important because it warns us when there are
two crates linking to the same library (ex. duplicate ctru-sys crates).
This fixes the panic issue (not calling `panic_count::increase`) as well
as the missing debug info. The static lib contained a second copy of the
rust std, which caused these issues.
A side effect of removing this std is that the linker fix and pthread
library modules need to be "reachable" from the main module for Rust to
link them correctly. If the init methods of the modules are not called
somewhere, then a linker error will be emitted saying some symbols are
not found. The linker fix module didn't need this before because the
std included in the pthread static lib required those symbols, so they
were included. Now that the std is linked in later, Rust thinks these
symbols are unused (hence the init method).
Also moved the linker fix to be a dependency on ctru-rs. ctru-sys should
just be about interfacing with libctru.
I'd thought that it would be necessary for implementing features such as the std::os::raw types in ctr-std, but I do not believe that that is the case.