[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]
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
>
beos-uio-kluge-0.diff.gz
Description: Binary data
jjm
|
|