User Tools

Site Tools


development:compiling:toolchains:gcw0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
development:compiling:toolchains:gcw0 [2014/07/24 00:15]
carstene1ns created by build/memory log
development:compiling:toolchains:gcw0 [2016/06/14 20:31] (current)
fdelapena update domain name
Line 1: Line 1:
 ====== Building the GCW Zero Toolchain ====== ====== Building the GCW Zero Toolchain ======
  
-For our [[https://easy-rpg.org/jenkins/|Jenkins build server]] we needed a modified toolchain, that does not depend to be installed in ''/​opt''​.+For our [[https://ci.easyrpg.org/​|Jenkins build server]] we needed a modified toolchain, that does not depend to be installed in ''/​opt''​.
 The following instructions have been written along the way and should result in a working toolchain that is suitable to get a working EasyRPG Player build. The following instructions have been written along the way and should result in a working toolchain that is suitable to get a working EasyRPG Player build.
 +
 +//​Prerequisites//:​ I assume you do all the steps in a seperate build directory to not interfere with old toolchains and other stuff. Also you need some development tools installed on your machine, for example ''​gcc'',​ ''​make''​ and ''​subversion''​. The buildroot will warn you, when you forgot to install something, though.
  
 First, we need the buildroot from GitHub and change into the directory: First, we need the buildroot from GitHub and change into the directory:
Line 29: Line 31:
 There are also the graphical frontends ''​xconfig'',​ using qt and ''​gconfig'',​ using gtk. There are also the graphical frontends ''​xconfig'',​ using qt and ''​gconfig'',​ using gtk.
  
-Most of the libraries are not needed, so we disable them to save some time while compiling.+Most of the libraries ​and stuff under "​Target Packages" ​are not needed, so we disable them to save some time while compiling.
 Needed libraries are ''​sdl'',​ ''​sdl_mixer''​ and ''​icu''​. Needed libraries are ''​sdl'',​ ''​sdl_mixer''​ and ''​icu''​.
  
-Now the important step: change the toolchain directory from ''/​opt/​gcw0-toolchain''​ to your desired directory. +Now the important step: change the toolchain directory from ''/​opt/​gcw0-toolchain''​ to your desired directory ​under "Build Options"​ --> "Host Dir"
-(''​BR2_HOST_DIR="/​home/​jenkins/​gcw0-toolchain"''​)+(''​BR2_HOST_DIR="/​home/​jenkins/​gcw0-toolchain"'' ​in .config)
  
-To speed up the build further, set the parallel make jobs to the cores of your cpu +To speed up the build further, set the parallel make jobs to the cores of your cpu "​Number of jobs to run simultaneously (0 for auto)"​. 
-(''​BR2_JLEVEL=2''​)+(''​BR2_JLEVEL=2'' ​in .config)
  
-To speed up possibly rebuilds, enable ''​ccache''​. +To speed up possibly rebuilds, enable ''​ccache'' ​"​Enable compiler cache"
-(''​BR2_CCACHE=y''​ and ''​BR2_CCACHE_DIR="​$(HOME)/​.buildroot-ccache"''​)+(''​BR2_CCACHE=y''​ and ''​BR2_CCACHE_DIR="​$(HOME)/​.buildroot-ccache"'' ​in .config)
  
 When all things are set up, we can start the build and get something to drink in the meanwhile =) When all things are set up, we can start the build and get something to drink in the meanwhile =)
Line 47: Line 49:
  
 Afterwards, there should be a new, shiny toolchain in the directory you chose. Afterwards, there should be a new, shiny toolchain in the directory you chose.
 +
 +===== Cross-compile pixman =====
 +
 +Pixman is a needed library and not part of the toolchain.
 +
 +Download [[http://​cairographics.org/​releases/​|the latest release]] and extract it.
 +
 +Then it is the normal auto-tools-based build steps:
 +
 +<code bash>
 +cd pixman-*/
 +./configure --host=mipsel-linux --prefix=/​usr
 +make
 +make DESTDIR=/​home/​jenkins/​gcw0-toolchain/​usr/​mipsel-gcw0-linux-uclibc/​sysroot/​ install
 +</​code>​
 +
 +Be sure to install it in the sysroot directory to ensure it is found when compiling target packages.
development/compiling/toolchains/gcw0.1406160927.txt.gz · Last modified: 2014/07/24 00:15 by carstene1ns