276d923569
* fix(Makefile): Don't double up on optimisation flags This is already provided by BUILD_CFLAGS later on * feat(common): Mark explicitly-placed things as used If we put something in a given section, we should be able to expect it to actually turn up in that section! Doing this will prevent LTO from slurping all the hooks away as "unused". * feat: Enable LTO This uses "fat" binaries, so normal builds won't break, but also includes the LTO data for builds that wish to use it |
||
---|---|---|
.github/workflows | ||
include | ||
libraries/libwups | ||
plugins | ||
share | ||
.clang-format | ||
.gitignore | ||
Dockerfile | ||
Dockerfile.buildexamples | ||
Dockerfile.buildlocal | ||
LICENSE | ||
Makefile | ||
README.MD |
What is the Wii U Plugin System?
The Wii U Plugin System is a library to create plugins for the WiiUPluginLoaderBackend. See the repository of the Backend for more information.
How create plugins
See the example plugin for more information about creating a plugin.
Compile and install the WUPS lib
For building you need:
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.
Then you can compile and install this lib via make install
.
Use this lib in Dockerfiles.
A prebuilt version of this lib can found on dockerhub. To use it for your projects, add this to your Dockerfile.
[...]
COPY --from=ghcr.io/wiiu-env/wiiupluginsystem:[tag] /artifacts $DEVKITPRO
[...]
Replace [tag] with a tag you want to use, a list of tags can be found here.
It's highly recommended to pin the version to the latest date instead of using latest
.
Format the code via docker
docker run --rm -v ${PWD}:/src ghcr.io/wiiu-env/clang-format:13.0.0-2 -r ./include ./libraries ./plugins/example_plugin/src ./plugins/example_plugin_cpp/src ./plugins/storage_test_plugin/src --exclude ./plugins/storage_test_plugin/src/catch2 -i