Let's try make a Wii U Toolchain / SDK for creating rpx/rpl.
Go to file
Maschell a0412a90da
Add coreinit/userconfig.h (#132)
* Add coreinit/userconfig.h
- add enum UCCommand
- add enum UCDataType
- add enum UCErrors
- add enum UCFileSys
- add struct UCSysConfig
- add struct UCAsyncParams
- add function UCOpen
- add function UCClose
- add function UCDeleteSysConfig
- add function UCDeleteSysConfigAsync
- add function UCReadSysConfig
- add function UCReadSysConfigAsync
- add function UCWriteSysConfig
- add function UCWriteSysConfigAsync

See decaf for reference:
- b75f646a1e/src/libdecaf/src/cafe/libraries/coreinit/coreinit_userconfig.h
- 407f3f8093/src/libdecaf/src/ios/auxil/ios_auxil_enum.h

* Fix structs

* coreinit/userconfig.h: Add missing typedefs

* Add coreinit/userconfig.h to testsuite
2020-05-07 23:49:18 +10:00
.github/workflows Move from travis to github actions. 2019-11-20 17:25:50 +00:00
cafe cafe: remove snd_core and snd_user 2019-05-04 20:56:31 +10:00
docs Add Nunchuk/CC emulated sticks, KPAD accelerometer data, WPAD/KPAD documentation (#114) 2020-01-20 17:38:29 +11:00
include Add coreinit/userconfig.h (#132) 2020-05-07 23:49:18 +10:00
libraries whb/gfx: Capitalise v in WHBGfxGetTVColourBuffer 2020-02-10 15:12:22 +11:00
samples samples/cmake: Update to use new cmake functions. 2019-11-23 10:12:28 +00:00
share Fix make V=1 (#120) 2020-04-30 12:56:57 +01:00
tests Add coreinit/userconfig.h (#132) 2020-05-07 23:49:18 +10:00
.gitignore samples: port helloworld to make 2019-04-09 19:15:24 +10:00
CHANGELOG.md changelog: Add sysapp, cmake toolchain changes 2020-04-12 21:10:08 +10:00
LICENSE.md Create LICENSE.md 2015-12-27 02:16:34 +00:00
Makefile prevent .a rule from devkitPPC/base_rules taking priority (macOS make 3.81) 2019-11-25 14:36:10 +00:00
README.md Update README.md to reflect changes to cmake functions. 2019-11-23 10:13:41 +00:00

Build status

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 by add_executable
  • wut_create_rpl(target) - Will create an .rpl file from your CMake target generated by add_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)