From b28d86537e63441428ebe6e0673845332f4d2941 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 22 Dec 2014 12:36:10 +0000 Subject: [PATCH 1/3] mark config.sh.sample as executable --- config.sh.sample | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 config.sh.sample diff --git a/config.sh.sample b/config.sh.sample old mode 100644 new mode 100755 From 84d9590a9c1ccd57a8546a622f9af93611b8eb4b Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 22 Dec 2014 12:36:38 +0000 Subject: [PATCH 2/3] reinstate gp32 tools --- build-devkit.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/build-devkit.sh b/build-devkit.sh index 5f27285..1c4fe11 100755 --- a/build-devkit.sh +++ b/build-devkit.sh @@ -37,6 +37,7 @@ LIBFAT_VER=1.0.13 PSPSDK_VER=20120404 GBATOOLS_VER=1.0.0 DSTOOLS_VER=1.0.0 +GP32_TOOLS_VER=1.0.1 GRIT_VER=0.8.12 NDSTOOL_VER=1.50.1 GENERAL_TOOLS_VER=1.0.0 @@ -192,22 +193,29 @@ scriptdir=$(pwd)/$basedir/scripts archives="binutils-${BINUTILS_VER}.tar.bz2 gcc-${GCC_VER}.tar.bz2 newlib-${NEWLIB_VER}.tar.gz gdb-${GDB_VER}.tar.bz2" if [ $VERSION -eq 1 ]; then + targetarchives="libnds-src-${LIBNDS_VER}.tar.bz2 libgba-src-${LIBGBA_VER}.tar.bz2 libmirko-src-${LIBMIRKO_VER}.tar.bz2 dswifi-src-${DSWIFI_VER}.tar.bz2 maxmod-src-${MAXMOD_VER}.tar.bz2 default_arm7-src-${DEFAULT_ARM7_VER}.tar.bz2 libfilesystem-src-${FILESYSTEM_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2 libctru-src-${LIBCTRU_VER}.tar.bz2" - hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2 + + hostarchives="gbatools-$GBATOOLS_VER.tar.bz2 gp32tools-$GP32_TOOLS_VER.tar.bz2 + dstools-$DSTOOLS_VER.tar.bz2 grit-$GRIT_VER.tar.bz2 ndstool-$NDSTOOL_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2 dlditool-$DLDITOOL_VER.tar.bz2 mmutil-$MMUTIL_VER.tar.bz2 dfu-util-$DFU_UTIL_VER.tar.bz2 stlink-$STLINK_VER.tar.bz2 3dstools-$TOOLS3DS_VER.tar.bz2" fi if [ $VERSION -eq 2 ]; then + targetarchives="libogc-src-${LIBOGC_VER}.tar.bz2 libfat-src-${LIBFAT_VER}.tar.bz2" + hostarchives="gamecube-tools-$GAMECUBE_TOOLS_VER.tar.bz2 wiiload-$WIILOAD_VER.tar.bz2 general-tools-$GENERAL_TOOLS_VER.tar.bz2" fi if [ $VERSION -eq 3 ]; then + targetarchives="pspsdk-src-${PSPSDK_VER}.tar.bz2" + fi if [ ! -z "$BUILD_DKPRO_SRCDIR" ] ; then From 939f373da52f75c889f9d87f43adfb3659db6664 Mon Sep 17 00:00:00 2001 From: Dave Murphy Date: Mon, 22 Dec 2014 15:03:33 +0000 Subject: [PATCH 3/3] update for latest tools --- README.TXT | 66 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/README.TXT b/README.TXT index 25886bf..3ce83c6 100644 --- a/README.TXT +++ b/README.TXT @@ -1,54 +1,65 @@ devkitPro build scripts -------------------------- -This readme will guide you through building devkitARM, devkitPPC or devkitPSP from source using a set of 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 + +Preparing to build +-------------------------- -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 +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. +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. +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 +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 -------------------------------- +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. -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 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. -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; +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. +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 +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 @@ -60,25 +71,31 @@ Several specs files are built in for the various platforms -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-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. +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. 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; +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:/bin -(Obviously replace with the full path to the devkitPSP installation directory) +(Obviously replace 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. +The best thing to do next is test the compiler, so grab an examples tarball +from sourceforge & run make in the top level. Credits ------- @@ -86,6 +103,7 @@ 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.