Buildbot:Gentoo: Difference between revisions

From Spring
Jump to navigationJump to search
Abma (talk | contribs)
No edit summary
Abma (talk | contribs)
Line 2: Line 2:


<code><pre>
<code><pre>
EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf2"
emerge layman mercurial
USE="openmp cxx -fortran" crossdev i686-mingw32 --env
layman -a ohnobinki
USE="minizip"
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
 
CHOST=i686-mingw32 ROOT=/usr/i686-mingw32 emerge -va pthreads-win32
USE="jpeg png opengl" emerge-i686-mingw32 devil
USE="openmp cxx -fortran" crossdev i686-mingw32 --env 'EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf"'
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
</pre></code>
</pre></code>


#tools required for compiling
tools required for compiling
<code><pre>
<code><pre>
emerge app-arch/p7zip-9.13 dev-util/cmake app-arch/zip wine
emerge app-arch/p7zip-9.13 dev-util/cmake app-arch/zip wine crossdev app-portage/portage-utils
USE="git" emerge layman mercurial
layman -a ohnobinki
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
</pre></code>
</pre></code>


# crossdev scripts
for cgcreate (only needed for load balancing while building)
<code><pre>
<code><pre>
emerge crossdev
emerge dev-libs/libcgroup
</pre></code>
</pre></code>


#USE="-nptl"
Install i686-mingw32 compiler, then pthreads, then recompile i686-mingw32 with pthreads enabled
<code><pre>
<code><pre>
USE="openmp cxx -fortran" crossdev i686-mingw32 --env 'EXTRA_ECONF="--disable-sjlj-exceptions --with-dwarf2"'
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
emerge-wrapper --init
</pre></code>
</pre></code>
 
# helpers (installs the `q` script)
 
TODO: whats that for?!
<code><pre>
<code><pre>
emerge app-portage/portage-utils
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
</pre></code>
</pre></code>
 
# for cgcreate (only needed for load balancing while building)
 
<code><pre>
emerge dev-libs/libcgroup
</pre></code>
# buildbot-slave (for interacting with spring's buildbot)
# buildbot-slave (for interacting with spring's buildbot)
<code><pre>
<code><pre>
Line 48: Line 54:
</pre></code>
</pre></code>
   
   
# gentoo related
 
<code><pre>
USE="git" emerge layman
layman -f -a Spring -o http://springrts.com/dl/overlays.xml
</pre></code>
   
   
# stuff that needs to be compiled native (not with mingw)
# stuff that needs to be compiled native (not with mingw)

Revision as of 16:38, 27 November 2012

Setup gentoo win32 buildslave

emerge layman mercurial
layman -a ohnobinki
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf
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"'

tools required for compiling

emerge app-arch/p7zip-9.13 dev-util/cmake app-arch/zip wine crossdev app-portage/portage-utils
USE="git" emerge layman mercurial
layman -a ohnobinki
echo "source /var/lib/layman/make.conf" >> /etc/portage/make.conf

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


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


  1. 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


  1. stuff that needs to be compiled native (not with mingw)
emerge ncurses cmake eselect eselect-boost
ACCEPT_KEYWORDS="~x86" emerge boost-build
  1. build Spring + dependencies in MinGW
USE="minizip" emerge-i686-mingw32 sys-libs/zlib
  1. 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