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
Last revisionBoth sides next revision
development:gcw0-toolchain [2014/07/24 00:15] – created by build/memory log carstene1nsdevelopment:compiling:toolchains:gcw0 [2016/03/19 09:30] – ↷ Page moved and renamed from development:gcw0-toolchain to development:compiling:toolchains:gcw0 carstene1ns
Line 3: Line 3:
 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://easy-rpg.org/jenkins/|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.txt · Last modified: 2016/06/14 20:31 by fdelapena

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki