Re: [Freeciv-Dev] (PR#39511) [Patch] Call init_available_nations()
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39511 On 08/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: There was another call of init_available_nations() at wrong time. And sometimes it was not called when it should have been called. - Fixed compiler warning - ML diff -Nurd -X.diff_ignore freeciv/common/player.c freeciv/common/player.c --- freeciv/common/player.c 2007-08-04 18:38:32.0 +0300 +++ freeciv/common/player.c 2007-08-09 11:19:04.0 +0300 @@ -330,6 +330,9 @@ } pplayer-nation = pnation; return TRUE; + } else { +/* Nation already assigned to this player */ +assert(pnation-player == pplayer); } return FALSE; } diff -Nurd -X.diff_ignore freeciv/server/ruleset.c freeciv/server/ruleset.c --- freeciv/server/ruleset.c 2007-08-07 14:24:36.0 +0300 +++ freeciv/server/ruleset.c 2007-08-09 11:23:54.0 +0300 @@ -46,6 +46,7 @@ #include aiunit.h /* update_simple_ai_types */ #include ruleset.h +#include srv_main.h /* RULESET_SUFFIX already used, no leading dot here */ #define RULES_SUFFIX ruleset @@ -3494,6 +3495,10 @@ static void reset_player_nations(void) { players_iterate(pplayer) { +/* We cannot use player_set_nation() here since this is + * called before nations are loaded. Player pointers + * from nations will be initialized to NULL when nations are + * loaded. */ pplayer-nation = NO_NATION_SELECTED; pplayer-city_style = 0; } players_iterate_end; @@ -3548,6 +3553,9 @@ load_ruleset_effects(effectfile); load_ruleset_game(); + /* Init nations we just loaded. */ + init_available_nations(); + sanity_check_ruleset_data(); precalc_tech_data(); diff -Nurd -X.diff_ignore freeciv/server/srv_main.c freeciv/server/srv_main.c --- freeciv/server/srv_main.c 2007-08-07 00:07:45.0 +0300 +++ freeciv/server/srv_main.c 2007-08-09 11:19:04.0 +0300 @@ -1347,7 +1347,29 @@ } } nations_iterate(nation) { -nation-player = NULL; +/* Even though this function is called init_available_nations(), + * nation-player should never have value assigned to it + * (since it has beeen initialized in load_rulesets() ). */ +if (nation-player != NULL) { + + freelog(LOG_ERROR, Player assigned to nation before + init_available_nations()); + + /* When we enter this execution branch, assert() will always + * fail. This one just provides more informative message than + * simple assert(FAIL); */ + assert(nation-player == NULL); + + /* Try to handle error situation as well as we can */ + if (nation-player-nation == nation) { +/* At least assignment is consistent. Leave nation assigned, + * and make sure that nation is also marked available. */ +nation-is_available = TRUE; + } else { +/* Not consistent. Just initialize the pointer and hope for the best */ +nation-player = NULL; + } +} } nations_iterate_end; send_ruleset_nations(game.est_connections); } @@ -1889,8 +1911,6 @@ **/ static void srv_loop(void) { - init_available_nations(); - freelog(LOG_NORMAL, _(Now accepting new client connections.)); while(server_state == PRE_GAME_STATE) { sniff_packets(); /* Accepting commands. */ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39511) [Patch] Call init_available_nations()
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39511 On 09/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: On 08/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: There was another call of init_available_nations() at wrong time. And sometimes it was not called when it should have been called. - Fixed compiler warning - Fixed crash caused by uninitialized connection list - ML diff -Nurd -X.diff_ignore freeciv/common/player.c freeciv/common/player.c --- freeciv/common/player.c 2007-08-04 18:38:32.0 +0300 +++ freeciv/common/player.c 2007-08-09 11:38:27.0 +0300 @@ -330,6 +330,9 @@ } pplayer-nation = pnation; return TRUE; + } else { +/* Nation already assigned to this player */ +assert(pnation-player == pplayer); } return FALSE; } diff -Nurd -X.diff_ignore freeciv/server/ruleset.c freeciv/server/ruleset.c --- freeciv/server/ruleset.c 2007-08-07 14:24:36.0 +0300 +++ freeciv/server/ruleset.c 2007-08-09 11:38:27.0 +0300 @@ -46,6 +46,7 @@ #include aiunit.h /* update_simple_ai_types */ #include ruleset.h +#include srv_main.h /* RULESET_SUFFIX already used, no leading dot here */ #define RULES_SUFFIX ruleset @@ -3494,6 +3495,10 @@ static void reset_player_nations(void) { players_iterate(pplayer) { +/* We cannot use player_set_nation() here since this is + * called before nations are loaded. Player pointers + * from nations will be initialized to NULL when nations are + * loaded. */ pplayer-nation = NO_NATION_SELECTED; pplayer-city_style = 0; } players_iterate_end; @@ -3548,6 +3553,9 @@ load_ruleset_effects(effectfile); load_ruleset_game(); + /* Init nations we just loaded. */ + init_available_nations(); + sanity_check_ruleset_data(); precalc_tech_data(); diff -Nurd -X.diff_ignore freeciv/server/srv_main.c freeciv/server/srv_main.c --- freeciv/server/srv_main.c 2007-08-07 00:07:45.0 +0300 +++ freeciv/server/srv_main.c 2007-08-09 11:44:53.0 +0300 @@ -1347,7 +1347,29 @@ } } nations_iterate(nation) { -nation-player = NULL; +/* Even though this function is called init_available_nations(), + * nation-player should never have value assigned to it + * (since it has beeen initialized in load_rulesets() ). */ +if (nation-player != NULL) { + + freelog(LOG_ERROR, Player assigned to nation before + init_available_nations()); + + /* When we enter this execution branch, assert() will always + * fail. This one just provides more informative message than + * simple assert(FAIL); */ + assert(nation-player == NULL); + + /* Try to handle error situation as well as we can */ + if (nation-player-nation == nation) { +/* At least assignment is consistent. Leave nation assigned, + * and make sure that nation is also marked available. */ +nation-is_available = TRUE; + } else { +/* Not consistent. Just initialize the pointer and hope for the best */ +nation-player = NULL; + } +} } nations_iterate_end; send_ruleset_nations(game.est_connections); } @@ -1791,7 +1813,6 @@ con_flush(); - server_game_init(); stdinhand_init(); diplhand_init(); @@ -1801,6 +1822,8 @@ server_open_socket(); } + server_game_init(); + /* load a saved game */ if (srvarg.load_filename[0] != '\0') { (void) load_command(NULL, srvarg.load_filename, FALSE); @@ -1889,8 +1912,6 @@ **/ static void srv_loop(void) { - init_available_nations(); - freelog(LOG_NORMAL, _(Now accepting new client connections.)); while(server_state == PRE_GAME_STATE) { sniff_packets(); /* Accepting commands. */ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39513) [Patch] Toluaxx: Get liblua.a from build directory
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39513 One fix (more required) to toluaxx makefiles. - It tried to get built liblua.a from source directory instead of build directory - libluaxx requires lua-5.1, so it will never be used with liblualib.a. Still it attempted to link against it - ML diff -Nurd -X.diff_ignore freeciv/dependencies/toluaxx/src/bin/Makefile.am freeciv/dependencies/toluaxx/src/bin/Makefile.am --- freeciv/dependencies/toluaxx/src/bin/Makefile.am 2007-08-06 05:50:57.0 +0300 +++ freeciv/dependencies/toluaxx/src/bin/Makefile.am 2007-08-09 12:17:19.0 +0300 @@ -43,11 +43,9 @@ lua/tlx_verbatim.lua tolua_DEPENDENCIES = \ - $(top_srcdir)/dependencies/lua/src/liblua.a \ - $(top_srcdir)/dependencies/lua/src/lib/liblualib.a \ + $(top_builddir)/dependencies/lua/src/liblua.a \ ../lib/libtolua.a tolua_LDADD = \ - $(top_srcdir)/dependencies/lua/src/liblua.a \ - $(top_srcdir)/dependencies/lua/src/lib/liblualib.a \ + $(top_builddir)/dependencies/lua/src/liblua.a \ ../lib/libtolua.a -lm ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39514) BUG: nations invalid in existing games
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39514 New behavior: r13215 trunk loading my standard test game (generated in 2.1), all existing nations are declared invalid: '/load /Users/wastrel/.freeciv/saves/civgame-0950m.sav.bz2' 1: Error before closing /Users/wastrel/.freeciv/saves/civgame-0950m.sav.bz2: Bzip2 error -1 2: Loading rulesets 1: Reassigning barbarian nation for Chiang Kai Shek 1: Reassigning barbarian nation for Basil Kapnist 1: Reassigning barbarian nation for Bortai 1: Chiang Kai Shek had invalid nation; changing to Cornish. 1: Basil Kapnist had invalid nation; changing to Lankese. 1: Bortai had invalid nation; changing to Vietnamese. === [player0] name=Chiang Kai Shek username=wastrel ranked_username=Unassigned nation=Taiwanese ... ai.is_barbarian=0 ... [player1] name=Basil Kapnist username=Unassigned ranked_username=Unassigned nation=Ukrainian ... ai.is_barbarian=0 ... [player2] name=Bortai username=Unassigned ranked_username=Unassigned nation=Mongol ... ai.is_barbarian=0 ... ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39515) struct req_source to struct universal
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39515 Committed trunk revision 13219. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39514) BUG: nations invalid in existing games
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39514 On 09/08/07, William Allen Simpson [EMAIL PROTECTED] wrote: New behavior: r13215 trunk loading my standard test game (generated in 2.1), all existing nations are declared invalid: Oops. Should have tested better after simplifying #39485. I'll commit attached fix as soon as I have tested it. - ML diff -Nurd -X.diff_ignore freeciv/server/barbarian.c freeciv/server/barbarian.c --- freeciv/server/barbarian.c 2007-08-04 18:36:24.0 +0300 +++ freeciv/server/barbarian.c 2007-08-09 17:08:04.0 +0300 @@ -68,7 +68,7 @@ /** Is player a sea barbarian? **/ -static bool is_sea_barbarian(struct player *pplayer) +bool is_sea_barbarian(struct player *pplayer) { return (pplayer-ai.barbarian_type == SEA_BARBARIAN); } diff -Nurd -X.diff_ignore freeciv/server/barbarian.h freeciv/server/barbarian.h --- freeciv/server/barbarian.h 2007-08-04 18:36:24.0 +0300 +++ freeciv/server/barbarian.h 2007-08-09 17:07:53.0 +0300 @@ -32,5 +32,6 @@ bool unleash_barbarians(struct tile *ptile); void summon_barbarians(void); bool is_land_barbarian(struct player *pplayer); +bool is_sea_barbarian(struct player *pplayer); #endif /* FC__BARBARIAN_H */ diff -Nurd -X.diff_ignore freeciv/server/savegame.c freeciv/server/savegame.c --- freeciv/server/savegame.c 2007-08-09 00:00:44.0 +0300 +++ freeciv/server/savegame.c 2007-08-09 17:08:18.0 +0300 @@ -1923,7 +1923,7 @@ * Reassign correct nations for such barbarians. */ enum barbarian_type nat_barb_type = nation_barbarian_type(pnation); -if ((!is_land_barbarian(plr) nat_barb_type != SEA_BARBARIAN) +if ((is_sea_barbarian(plr) nat_barb_type != SEA_BARBARIAN) || (is_land_barbarian(plr) nat_barb_type != LAND_BARBARIAN)) { freelog(LOG_ERROR, Reassigning barbarian nation for %s, plr-name); plr-nation = NO_NATION_SELECTED; ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39414) tolua, tolua++, toluaxx
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39414 Marko Lindqvist wrote: Is this caused by some test settings you were using? Or do we have (serious) bug, that currently freeciv cannot be compiled in systems containing lua-5.1 dev packet? At least on my MacOSX machine, with lua 5.1 installed, the headers were used from the lua 5.1, instead of the local headers. Search order of headers is specified in the makefiles, so it is a (serious) bug. As was mentioned in PR#39416, Per and I thought that it would be better to externalize lua entirely. You've chosen a different path. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39515) struct req_source to struct universal
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39515 On 09/08/07, William Allen Simpson [EMAIL PROTECTED] wrote: Committed trunk revision 13219. While I have not looked this particular patch, and probably have nothing against it, you should reread http://freeciv.wikia.com/wiki/Commit_rules and what it says about allowing time for comments... - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39414) tolua, tolua++, toluaxx
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39414 On 09/08/07, William Allen Simpson [EMAIL PROTECTED] wrote: As was mentioned in PR#39416, Per and I thought that it would be better to externalize lua entirely. You've chosen a different path. One thing at a time. It is not a trivial task to externalize it with proper configure checks and such. And we cannot externalize it *before* we take toluaxx in to use, since tolua does not work with lua-5.1 (which would be that external lua in most cases) In fact, I'm not sure if we can externalize it even (soon) after we have taken toluaxx in to use. Toluaxx might be too tightly tied to certain lua versions. So we have to provide that version instead of using what ever version is present in system. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#39488) [Patch] README.graphics update for S2_1
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39488 On 05/08/07, Marko Lindqvist [EMAIL PROTECTED] wrote: And yes, some of the updates I made to this patch for trunk version should be backported to S2_1 patch. Here - ML diff -Nurd -X.diff_ignore freeciv/doc/README.graphics freeciv/doc/README.graphics --- freeciv/doc/README.graphics 2007-03-05 19:13:43.0 +0200 +++ freeciv/doc/README.graphics 2007-08-09 20:40:37.0 +0300 @@ -69,15 +69,23 @@ Strings (enclosed in ) - options : A capability string, currently +tilespec3 + options : A capability string, currently +tilespec4 name : the name of the tileset city_names_font : an X font string city_productions_font : an X font string main_intro_file : GFX file for the intro graphics minimap_intro_file: GFX file for the radar screen intro graphics + String vectors + -- + prefered_themes : List of prefered client themes to use with this + tileset + Integers + priority : when user does not specify tileset, client + automatically loads available compatible tileset + with highest priority. normal_tile_width : the width of terrain tiles normal_tile_height: the height of terrain tiles small_tile_width : the width of icon sprites @@ -93,13 +101,11 @@ directions. There are thus 256 road and 256 rail sprites (64 for a hex tileset). fogstyle : Specifies how fog is drawn. - 0 : A single fog sprite is drawn on top of all + 0 : Code automatically adds fog. + 1 : A single fog sprite is drawn on top of all other sprites for fogged tiles. The tx.fog sprite is used for this. - 1 : Each sprite for a fogged tile is drawn fogged. - The tx.fog sprite may be used for the fog - drawing (but clipped by the mask of the - underlying sprite). + 2 : No fog, or fog from darkness_style = 4. darkness_style: Specifies how encroaching darkness is drawn. 0 : No darkness. 1 : A single sprite can be split into 4 parts, each @@ -111,10 +117,15 @@ 3 : The sprite is chosen based on the vector sum of the darkness in all 4 cardinal directions. 15 different sprites are needed. - flag_offset_x: Gives an offset from the tile origin at which to - flag_offset_y draw flags behind units and cities. With isometric - tilesets this should be non-zero so that the flag - is placed correctly behind the unit/city. + 4 : Corner darkness fog, 81 sprites needed. + unit_flag_offset_x : Gives an offset from the tile origin at which to + unit_flag_offset_y draw flags behind units or cities. With isometric + city_flag_offset_x tilesets this should be non-zero so that the flag + city_flag_offset_y is placed correctly behind the unit/city. + unit_offset_x: Gives an offset from the tile origin at which to + unit_offset_y draw units. + citybar_offset_y : Gives an offset from city tile origin at which to + draw citybar text. hex_side : When is_hex is specified (see is_hex, below), this value gives the length of the extra side of the hexagon. This extra side will be on the top/bottom @@ -131,6 +142,8 @@ normal dimensions of 64x32 with a hex_side of 16 for an iso-hex tileset will give hexagons of size 48x32. + city_names_font_size : Font size used in drawing city name + city_production_font_size : Font size used in drawing city production Booleans (0 or 1) - @@ -139,6 +152,8 @@ is also specified then you have an iso-hex tileset. Hex tilesets should be used with topologies 8-11 and iso-hex tilesets with topologies 12-15. + is_mountainous: set to 1 for blending hills and mountains together. + is_full_citybar : set to 1 to enable citybar. String lists (a comma-separated list of strings) @@ -165,10 +180,16 @@ Blending is drawn on top of the first layer (see below). The blending mask has sprite
[Freeciv-Dev] (PR#39518) [Patch] Backport AUTHORS change to S2_1
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39518 TRUNK version of AUTHORS points to http://freeciv.org/wiki/People instead of doc/PEOPLE. At minimum that link must go to S2_1 (and S2_0) too. Attached patch does more than that: it also removes PEOPLE from distribution. I'm going to remove it from from svn too. - ML diff -Nurd -X.diff_ignore freeciv/AUTHORS freeciv/AUTHORS --- freeciv/AUTHORS 2007-03-05 19:14:36.0 +0200 +++ freeciv/AUTHORS 2007-08-09 22:11:41.0 +0300 @@ -1 +1 @@ -Please see doc/PEOPLE for a complete list. +Please see http://freeciv.org/wiki/People for a complete list. diff -Nurd -X.diff_ignore freeciv/doc/Makefile.am freeciv/doc/Makefile.am --- freeciv/doc/Makefile.am 2007-03-05 19:13:43.0 +0200 +++ freeciv/doc/Makefile.am 2007-08-09 22:11:57.0 +0300 @@ -8,7 +8,6 @@ HACKING \ INSTALL.Cygwin \ HOWTOPLAY \ - PEOPLE \ README.AI \ README.agents \ README.attributes \ ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39519) [Patch] INSTALL: replace cvs with svn
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39519 Version control was still referenced as cvs in a couple of places in INSTALL. - ML diff -Nurd -X.diff_ignore freeciv/INSTALL freeciv/INSTALL --- freeciv/INSTALL 2007-08-04 18:39:15.0 +0300 +++ freeciv/INSTALL 2007-08-09 23:20:43.0 +0300 @@ -3,7 +3,7 @@ === This file describes how to compile and install Freeciv. This file is -last updated 18-Mar-07. +last updated 09-Aug-07. There may be a localized version of this file in the ./doc directory, named INSTALL.locale (e.g., INSTALL.de). @@ -66,7 +66,7 @@ Officially released versions of Freeciv are designed to have makefiles which work with most make programs. Development releases - and CVS snapshots contain things (like dependencies) which use + and svn snapshots contain things (like dependencies) which use gmake's enhanced features, so gmake is necessary for development, unless you give configure the --disable-cvs-deps option. See the section below for more information. @@ -278,7 +278,7 @@ 2. Generating Makefiles === -This section contains two parts, one for generating makefiles from CVS +This section contains two parts, one for generating makefiles from svn versions and one for generating makefiles from release versions. 2a. Generating the Makefile for svn versions: @@ -680,7 +680,7 @@ These things have to be put to a place where your compiler will find it. Autoconf and co: -If you build from cvs, you will have to replace ./configure with ./autogen.sh +If you build from svn, you will have to replace ./configure with ./autogen.sh in the following lines. Configuring the source: diff -Nurd -X.diff_ignore freeciv/INSTALL freeciv/INSTALL --- freeciv/INSTALL 2007-03-05 19:16:15.0 +0200 +++ freeciv/INSTALL 2007-08-09 23:25:24.0 +0300 @@ -14,7 +14,7 @@ 1b. Prerequisites for the Gtk+ 2.0 client: 1c. Prerequisites for the Xaw client: 2. Generating Makefiles - 2a. Generating the Makefile for CVS versions: + 2a. Generating the Makefile for svn versions: 2b. Generating the Makefile for release versions: 3. Compiling Freeciv: 4. Installation: @@ -53,7 +53,7 @@ Development of Freeciv is primarily done with gcc, the GNU project's excellent C compiler. Releases can be compiled with gcc or most other compilers (such as the unbundled Solaris C compiler). - Development releases and CVS snapshots will not work without gcc, + Development releases and svn snapshots will not work without gcc, unless you give configure the --disable-cvs-deps option. See the section below for more information. Note that there have been reports that gcc with -O3 miscompiled @@ -65,7 +65,7 @@ Officially released versions of Freeciv are designed to have makefiles which work with most make programs. Development releases - and CVS snapshots contain things (like dependencies) which use + and svn snapshots contain things (like dependencies) which use gmake's enhanced features, so gmake is necessary for development, unless you give configure the --disable-cvs-deps option. See the section below for more information. @@ -77,13 +77,13 @@ The output should include GNU Make somewhere. -The CVS version has additional requirements. A release version +The svn version has additional requirements. A release version contains the generated files. - The programs from GNU gettext version 0.10.36 or better Especial the xgettext program is required to create the *.gmo - files which aren't included in the CVS tree. + files which aren't included in the svn tree. - GNU autoconf version 2.13 or better @@ -301,13 +301,13 @@ 2. Generating Makefiles === -This section contains two parts, one for generating makefiles from CVS +This section contains two parts, one for generating makefiles from svn versions and one for generating makefiles from release versions. -2a. Generating the Makefile for CVS versions: +2a. Generating the Makefile for svn versions: = -This step is only needed for CVS versions. +This step is only needed for svn versions. To create the makefile just type @@ -339,7 +339,7 @@ % ./configure --help -If you're compiling a development release or a CVS snapshot, and you +If you're compiling a development release or a svn snapshot, and you don't have both GNU make AND gcc, then pass configure the --disable-cvs-deps option. You'll especially need to do this if you're using the Solaris cc and make programs. ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
Re: [Freeciv-Dev] (PR#38398) [patch] add SDL client prerequisites to INSTALL
URL: http://bugs.freeciv.org/Ticket/Display.html?id=38398 On 18/03/07, Christian Prochaska [EMAIL PROTECTED] wrote: This patch adds the SDL client prerequisites to the INSTALL file. S2_1 version of SDL client has same requirements, right? So far this patch has been committed to TRUNK only. - ML ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev
[Freeciv-Dev] (PR#39520) [Patch] Fix --disable-cvs-deps
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39520 Ok, this time I figured out what this configure option really is - or is meant to be. In the process I fixed some of the most obvious bugs. And once I had fixed most problems with it, it no longer made sense to leave it halfway. In addition to fixing bugs I renamed it as --disable-auto-deps, since I found its old name really confusing. It has nothing to do with version control! Not that I can be sure that it helps where it is meant to be used, ie when compiler lacks certain properties. I only know that it seems to modify Makefiles as it should and using those modified Makefiles it is possible to compile freeciv using gcc. - ML diff -Nurd -X.diff_ignore freeciv/bootstrap/undep.sh.in freeciv/bootstrap/undep.sh.in --- freeciv/bootstrap/undep.sh.in 2007-08-04 18:37:57.0 +0300 +++ freeciv/bootstrap/undep.sh.in 2007-08-10 00:25:38.0 +0300 @@ -4,30 +4,30 @@ # # This script gets run at the end of configure, to modify # the Makefile's produced by configure to remove deps stuff -# which can (for cvs sources and snapshots) upset some make +# which can (for svn sources and snapshots) upset some make # programs and C compilers. (GNU make and gcc work, maybe # some others work too...) # # Whether anything is actually modified depends on how configure -# sets CVS_DEPS; see configure.in; if CVS_DEPS is set to yes, +# sets AUTO_DEPS; see configure.ac; if AUTO_DEPS is set to yes, # this script does nothing. For a release distribution # of freeciv (where the deps are done differently and are portable) # this script will in effect do nothing because the sed regex's # won't match. [EMAIL PROTECTED]@ [EMAIL PROTECTED]@ -if test $CVS_DEPS = yes; then +if test $AUTO_DEPS = yes; then exit fi @[EMAIL PROTECTED]client client/agents client/@gui_sources@ @[EMAIL PROTECTED] [EMAIL PROTECTED]@SSUBDIRS=ai server [EMAIL PROTECTED]@SSUBDIRS=ai server server/generator server/scripting @[EMAIL PROTECTED] -SUBDIRS=common common/aicore $SSUBDIRS $CSUBDIRS +SUBDIRS=common common/aicore utility $SSUBDIRS $CSUBDIRS manual for subdir in $SUBDIRS ; do @@ -43,19 +43,27 @@ continue fi -echo removing cvs-deps from $name +echo removing auto-deps from $name mv -f $name $name.bak +# These are known to match if automake version used is 1.4 sed ' s/^DEPS_MAGIC.*// s/^-include $(DEP_FILES)// s/^%\.o: %\.c/.c.o:/ s/[EMAIL PROTECTED] '''$(COMPILE) -c $'''; \\/$(COMPILE) -c $/ s/ $(COMPILE) -Wp,-MD,\.deps\/$(\*F)\.pp -c $/junknever:/ -' $name.bak $name +' $name.bak $name.bak2 -# Above, COMPILE substitution line is appropriate for automake 1.4 -# It has an embedded tab character after the s/ +# These are known to match if automake version used is 1.9.6 +# There is several tab characters. Don't get fooled if they appear as one space! +sed ' +s/^DEPDIR = .*// +s/^include .\/$(DEPDIR)\/.*// +s/^ if $(COMPILE) -MT $@ -MD -MP -MF \$(DEPDIR).*/ $(COMPILE) -c -o $@ $/ +s/^ then mv -f \$(DEPDIR).*// +s/^ -rm -rf \.\/$(DEPDIR)// +' $name.bak2 $name done diff -Nurd -X.diff_ignore freeciv/configure.ac freeciv/configure.ac --- freeciv/configure.ac 2007-08-09 11:35:00.0 +0300 +++ freeciv/configure.ac 2007-08-09 23:54:12.0 +0300 @@ -138,12 +138,14 @@ esac], [make_include=false]) AM_CONDITIONAL(MAKE_CLIENT_INCLUDE, test $make_include = true) -AC_ARG_ENABLE(cvs_deps, - [ --disable-cvs-deps remove cvs-source deps calcs, which require gmake,gcc],, - enable_cvs_deps=maybe -) -CVS_DEPS=$enable_cvs_deps -AC_SUBST(CVS_DEPS) +AC_ARG_ENABLE([auto_deps], +[ --disable-auto-deps remove automatic deps calcs, which require gmake,gcc], +[case ${enableval} in + yes) enable_auto_deps=true ;; + no) enable_auto_deps=false;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-auto-deps]) ;; +esac], [enable_auto_deps=maybe]) +AUTO_DEPS=$enable_auto_deps AC_ARG_WITH(efence, [ --with-efence use Electric Fence, malloc debugger ], @@ -307,14 +309,15 @@ AC_C99_INITIALIZERS AC_C99_STDINT_H -if test $CVS_DEPS = maybe; then +if test $AUTO_DEPS = maybe; then dnl Should also check for gmake? if test -n $GCC; then - CVS_DEPS=yes + AUTO_DEPS=yes else - CVS_DEPS=no + AUTO_DEPS=no fi fi +AC_SUBST([AUTO_DEPS]) dnl BeOS-specific settings if test x`$UNAME -s` = xBeOS ; then diff -Nurd -X.diff_ignore freeciv/INSTALL freeciv/INSTALL --- freeciv/INSTALL 2007-08-04 18:39:15.0 +0300 +++ freeciv/INSTALL 2007-08-09 23:48:02.0 +0300 @@ -55,7 +55,7 @@ project's excellent C compiler. Releases can be compiled with gcc or most other compilers (such as the unbundled Solaris C compiler). Development releases and svn snapshots will not work without gcc, - unless you give configure the --disable-cvs-deps option. See + unless you give configure the --disable-auto-deps option. See the section below for more information. Note that
[Freeciv-Dev] (PR#39521) [Patch] Remove mention about --with-included-gettext from INSTALL
URL: http://bugs.freeciv.org/Ticket/Display.html?id=39521 $subject This is true for trunk only. - ML diff -Nurd -X.diff_ignore freeciv/INSTALL freeciv/INSTALL --- freeciv/INSTALL 2007-08-04 18:39:15.0 +0300 +++ freeciv/INSTALL 2007-08-10 00:54:44.0 +0300 @@ -2,8 +2,9 @@ Installing Freeciv: === -This file describes how to compile and install Freeciv. This file is -last updated 18-Mar-07. +This file describes how to compile and install Freeciv. Last time we +made sure this file is up to date was 18-Mar-07. +Last minor update was 10-Aug-07. There may be a localized version of this file in the ./doc directory, named INSTALL.locale (e.g., INSTALL.de). @@ -457,17 +458,10 @@ % ./configure --disable-nls % make -2. If you want Native Language Support, try the version of gettext that - is included with Freeciv by specifying the --with-included-gettext - ./configure option: - - % ./configure --with-included-gettext - % make - -3. Finally, you can try to install the latest version of GNU gettext. +2. You can try to install the latest version of GNU gettext. It may be obtained from here: - ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.6.tar.gz + ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.16.1.tar.gz 6. Readline Support: ___ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev