autoconf
[Top][All Lists]
Advanced

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

Dropping CPP for AC_CHECK tests? (Was: CPP determined incorrectly)


From: Akim Demaille
Subject: Dropping CPP for AC_CHECK tests? (Was: CPP determined incorrectly)
Date: 14 Jun 2001 17:35:07 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Copyleft)

>>>>> "Pavel" == Pavel Roskin <address@hidden> writes:

Pavel> This brings an interesting idea. How about AC_LANG(none)? In
Pavel> this mode any checks involving compilers will be
Pavel> disallowed. AC_PROG_CPP will default to "cpp" in $PATH with
Pavel> "/lib/cpp" being the fallback.

I have another question actually.

I think I realize I'm against our using CPP for AC_CHECK tests.  Feel
free to flame me, as I might have overlooked some issues :)

How come AC_CHECK_HEADER uses:

# AC_CHECK_HEADER(HEADER-FILE,
#                 [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
#                 [INCLUDES])
# ---------------------------------------------------------
AC_DEFUN([AC_CHECK_HEADER],
[AS_VAR_PUSHDEF([ac_Header], [ac_cv_header_$1])dnl
AC_CACHE_CHECK([for $1], ac_Header,
               [AC_PREPROC_IFELSE([AC_LANG_SOURCE([m4_n([$4])dnl
@%:@include <$1>])],
                                  [AS_VAR_SET(ac_Header, yes)],
                                  [AS_VAR_SET(ac_Header, no)])])
AS_IF([test AS_VAR_GET(ac_Header) = yes], [$2], [$3])[]dnl
AS_VAR_POPDEF([ac_Header])dnl
])# AC_CHECK_HEADER


I believe it should be something like

               [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([m4_n([$4])dnl
@%:@include <$1>])],

(i.e., it produces the includes, and then a plain int main () { return
0;}).

So that we can have conflicts between headers detected!  With CPP,
nothing is found, and that's _bad_!

My feeling is that CPP, here, was used only for performance issues.
But it's weakening the quality of the tests.



reply via email to

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