[Top][All Lists]

[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.

  - 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.

reply via email to

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