Scripts for building devkitPro toolchains
Go to file
2014-12-17 23:28:44 +00:00
dkarm-eabi expose handle manager calls and gethostid 2014-12-17 23:28:44 +00:00
dkppc CXXFLAGS needs OSX extras 2014-04-02 22:12:51 +01:00
dkpsp back to using --with-headers 2012-04-26 14:24:07 +01:00
.gitignore ignore gedit backup files 2013-09-06 19:34:58 +01:00
build-devkit.sh update 3dstools version 2014-12-03 11:44:54 +00:00
config.guess allow for canadian cross 2012-04-01 16:53:16 +01:00
config.sh.sample comment BUILD_DKPRO_SRCDIR 2008-03-07 15:17:08 +00:00
cross-build-i686-w64-mingw32.sh put PKG_CONFIG_PATH in cross build shell scripts instead 2013-09-06 19:33:53 +01:00
cross-build-x86_64-w64-mingw32.sh put PKG_CONFIG_PATH in cross build shell scripts instead 2013-09-06 19:33:53 +01:00
makedist.sh ignore build directories & .gitignore file 2012-03-31 19:02:16 +01:00
README.TXT add instructions for getting GL/gl.h 2014-11-27 10:10:54 +00:00
select_toolchain.sh update gdb to 7.8 2014-11-27 10:21:18 +00:00
strip_bins.sh strip dll debug info 2012-05-14 23:55:47 +01:00
strip_toolchain.sh make strip_toolchain.sh executable 2012-03-31 17:01:39 +01:00

devkitPro build scripts
--------------------------

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

The windows versions of the toolchains are now cross compiled on linux using mingw-w64
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.

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

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

http://freeimage.sourceforge.net/
http://www.zlib.net
http://www.libusb.org

Building gxtexconv for cube/wii needs GL/gl.h which can be obtained with sudo apt-get install mesa-common-dev

 
Downloading the source packages
-------------------------------

When you run the build script it will ask you to choose from one of two options, one for if you have already downloaded the source packages and another for if you want it to download them for you (using wget or curl).

The top level shell script has now been unified and offers the option of devkitARM, devkitPPC or devkitPSP.

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

Once the script finds the source packages they will be decompressed and the build process will begin.  When its finished you have the option to delete all temporary files, sources and their source packages.

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.

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-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.

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

to use the built in crt0 and linkscript use powerpc-gekko-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.

Using devkitPSP
---------------

All you need to do now to use devkitPSP is make sure that your freshly built tools are in your PATH, something like this;

export PATH=$PATH:<path to devkitPSP>/bin

(Obviously replace <path to devkitPSP> with the full path to the devkitPSP installation directory)

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
* 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!