Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2000:
[Freeciv-Dev] Re: spurious modifications of config.h (PR#222)
Home

[Freeciv-Dev] Re: spurious modifications of config.h (PR#222)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: spurious modifications of config.h (PR#222)
From: Jeff Mallatt <jjm@xxxxxxxxxxxx>
Date: Mon, 03 Jan 2000 09:41:52 -0500

This is a patch to try to keep config.h from being changed on all platforms 
except BeOS.

To test it, you'll need to run autoconf after applying the patch.

At 2000/01/02 05:44 , David Pfitzner wrote:
>(For cvs version Sun Jan  2 10:19:15 UTC 2000.)
>
>I was seeing some strange compliation behaviour, with lots of 
>unnecessary re-compilations, and wondered if it was some wierd 
>y2k bug in configure or make, but it turned out to be a 
>garden-variety bug...
>
>The problem occurs if eg the configure script has changed 
>(eg, from 'cvs up') and you do a make without manually re-running
>configure.  In this case the make will re-run configure for you
>(with command-line params from previous invocation etc) so that 
>everything should be ok.  But it does it in a special way, using 
>configure with '--no-create --no-recursion' at the top level, and 
>then eg
>  cd .. \
>  && CONFIG_FILES=ai/Makefile CONFIG_HEADERS= /bin/sh ./config.status
>at lower levels to generate updated Makefiles in each dir.
>(Why I don't know, would have to ask automake gurus.)
>
>The problem is that each time config.status is run from lower 
>level directories a line 
>   #undef HAVE_SYS_UIO_H
>is appended to config.h, so that multiple duplicate lines of
>this build up (and incidently are wrong, since I do have sys/uio.h), 
>but worse, the timestamp on config.h is updated, so re-running make 
>will have to re-compile everything which depends on config.h.  
>
>This line in config.h is due to the line
>    AC_OUTPUT_COMMANDS([echo "#undef HAVE_SYS_UIO_H" >> config.h])
>in configure.in, which it appears is only intended to fix brokeness 
>on BeOS.  But apparently autoconf actually just puts all 
>AC_OUTPUT_COMMANDS() into configure, and they run unconditionally 
>every time config.status is run.  (This is similar to a previous 
>problem (now fixed) with adjusting po/Makefile to notice Q_() 
>qualifier.)
>
>A temporarly fix would be to get rid of that line in configure.in;
>I'm not sure what a correct fix which does the right thing on
>BeOS would be.
>
>-- David
> 

Attachment: beos-uio-kluge-0.diff.gz
Description: Binary data

jjm

[Prev in Thread] Current Thread [Next in Thread]