Hoppa till innehållet

SuperTux/Bygga SuperTux

Från Wikibooks

Några noteringar för Windows-användare

[redigera]

SuperTux utveckling sker framför allt på GNU/Linux. Källkoden är skriven på ett portabelt sätt men verktygen och utvecklingsmiljön för Windows finns inte (ännu?). Hur som helst bör du kunna bygga spelet med hjälp av msys.

Mac OS X

[redigera]

Ravu al Hemio har skrivit en guide för användare av Mac OS X Tiger om hur man bygger SuperTux.

Förkrav

[redigera]
Att kunna bygga SuperTux kräver att du använder rätt verktyg.

Du kommer behöva följande verktyg och programbibliotek för att kunna kompilera (bygga) SuperTux på ditt system:

  • gcc compiler &co (gcc, g++, binutils, glibc)
  • gettext
  • autoconf
  • jam
  • SDL (*)
  • SDL-image (*)
  • PhysFS (*)
  • Ogg/Vorbis (*)
  • OpenGL (*)
  • OpenAL (*)
  • libcurl (*) (valfri)

Du bör vara säker på att du också har dem utvecklings-headers och programbibliotek installerade för verktygen markerade med (*).

De flesta GNU/Linux-distributioner erbjuder separata utvecklingsversioner för dessa programbibliotek.

Debian

[redigera]

Debian-användare bör köra:

apt-get install subversion autoconf automake jam g++ 
apt-get install libsdl1.2-dev libsdl-image1.2-dev libphysfs-dev libvorbis-dev libogg-dev libopenal-dev

och (om du vill ha hanteraren Add-on)

apt-get install libcurl3-rev

för att installera dem.

Gentoo

[redigera]

Gentoo-användare bör köra:

emerge -av subversion jam openal physfs libsdl sdl-image libvorbis libogg

För Fedora, använd yum och glöm ej utvecklingspaketen!

yum install jam SDL SDL-devel SDL_image SDL_image-devel physfs physfs-devel openal openal-devel

(antar gcc, gettext och autoconf redan är installerade)

Få tag på källkoden

[redigera]

Börja först med att hämta hem SuperTux senaste utvecklingsresurser från subversionsförrådet. Hur man gör det är beskrivet här.

Konfigurera källkoden

[redigera]

Innan du kompilerar källkoden måste du konfigurera den så att den anpassar sig till din maskin. Använd följande kammandon:

./autogen.sh
./configure --enable-debug

Konfigureraren kontrollerar om alla förkrav är funna.

Kompilera källkoden

[redigera]

Du kan kompilera källkoden från kammandoraden med hjälp av jam. Skriv bara:

jam

och spelet bör byggas. Du bör kontakta oss ifall det uppstår fel eller problem.

Sätta upp IDEs

[redigera]

Denna sektion är under konstruktion. IDEs som bör kunna hantera SuperTux inkluderar:

  • KDevelop
  • Eclipse med CDT

Kompilera redigeraren

[redigera]

Upplägg

[redigera]

För att kunna kompilera redigeraren bör du försäkra dig om att du har några ytterligare beroenden tillgängliga:

  • En förkompilerad och fungerande SVN-version av SuperTux
  • mono 1.2.2.1 eller nyare
  • gtk-sharp 2.8

Debian

[redigera]

Debian-användare kan köra följande kommando för att göra detta:

apt-get install mono mono-gmcs gtk-sharp2

Gentoo

[redigera]

Gentoo-användare kan använda detta kommando:

emerge -av ">=dev-lang/mono-1.2.2.1" ">=dev-dotnet/gtk-sharp-2.8.0" ">=dev-dotnet/glade-sharp-2.8.0"

Avmaskera dem paket som kanske behövs för din arkitektur (inga paket behövs för varken x86 eller amd64).

Installera bara mono och gtk-sharp2 via yum, och glöm inte at installera gtk-sharp2-devel (gtk-sharp2-2.10.0-3.fc6 och mono-core-1.1.17.1-4.fc6 fungerade fint):

yum install mono gtk-sharp2 gtk-sharp2-devel

Ladda ned källkoden för redigeraren och placera den i /något/katalog/supertux-sharp. För pkgconfig behöver du inkludera /usr i sökvägen, så för bash:

export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/"

Allmänt

[redigera]

Om du måste använda den allmänna installeraren från webben är du härmed varnad, för varken den stabila (1.1.13) eller nuvarande (1.1.15_2) har den korrekta versionen för gtk-sharp. Det bästa sättet för att lösa detta är:

1. Installera mono via en allt-i-ett-allmän-installerare. Allt-i-ett-installeraren kommer försöka anpassa din miljö via .bash-filen. Detta är ingen riktig förändring för hela systemet, därför bör du (i alla fall i Slackware) modifiera dessa script och placera dem i /etc/profile.d

mono.csh

#!/bin/csh
setenv PKG_CONFIG_PATH {$PKG_CONFIG_PATH}:/path/to/mono/lib/pkgconfig
setenv MANPATH ${MANPATH}:/path/to/mono/share/man
setenv PATH ${PATH}:/path/to/mono/bin

mono.sh

#!/bin/sh
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/path/to/mono/lib/pkgconfig"
export MANPATH="$MANPATH:/path/to/mono/share/man"
export PATH="$PATH:/path/to/mono/bin"

Addera även /path/to/mono/lib i /etc/Id.so.conf Du kanske måste logga ut och in igen efter dessa förändringar för att dem ska få effekt.

2. Ladda ned källkoden för gtk-sharp på go-mono.com/sources-latest/

3. Kompilera och instellera gtk-sharp med hjälp av kommandot "./configure --prefix=/path/to/mono

4. Verifiera att den nya versionen är korrekt genom att köra "pkg-config --modversion gtk-sharp.20" (du kanske måste logga ut och in igen för detta.)

Bygga

[redigera]

Du kan kompilera redigeraren från kommandoprompt med jam. Skriv bara:

jam

och den kommer byggas. Du kan sedan starta den med:

mono supertux-editor.exe

Kanske vill du nu läsa svaren på dem mest förekommande frågorna om redigeraren.

I min installation startar redigeraren med följande kommando i terminalen:

INFO:  Using configfile: /home/myself/.config/supertux-editor/settings.xml
INFO:  Supertux is run as: /usr/local/bin/supertux/supertux
INFO:  Data files are in: /usr/local/bin/supertux/data/

Vid första körningen var inte sökvägarna korrekt inställda och redigeraren stoppade med ett fel. Redigeraren erbjuder möjligheten att interaktivt ställa in sökvägarna, men det fungerade inte för mig. Redigera istället konfigurationsfilen settings.xml:

<LastDirectoryName>/usr/local/bin/supertux/data/</LastDirectoryName>
<SupertuxExe>/usr/local/bin/supertux/supertux</SupertuxExe>
<SupertuxData>/usr/local/bin/supertux/data/</SupertuxData>

Din ser troligen annorlunda ut och du måste fylla i dina rätta sökvägar. Notera att LastDirectoryName måste finnas annars kommer det bli fel igen. Addera inte vitt utrymme mellan sökvägarna och taggarna!

Källor

[redigera]

Hela eller delar av materialet i artikeln, är hämtat och/eller översatt från engelskpråkiga http://supertux.lethargik.org/wikis wikiartikel "Building_SuperTux "