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