Table of Contents

Linking process

In Wonderful's ecosystem, instead of relying on the linker and a post-link tool, linker wrappers are utilized instead. This allows handling everything from object linking to program file output in one step on the user side, as well as implementing high-level configuration facilities which generate a link script.

# This call...
$ arm-none-eabi-ld -o program.elf [objects...] [flags...]

# ...becomes:
$ wf-gbatool link rom|multiboot -o program.gba --output-elf program.elf -- [objects...] [flags...]

# By default, wfconfig.toml in the current working directory is used
# (see below). To use a different file:
$ wf-gbatool link rom|multiboot -c other_wfconfig.toml -o program.gba --output-elf program.elf -- [objects...] [flags...]

Cartridge metadata