mirror of
https://github.com/Maschell/libutils.git
synced 2024-11-05 20:55:08 +01:00
source | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
Dockerfile | ||
Makefile | ||
README.md |
libutils for WiiU homebrew.
This is a library for common functions.
Features
- FS utility functions
- Wrapper for easy kernel read/write (KernelCopyData to copy data to any place)
- Multiple language support via gettext
- Common system functions (Exception handler, memory functions, Thread wrapper etc.)
- Built in function patcher engine
- String tools
(For some features the application need to be loaded from the homebrew_launcher to have kernel access)
Logging usage
To able to use the logging, you need to compile the target application with follow C/C++ flag:
-D__LOGGING__
Usage in the application:
log_init(); // Enables broadcast logging.
printf("Just prints this text\n");
DEBUG_FUNCTION_LINE("This prints my current function, file and line\n");
Read the logs via the udp_debug_reader.
Usage (TODO)
Link the application with
-lutils -ldynamiclibs
You also need to add the include path to your Makefile. Example:
export INCLUDE := [...] -I$(PORTLIBS)/include/libutils
Check out the header for more information.
Compiling
For compiling and using this lib, you need the dynamic_libs installed to your portlibs folder.
Install this static library into your portlibs folder via:
make && make install
Dependencies
- Application needs to be loaded from the homebrew_launcher
- dynamic_libs for access to the functions.
Use the prebuilt files from a Docker image.
The image wiiulegacy/libutils
on Docker Hub provides a prebuilt library in the /artifacts
directory. Copy it into your DevkitPPC portlibs folder.
Example:
COPY --from=wiiulegacy/libutils:0.1 /artifacts $DEVKITPRO/portlibs
Credits (TODO)
- Serveral users