[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug on NetBSD : redefinition of wint_t
From: |
Paul Eggert |
Subject: |
Re: Bug on NetBSD : redefinition of wint_t |
Date: |
Tue, 7 Aug 2001 00:02:33 -0700 (PDT) |
> From: address@hidden
> Date: Mon, 6 Aug 2001 23:28:22 +0200
>
> > 1. Modify AC_CHECK_HEADER to always try to compile the header; it
> > should never merely just try to preprocess it.
> > 2. Modify AC_CHECK_HEADER to use the default includes if INCLUDES is
> > empty, just as the other check macros do.
>
> I agree the idea is attractive, the hypothesis being that default headers
> are always just what we need for headers people are willing to check the
> existence of.
>
> But I must confess it scares the hell out of me. You really want to see
> me crucified at the next Autoconf release :(
Nahhh. You can blame it on me....
> Well, we could give this a try at least amongst Autoconf beta
> testers, but I fear this change very much. While if Autoconf was to
> be designed today, I would sure go that way.
OK. Then all we need to do is to figure out a transition strategy.
How about something like the following as a transition strategy. It
would raise a bit of ruckus, but it would do the job. (Better a noisy
change than a quiet one. :-)
* Do the following in the next version of autoconf:
- Announce that we intend to change AC_CHECK_HEADER so that the
default is to compile, not preprocess, when INCLUDES is empty.
However, we don't make that change happen quite just yet.
Instead:
- Modify AC_CHECK_HEADER so that if INCLUDES is empty, it tries both
the old and the new semantics, and issues a warning if the two
disagree. (This warning will be generated at 'configure'-time, of
course.) Continue to use the old semantics after the warning.
During this transition period, if I want the new semantics without
warnings, I can write AC_CHECK_HEADER(unistd.h, , , /**/).
As an optimization, AC_CHECK_HEADER need not try the new
semantics if the old semantics say that the header is absent.
- Modify AC_CHECK_HEADER so that if INCLUDES is `-', it uses the old
semantics. That way, I can use AC_CHECK_HEADER(unistd.h, , , -)
to get the old semantics without warnings. This is backward
compatible with autoconf 2.13 because autoconf 2.13 ignores the
`-' here. The `-' is a mnemonic for ``no includes and no
compiling either''.
* In a later autoconf version, switch to the new semantics when
INCLUDES is empty, but keep the warnings when the old and new
semantics disagree.
* In a still later version, stop issuing the warnings.
- Re: Bug on NetBSD : redefinition of wint_t,
Paul Eggert <=