mirror of
https://github.com/Maschell/libutils.git
synced 2024-11-17 17:49:17 +01:00
74 lines
2.1 KiB
Markdown
74 lines
2.1 KiB
Markdown
# libutils for WiiU homebrew.
|
|
[![Build Status](https://travis-ci.org/Maschell/libutils.svg?branch=master)](https://travis-ci.org/Maschell/libutils)
|
|
|
|
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](https://github.com/dimok789/loadiine_gx2/tree/master/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](https://github.com/Maschell/dynamic_libs/tree/lib) 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](https://github.com/dimok789/homebrew_launcher)
|
|
- [dynamic_libs](https://github.com/Maschell/dynamic_libs/tree/lib) for access to the functions.
|
|
|
|
# Use the prebuilt files from a Docker image.
|
|
The image `wiiulegacy/libutils` on [Docker Hub](https://hub.docker.com/r/wiiulegacy/libutils/) 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
|