autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_TYPE_UINT8_T and co


From: Stepan Kasal
Subject: Re: AC_TYPE_UINT8_T and co
Date: Tue, 29 May 2007 04:54:52 +0200
User-agent: Mutt/1.4.2.2i

Hello Patrick,

I'm going to answer only one of your minor comments now.
(Please be patient as far as your main suggestion goes.)

On Mon, May 28, 2007 at 05:45:46PM +0100, Patrick Welche wrote:
> Also, AC_TYPE_SIZE_T does not claim to define HAVE_SIZE_T, (as it
> uses _AC_CHECK_TYPE_OLD) - would defining HAVE_SIZE_T be considered
> an improvement?

I think the current situation is consistent with other AC_CHECK_*
macros.  The ``AC_CHECK_FOO'' does not define ``HAVE_something'', while
``AC_CHECK_FOOS'' does (AC_CHECK_FUNC vs AC_CHECK_FUNCS,
AC_CHECK_HEADER vs AC_CHECK_HEADERS, etc.).

I guess this distinction might be used this way:
- first you call e.g. AC_CHECK_FUNC([some], ...) to see whether the
  function exists,
- then you do more checks to see if it is good enough for your
  purposes,
- then you AC_DEFINE([HAVE_SOME], [Working version of func some().])

I'm not sure how often is this pattern is used.  In any case, this
shows that we cannot define HAVE_* in the ``AC_CHECK_FOO'' macros,
because of backward compatibility.

Similarly, we might consider modifying all the particular AC_TYPE_*
macros to use AC_CHECK_TYPES, to get the corresponding HAVe_*
defined.  But again, this would present a (small) backward
incompatibility, and I'm afraid that the added value is not high
enough to justify it.

Back to AC_TYPE_SIZE_T: the reason is that it calls AC_CHECK_TYPE, no
matter whether it is new or old version.  But you may call
  AC_CHECK_TYPES([size_t])
just after AC_TYPE_SIZE_T to get HAVE_SIZE_T for cheap.

HTH,
        Stepan Kasal




reply via email to

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