TrustedUser
574
edits
(Wrap all the console commands inside source tags) |
(→Rebuilding Toolchain Libraries: Added note on MinGW toolchain patches to sdl-config / pkg-config output) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 51: | Line 51: | ||
When the buildbot config files are changed, a user with shell access and sudo privileges needs to run the following commands. It's good practice to do this once buildbot is idle: | When the buildbot config files are changed, a user with shell access and sudo privileges needs to run the following commands. It's good practice to do this once buildbot is idle: | ||
< | <syntaxhighlight lang="bash"> | ||
sudo -s | sudo -s | ||
systemctl stop buildslave | |||
systemctl stop buildmaster | |||
cd ~buildbot/buildbot | cd ~buildbot/scummvm-sites | ||
git pull | sudo -u buildbot git pull --ff-only | ||
systemctl start buildmaster | |||
systemctl start buildslave | |||
</ | </syntaxhighlight> | ||
If problems arise, check if all files in the master (~buildbot/master) and slave (~buildbot/slave) directories are owned by the correct user (buildbot: | If problems arise, check if all files in the master (~buildbot/scummvm-master) and slave (~buildbot/scummvm-slave) directories are owned by the correct user (buildbot:buildbot). If the daemons were incorrectly started, new files might have been created under another user account. In that case: | ||
* stop the daemons (see above) | * stop the daemons (see above) | ||
* fix the permissions with | * fix the permissions with | ||
< | <syntaxhighlight lang="bash"> | ||
chown -R buildbot: | chown -R buildbot:buildbot ~buildbot/scummvm-master/* | ||
chown -R buildbot: | chown -R buildbot:buildbot ~buildbot/scummvm-slave/* | ||
</ | </syntaxhighlight> | ||
* start the daemons | * start the daemons | ||
Line 93: | Line 93: | ||
* /opt/toolchains is actually a symlink to the real location of the external storage drive, but /opt/toolchains should be used in all configuration to ensure that this can be freely moved in future if necessary. | * /opt/toolchains is actually a symlink to the real location of the external storage drive, but /opt/toolchains should be used in all configuration to ensure that this can be freely moved in future if necessary. | ||
* Check for any platform specific library build instructions at the relevant page [[Compiling_ScummVM|here]]. | |||
libSDL: | libSDL: | ||
Line 98: | Line 100: | ||
* Decompress the latest libSDL tarball to a temporary location i.e. | * Decompress the latest libSDL tarball to a temporary location i.e. | ||
< | <syntaxhighlight lang="bash"> | ||
tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall | tar -xvzf SDL-1.2.15.tar.gz -d /home/digitall | ||
</ | </syntaxhighlight> | ||
* Apply any required patches i.e. Currently libSDL-1.2.15 snapshot has a error in the Win32 version strings.. This may occur again on future releases :/ | * Apply any required patches i.e. Currently libSDL-1.2.15 snapshot has a error in the Win32 version strings.. This may occur again on future releases :/ | ||
< | <syntaxhighlight lang="bash"> | ||
patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch | patch -p0 < SDL-1.2.15-Fix-Windows-DLL-Version.patch | ||
</ | </syntaxhighlight> | ||
* Add toolchain binaries directory to path. | * Add toolchain binaries directory to path. | ||
< | <syntaxhighlight lang="bash"> | ||
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH | PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH | ||
export PATH | export PATH | ||
</ | </syntaxhighlight> | ||
* Add out of tree build directory and configure the SDL codebase here with the host target and prefix to use the correct cross toolchain and target for make install. | * Add out of tree build directory and configure the SDL codebase here with the host target and prefix to use the correct cross toolchain and target for make install. | ||
< | <syntaxhighlight lang="bash"> | ||
mkdir SDL-1.2.15-x86_64-w64-mingw32 | mkdir SDL-1.2.15-x86_64-w64-mingw32 | ||
cd SDL-1.2.15-x86_64-w64-mingw32 | cd SDL-1.2.15-x86_64-w64-mingw32 | ||
../SDL-1.2.15/configure --host=x86_64-w64-mingw32 --prefix=/opt/toolchains/x86_64-w64-mingw32 | ../SDL-1.2.15/configure --host=x86_64-w64-mingw32 --prefix=/opt/toolchains/x86_64-w64-mingw32 | ||
</ | </syntaxhighlight> | ||
* Compile the codebase. | * Compile the codebase. | ||
< | <syntaxhighlight lang="bash"> | ||
make | make | ||
</ | </syntaxhighlight> | ||
* Install the compiled files. As you become root, you need to make the same modification to the path to get the required cross toolchain tools such as ranlib. | * Install the compiled files. As you become root, you need to make the same modification to the path to get the required cross toolchain tools such as ranlib. | ||
< | <syntaxhighlight lang="bash"> | ||
sudo bash | sudo bash | ||
PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH | PATH=/opt/toolchains/x86_64-w64-mingw32/bin:$PATH | ||
export PATH | export PATH | ||
make install | make install | ||
</ | </syntaxhighlight> | ||
* IMPORTANT: If installing libSDL for Win32 / Win64 MinGW toolchains, please check the note [[Compiling_ScummVM/MinGW#SDL|here]] and make the relevant fixes to bin/sdl-config and lib/pkg-config/sdl2.pc etc. |