• Stars
    star
    147
  • Rank 251,347 (Top 5 %)
  • Language
    Shell
  • Created almost 10 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scripts for building devkitPro toolchains
devkitPro build scripts
--------------------------

This readme will guide you through building devkitARM, devkitPPC or devkitA64
from source using a set of scripts.

Please note that we can't guarantee that what you build with these scripts
will function in the same way as the binaries we distribute. Where possible
you should use the binary distributions. We also offer no support for any
problems you may encounter with these scripts.

The windows versions of the toolchains are now cross compiled on linux using
mingw-w64

Preparing to build
--------------------------

required packages for building on debian/*buntu

sudo apt-get install build-essential autoconf automake bison flex libncurses5-dev
libreadline-dev texinfo pkg-config

For building gcc libgmp, libmpfr and libmpc are required - these are built as
static libraries to make packaging simpler. If you're building the tools for
personal use then the versions packaged by your chosen distro should suffice.

https://gmplib.org/
https://www.mpfr.org/
https://www.multiprecision.org/

sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev

Some of the tools for devkitARM and devkitPPC also require FreeImage, zlib,
expat, and libusb. Again these are built as static libraries for ease of
packaging but you can probably use the versions supplied by your distro.

https://freeimage.sourceforge.net/
https://www.zlib.net
https://www.libusb.org
https://expat.sourceforge.net/

sudo apt-get install libfreeimage-dev zlib1g-dev libusb-dev libudev-dev libexpat1-dev


Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with

sudo apt-get install mesa-common-dev

Tools for devkitA64 require liblz4.

http://lz4.github.io/lz4/

sudo apt-get install liblz4-dev

The liblz4 with Ubuntu 14.04 isn't new enough. Either upgrade to at least 16.04 or
build this from source.

For building the OSX versions we install the Xcode commandline tools and build
pkg-config from source as well as static versions of the libraries listed above.
This helps keep the dependencies to a minimum so end users can use the tools
with only Xcode command line tools to obtain make.

To avoid having to manually answer prompts during the build the script will
read variables from config.sh if it exists. Copy config.sh.sample to config.sh
and set the variables as appropriate for your build.

The script will download the source packages it needs. These will be downloaded
to the script directory by default but you can set BUILD_DKPRO_SRCDIR if you want
to put them somewhere else.  When its finished you have the option to delete
all temporary files, sources and their source packages.


Building the devkits
--------------------

Simply run the "build-devkit.sh" script in the same directory as this text file
as shown below, then follow the prompts;

./build-devkit.sh

Several examples tarballs are provided for the platforms supported by devkitARM &
devkitPPC, these include basic templates for starting your own projects.
See http://wiki.devkitpro.org/index.php/Getting_Started for links.

Using devkitARM
---------------

to use the built in crt0 and linkscript use arm-none-eabi-gcc to link your project

Several specs files are built in for the various platforms

	-specs=gba.specs for a normal GBA cart image.
	-specs=gba_mb.specs for a GBA multiboot image.
	-specs=gba_er for an eReader GBA binary.
	-specs=ds_arm9 for a DS arm9 binary.
	-specs=ds_arm7 for a DS arm7 binary.
	-specs=ds_cart for a DS arm7 binary which runs from GBA cart.
	-specs=gp32.specs for standard GP32 app.
	-specs=gp32_gpsdk.specs for official gamepark SDK GP32 app.
	-specs=3dsx.specs for a 3DS homebrew binary.

Using devkitPPC
---------------

to use the built in crt0 and linkscript use powerpc-eabi-gcc to link your project,
using the command line switch -mgcn for a bare bones system, -mogc to use libogc and
the multi-threaded microkernel for gamecube, -mrvl for wii, -mwup for wii u.


Getting started
---------------

The best thing to do next is test the compiler, so grab an examples tarball
from sourceforge & run make in the top level.

Credits
-------

* Thanks to WinterMute for bringing us devkitPro, the website is http://www.devkitpro.org
* Build scripts written by WinterMute and tied together by GreenGianT
* Thanks to Mr Spiv, Honkey Kong, Raleigh and JoostP for OS X testing
* libctru by Smealum, YellowS8, fincs, mtheall & WinterMute with contributions from many others.
* libogc written and supplied by Shagkur. Additional code by WinterMute, Bushing, Marcan & Tybor
* libgba by WinterMute
* libnds by Joat, Dovoto and WinterMute with contributions from many others.
* dswifi by Sgstair
* libfat by Chishm
* libmirko by Mr Mirko
* maxmod by eKid
* b2fxec by Mr Spiv
* scripts made BSD compatible by o2addict

  - irc.blitzed.org #gbadev, #dsdev, #wiidev forever!

More Repositories

1

libctru

Homebrew development library for Nintendo 3DS/Horizon OS user mode (Arm11)
C
751
star
2

3ds-hbmenu

The 3DS Homebrew Menu (∩ Ν‘Β° ΝœΚ– Ν‘Β°)βŠƒβ”β˜†οΎŸ
C
704
star
3

3ds-examples

Examples for 3DS using devkitARM, libctru, citro3d and citro2d
C
411
star
4

installer

NSIS
353
star
5

deko3d

Homebrew low level graphics API for Nintendo Switch (Nvidia Tegra X1)
C++
300
star
6

libnds

C library for Nintendo DS
C
296
star
7

libogc

C Library for Wii and Gamecube homebrew
C
280
star
8

citro3d

Homebrew PICA200 GPU wrapper library for Nintendo 3DS
C
243
star
9

wut

Let's try to make a Wii U Toolchain / SDK for creating rpx/rpl.
C
204
star
10

libgba

C Library for Nintendo GBA
C
184
star
11

pacman

C
157
star
12

citro2d

Library for drawing 2D graphics using the Nintendo 3DS's PICA200 GPU
C
150
star
13

pacman-packages

Shell
122
star
14

nds-hb-menu

C++
111
star
15

nds-examples

Assembly
93
star
16

gba-examples

Makefile
84
star
17

ndstool

C++
69
star
18

picasso

Homebrew PICA200 shader assembler
C++
63
star
19

docker

Dockerfiles for https://hub.docker.com/u/devkitpro/
Dockerfile
55
star
20

libfat

FAT library for GBA, DS, Gamecube & Wii
C
48
star
21

gba-tools

C
48
star
22

libtonc

C
45
star
23

grit

Game Raster Image Transmogrifier
C++
43
star
24

3dstools

C++
43
star
25

wii-examples

C
37
star
26

tex3ds

3DS Texture Conversion
C++
36
star
27

3ds_portlibs

Portlibs for 3DS
Makefile
34
star
28

gamecube-examples

C
33
star
29

dswifi

Wifi library for Nintendo DS
C
31
star
30

gamecube-tools

Tools for gamecube/wii projects
C++
30
star
31

dslink

Wifi code loader for Nintendo DS
C
28
star
32

maxmod

Assembly
23
star
33

dstools

C++
21
star
34

newlib

fork from sourceware git://sourceware.org / newlib-cygwin.git
C
17
star
35

wiiload

C
16
star
36

general-tools

C++
15
star
37

uam

Shader compiler for Nintendo Switch, targeting the deko3d API (based on mesa/nouveau sources)
C++
15
star
38

nds-bootloader

C
14
star
39

3dslink

C
12
star
40

mmutil

C
12
star
41

devkitarm-crtls

Assembly
11
star
42

dslink-host

C++
10
star
43

wut-tools

C++
10
star
44

install-dsilink

Assembly
9
star
45

wut-packages

packages for wiiu development
Shell
9
star
46

libnds-master

Makefile
8
star
47

libdrm_nouveau

C
8
star
48

switch-glad

Switch port of an autogenerated OpenGL 4.3 loader
C
7
star
49

libfilesystem

C
7
star
50

default-arm7

Makefile
7
star
51

gp32-tools

C++
7
star
52

gp32-examples

C
6
star
53

devkitarm-rules

Makefile
6
star
54

devkitppc-rules

Makefile
5
star
55

libmirko

C Library for Gamepark GP32
C
5
star
56

nds-exception-stub

C
5
star
57

orcus

Bare metal library for GP2X - no Linux here!
C
3
star
58

bzip2

a program and library for lossless, block-sorting data compression.
C
3
star
59

physfs

a library to provide abstract access to various archives. https://icculus.org/physfs/
C
3
star
60

gp2x-tools

C
2
star
61

devkitpro-keyring

Shell
2
star
62

.github

default devkitPro repo
1
star
63

devkita64-rules

Makefile
1
star
64

devkitpro.github.io

HTML
1
star
65

gp2x-examples

Makefile
1
star
66

gp2x-core

devkitarm core components for GP2X support
Assembly
1
star