
Bit fields work, but suffer order changes with endianness Was properly done for little endian, but not big endian Swapped to shifts instead for general portability too
wut
Let's try make a Wii U Toolchain / SDK for creating rpx/rpl.
Licensed under the terms of the GNU General Public License, version 2 or later (GPLv2+).
Install
It is recommended to install wut by using the devkitPro package manager
For example you might do:
sudo dkp-pacman -Syu devkitPPC wut-tools wut
Usage
See samples for examples of how to use wut.
The share/wut.cmake file provides some helpers for your build:
wut_create_rpx(target)
- Will create an .rpx file from your CMake target generated byadd_executable
wut_create_rpl(target)
- Will create an .rpl file from your CMake target generated byadd_executable
wut_add_exports(target exports.def)
- Will add exports specified in exports.def for the given target
Building from source
Requires:
Building with devkitPPC
Ensure you have the devkitPPC and wut-tools packages provided by devkitPro:
sudo dkp-pacman -Syu devkitPPC wut-tools
export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC
Then it's as simple as running make or make install:
make
make install
Building with a locally built wut-tools
If you have locally built wut-tools then just add the directory containing the built binaries to PATH and they should be used instead:
export PATH=/path/to/wut-tools/bin:$PATH
make
Building wut projects
Building wut projects with make
Simply export the required variables and call make.
export DEVKITPRO=/opt/devkitpro
export DEVKITPPC=/opt/devkitpro/devkitPPC
make
Building wut projects with CMake
For any wut project you want to build with CMake you must use the wut.toolchain.cmake toolchain file:
export DEVKITPRO=/opt/devkitpro
cd samples/cmake/helloworld
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/wut/share/wut.toolchain.cmake ../
make
A minimal CMakeLists.txt file for a C++ project might look like:
cmake_minimum_required(VERSION 3.2)
project(helloworld_cpp CXX)
include("${DEVKITPRO}/wut/share/wut.cmake" REQUIRED)
add_executable(helloworld_cpp main.cpp)
wut_create_rpx(helloworld_cpp.rpx helloworld_cpp)