Buildbot:Gentoo: Difference between revisions
From Spring
Jump to navigationJump to search
reorder |
|||
| Line 75: | Line 75: | ||
==set compile flags on 64 bit gentoo== | ==set compile flags on 64 bit gentoo== | ||
this is only required on 64bit gentoo! | this is only required on 64bit gentoo! | ||
/etc/portage/env/spring-static-buildslave: | |||
<code><pre> | |||
CFLAGS="${CFLAGS} -fPIC" | |||
CXXFLAGS="${CXXFLAGS} -fPIC" | |||
LDFLAGS="${LDFLAGS} -fPIC" | |||
</pre></code> | |||
/etc/portage/package.env/spring-static-buildslave: | /etc/portage/package.env/spring-static-buildslave: | ||
<code><pre> | <code><pre> | ||
| Line 86: | Line 94: | ||
media-libs/glew spring-static-buildslave | media-libs/glew spring-static-buildslave | ||
sys-devel/gcc spring-static-buildslave | sys-devel/gcc spring-static-buildslave | ||
</pre></code> | </pre></code> | ||
Revision as of 22:04, 27 November 2012
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
create /etc/portage/package.use/spring-static-buildslave:
sys-libs/zlib static-libs minizip
media-libs/devil static-libs opengl png sse sse2 X
dev-libs/boost static-libs python
media-libs/jpeg static-libs
media-libs/libsdl audio joystick opengl video X static-libs
media-libs/libvorbis static-libs
media-libs/freetype static-libs
media-libs/glew static-libs
set compile flags on 64 bit gentoo
this is only required on 64bit gentoo!
/etc/portage/env/spring-static-buildslave:
CFLAGS="${CFLAGS} -fPIC"
CXXFLAGS="${CXXFLAGS} -fPIC"
LDFLAGS="${LDFLAGS} -fPIC"
/etc/portage/package.env/spring-static-buildslave:
sys-libs/zlib spring-static-buildslave
media-libs/devil spring-static-buildslave
dev-libs/boost spring-static-buildslave
media-libs/jpeg spring-static-buildslave
media-libs/libsdl spring-static-buildslave
media-libs/libvorbis spring-static-buildslave
media-libs/freetype spring-static-buildslave
media-libs/glew spring-static-buildslave
sys-devel/gcc spring-static-buildslave
install needed programs and libs
Emerge gcc-4.7.2
emerge -va =sys-devel/gcc-4.7.2
enable / use it
gcc-config x86_64-pc-linux-gnu-4.7.2
env-update && source /etc/profile
emerge libs required by spring
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