The International Simutrans Forum

Development => Patches & Projects => Incorporated Patches and Solved Bug Reports => Topic started by: dannyman on October 04, 2009, 09:22:33 PM

Title: My First Compile from SVN (linux)
Post by: dannyman on October 04, 2009, 09:22:33 PM
Hello,

I grabbed the trunk from tron and managed to compile.  Here are some notes for anyone else trying to compile with Linux (Ubuntu)

sudo aptitude install libz-dev libpng-dev libsdl-dev libsdl-mixer1.2-dev liballegro-dev

I set these in config.default:

BACKEND = mixer_sdl
COLOUR_DEPTH = 16


The 8bit was breaking compile.

I had to fix two typos in the source code to compile correctly.  After that, make did its thing and left me with a binary called sim which I can copy to my ~/simutrans directory to play the game. :)

Following is my svn diff, which I like to think reflects developers slaving away on the trunk:


Index: simwerkz.cc
===================================================================
--- simwerkz.cc (revision 2686)
+++ simwerkz.cc (working copy)
@@ -2002,7 +2002,7 @@
{
// get a default vehikel
vehikel_besch_t remover_besch( wt, 500, vehikel_besch_t::diesel );
- vehikel_t* test_driver = vehikelrbauer_t::baue(start, sp, NULL, &remover_besch);
+ vehikel_t* test_driver = vehikelbauer_t::baue(start, sp, NULL, &remover_besch);
bool can_built;
if( start != to ) {
can_built = verbindung.calc_route(sp->get_welt(), start, to, test_driver, 0);
Index: dings/gebaeude.cc
===================================================================
--- dings/gebaeude.cc (revision 2686)
+++ dings/gebaeude.cc (working copy)
@@ -151,7 +151,7 @@
}
// have to rotate the tiles :(
if (!haus_besch->can_rotate() && haus_besch->get_all_layouts() == 1) {
- if (welt->get_einstellungen()->get_rotation() & 1) == 0) {
+ if ((welt->get_einstellungen()->get_rotation() & 1) == 0) {
// rotate 180 degree
new_offset = koord(haus_besch->get_b() - 1 - new_offset.x, haus_besch->get_h() - 1 - new_offset.y);
}
Title: Re: My First Compile from SVN (linux)
Post by: dannyman on October 04, 2009, 09:29:20 PM
And any time I want a fresh "nightly" I can:


cd ~/src/tron/simutrans/trunk
svn up
make && cp sim ~/simutrans


It looks like someone is in the middle of working on code now.  (There are some weird display issues in the factory info dialog.)  Danke! Danke!  Danke!
Title: Re: My First Compile from SVN (linux)
Post by: wernieman on October 05, 2009, 07:22:47 AM
You need "liballegro-dev" ?

But you compile for "BACKEND = mixer_sdl"?
Title: Re: My First Compile from SVN (linux)
Post by: dannyman on October 05, 2009, 01:17:05 PM
Quote from: wernieman on October 05, 2009, 07:22:47 AM
You need "liballegro-dev" ?

But you compile for "BACKEND = mixer_sdl"?

Yeah, the documentation says you need to include both sdl-mixer and allegro.  What compile options do you favor for Linux?

-d
Title: Re: My First Compile from SVN (linux)
Post by: Spike on October 05, 2009, 01:27:07 PM
Most likely you need allegro only if you also compile for the allegro backend. But it doesn't hurt to have both installed, SDL and Allegro.
Title: Re: My First Compile from SVN (linux)
Post by: wernieman on October 05, 2009, 01:37:53 PM
You want to know how the nightlys are compiled??? ;o)
Title: Re: My First Compile from SVN (linux)
Post by: dannyman on October 05, 2009, 01:43:41 PM
Quote from: wernieman on October 05, 2009, 01:37:53 PM
You want to know how the nightlys are compiled??? ;o)

I like to think a cron job invokes a bash script, but experience tells me some pig's blood is also involved.  (I'm a SysAdmin by day. ;)
Title: Re: My First Compile from SVN (linux)
Post by: wernieman on October 05, 2009, 02:27:28 PM
In German:
"Herzliches Beileit Leidensgenosse"

The Script is "easy".
1) Check if SVN-Update, when yes then
2) Do SVN Update
3) new compile.default
4) Check if Compile, when not error
5) strip programm
6) READY.... ;o)

It makes only Problems, when you cross-compile ..... (for Windows/MAC)