User Tools

Site Tools


Sidebar

development:compiling:toolchains:gcw0

Building the GCW Zero Toolchain

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

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:

git clone https://github.com/gcwnow/buildroot.git
cd buildroot

To use the default configuration:

make gcw0_defconfig

Optionally, we can use a previously saved config file, just copy it to .config. We need to add newly available options then:

make oldconfig

We configure the packages to be build and available options:

make menuconfig

There are also the graphical frontends xconfig, using qt and gconfig, using gtk.

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.

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" in .config)

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 in .config)

To speed up possibly rebuilds, enable ccache "Enable compiler cache". (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 =)

nice -n19 make

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 the latest release and extract it.

Then it is the normal auto-tools-based build steps:

cd pixman-*/
./configure --host=mipsel-linux --prefix=/usr
make
make DESTDIR=/home/jenkins/gcw0-toolchain/usr/mipsel-gcw0-linux-uclibc/sysroot/ install

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