-c     Include  common symbols as definitions with respect to the ta=
ble
              of contents.  This is seldom the intended behavior  for  link=
ing
              from  a  library,  as  it forces the linking of a library mem=
ber
              just because it uses an uninitialized global that  is  undefi=
ned
              at  that  point  in  the  linking.  This option is included o=
nly
              because this was the original behavior of ranlib.   This  opt=
ion
              is not the default.

So I have modified the build process to detect the broken ranlib (in a
bit of a nasty way, someone please fix this when you have a better
idea), and added the -c flag if the OSX version is found.

Here's expected behaviour on the two major operating systems we care
about. Patches accepted for solaris and bsd especially.

apple$ ranlib -c 2>/dev/null ; echo $?
1
debian$ ranlib -c 2>/dev/null ; echo $?
0

Attached here, and in the shiny repo.

--=20
Stephen Thorne

"Give me enough bandwidth and a place to sit and I will move the world."
  --Jonathan Lange

------=_Part_10348_7869479.1147865084723
Content-Type: application/octet-stream; name=ranlib-patch.dpatch
Content-Transfer-Encoding: 7bit
X-Attachment-Id: f_enbl4dp8
Content-Disposition: attachment; filename="ranlib-patch.dpatch"


New patches:

[fix the OSX build by passing the -c flag to ranlib.
Stephen Thorne <stephen at thorne.id.au>**20060517111623] {
hunk ./Vanilla/ChangeLog 1
+
+Wed May 17 11:12:04 2006  Stephen Thorne  <stephen at thorne.id.au>
+
+    * ntserv/Makefile.in (libnetrek.a): Pass @RANLIB_FLAGS@ to the ranlib
+    command.
+
+    * configure.in: Check for if ranlib exits with a non-zero exit when run
+    with a bare '-c' option. On debian, ranlib will exit with a 0 exit code
+    if passed a filename that doesen't exist. On OSX, '-c' is a valid flag, 
+    and if passed alone, will exit with an exit code of 1. A better way of
+    detecting this would be nice. If using the OSX version, then we pass -c
+    to all ranlib calls. Fixes build bug on OSX.
+
hunk ./Vanilla/configure.in 481
+
+AC_MSG_CHECKING(for OSX ranlib)
+RANLIB_FLAGS=
+if ranlib -c 2>/dev/null; then
+    AC_MSG_RESULT(good - no)
+else
+    RANLIB_FLAGS='-c'
+    AC_MSG_RESULT(drat - yes)
+fi
+
+AC_SUBST(RANLIB_FLAGS)
hunk ./Vanilla/ntserv/Makefile.in 90
-	ranlib $@
+	ranlib @RANLIB_FLAGS@ $@
}

Context:

[updateplayers.dpatch
jimmyhua73 at yahoo.com**20060516075315
 
 Treats humans and bots differently. 
 
 Humans with a high planet rating > 4 are assumed to carry once they
 have a kill. 
 
 Humans alive longer than 5 minutes with 1 kill are also assumed to carry. 
 If you have 2 kills, the time they assume you carry drops to 2.5 minutes...
 
 Uses the OggV packet and "robot!" login to ID the robots. Needed to change
 server source code and newbie.c source to help support this. All
 those changes are already there if you have the newbiebetter.dpatch.
 
 Jimmy
 
] 
[newbie better 2 changelog fix
quozl at us.netrek.org**20060516070248
 Applying the principles of the Software Release Practice HOWTO
 http://www.tldp.org/HOWTO/Software-Release-Practice-HOWTO/
] 
[newbiebetter.dpatch
jimmyhua73 at yahoo.com**20060516071923
 
 newbie now will generate t-mode games randomly any team against
 any other. Also, won't start diagonal games. 
 
 newbie starts up bots with -g option so server knows about the bots. 
 
 genspkt.c also modified so server tells clients which clients
 are newbie bots. 
 
 Merlin still nukes bots based on "robot!" login. So, if you want
 to pretend to be a bot, you may get nuked.  Robots will ID each
 other based both on "robot!" login and also OggV packet. 
 
 If you are the only player on a server and have a "robot!" login...
 The newbie game ends...
 
 
] 
[changelog for Compilation fix for gcc4.0
quozl at us.netrek.org**20060516040416] 
[Compilation fix for gcc4.0
williamb at its.caltech.edu**20060516015945
 Fix for jimmy's code with gcc4.0, compiler doesn't like variables declared in this way, so
 moved the int declare to top of the function.
 This patch contains the following changes:
 
 M ./Vanilla/robotd/assault.c -1 +1
] 
[enable CONTINUOUS_MOUSE by default
quozl at us.netrek.org**20060515223159
 Upgrade of Continuum to 2.11.0 revealed a regression caused by not
 adopting the features file from the previous server.
] 
[post-release notes for 2.11.0
quozl at us.netrek.org**20060515100328
 Changed the notes regarding the release process, to assist self or others
 for next release.
] 
[TAG 2.11.0
quozl at us.netrek.org**20060515091704] 
Patch bundle hash:
ed8efe77ed3768fff103c179279580bd3948d38f



------=_Part_10348_7869479.1147865084723--