libutils/README.md

2.1 KiB

libutils for WiiU homebrew.

Build Status

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

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