Buildbot:Gentoo
From Spring
This page is WIP! (don't expect these instructions to work, they only give a hint, how it should/could work...)
Setup gentoo win32 buildslave
tools required for compiling
emerge layman mercurial app-arch/p7zip-9.13 dev-util/cmake app-arch/zip wine crossdev app-portage/portage-utils
layman -a ohnobinki
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
CHOST=i686-mingw32 ROOT=/usr/i686-mingw32 emerge pthreads-win32
USE="openmp cxx -fortran" crossdev i686-mingw32 --env 'EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf"'
for cgcreate (only needed for load balancing while building)
emerge dev-libs/libcgroup
Install i686-mingw32 compiler, then pthreads, then recompile i686-mingw32 with pthreads enabled
USE="openmp cxx -fortran" crossdev i686-mingw32 --env 'EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf"'
CHOST=i686-mingw32 ROOT=/usr/i686-mingw32 emerge -va pthreads-win32
USE="openmp cxx -fortran" crossdev i686-mingw32 --env 'EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf"'
emerge-wrapper --init
buildbot-slave (for interacting with spring's buildbot)
emerge dev-util/buildbot-slave
rc-update add buildslave default
nano /etc/conf.d/buildslave
useradd -s /bin/false -d $dir -m $username
buildslave create-slave $dir/buildslave springrts.com:7778 $username $passwd
stuff that needs to be compiled native (not with mingw)
emerge ncurses cmake eselect eselect-boost
ACCEPT_KEYWORDS="~x86" emerge boost-build
build Spring + dependencies in MinGW
USE="minizip" emerge-i686-mingw32 sys-libs/zlib
- USE="static"
emerge-i686-mingw32 app-arch/bzip2
USE="jpeg png opengl" emerge-i686-mingw32 devil
USE="auto-hinter" emerge-i686-mingw32 freetype
USE="-audio opengl" emerge-i686-mingw32 libsdl -O
EXTRA_ECONF="target-os=windows threadapi=win32" USE="" emerge-i686-mingw32 boost -O
USE="-ai -java openmp" emerge-i686-mingw32 spring
Setup static linux
USE="static-libs png opengl minizip" emerge -va boost jpeg devil libsdl media-libs/openal media-libs/libvorbis freetype zlib glew
TODO: whats that for?!
EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf2"
USE="openmp cxx -fortran" crossdev i686-mingw32 --env
USE="minizip"
USE="jpeg png opengl" emerge-i686-mingw32 devil
USE="auto-hinter" emerge-i686-mingw32 freetype
USE="-audio opengl" emerge-i686-mingw32 libsdl -O
EXTRA_ECONF="target-os=windows threadapi=win32" USE="" emerge-i686-mingw32 boost -O
USE="-ai -java openmp" emerge-i686-mingw32 spring