NOTE: This work is not yet fully complete; kernel is done, but
it was taking an exceedingly long time to get through libstratosphere.
Thus, I've temporarily added -Wno-error=unused-result for libstratosphere/stratosphere.
All warnings should be fixed to do the same thing Nintendo does as relevant, but this
is taking a phenomenally long time and is not actually the most important work to do,
so it can be put off for some time to prioritize other tasks for 21.0.0 support.
- Invoke Python scripts with `python3` if `python` is not available.
Despite SciresM preferring Python 2, the scripts used in the build all
worked in Python 3 already, so this is just a Makefile change.
- Export `MAKE` to work around a GNU bug.
See the comment for details.
- `rmdir --ignore-fail-on-non-empty` -> `rmdir 2>/dev/null`
macOS `rmdir` doesn't support `--ignore-fail-on-non-empty`.
This is a slight downgrade in functionality, because now we ignore all
errors from `rmdir` rather than just 'Directory not empty'. I could
have avoided this with a more complicated fix, but the benefit strikes
me as not worth the complexity. Let me know if you disagree.
- Append `$(DEVKITPRO)/tools/bin/` to `$PATH` when invoking
`build_romfs`.
This avoids the need to add devkitPro directories to `$PATH` when
building Atmosphere.
If you already have `build_romfs` in your PATH, then that will still
take precedence. (This seemed like the nicer option, though I don't
have strong opinions.)
Parsing the SD fs is very slow. In addition, the only KIPs are either a) atmosphere modules, or b) FS.
The IPS subsystem was originally designed to make nogc/etc patches work for FS,
but these are now internal, and it appears that the literal only kip patches
that exist are for piracy.
It just doesn't make sense to slow down boot for every normal user for a feature
that has no actual usecase, and especially when fusee is already so minimal.