autoconf
[Top][All Lists]
Advanced

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

RE: 2.49e problems with gcc


From: Tim Van Holder
Subject: RE: 2.49e problems with gcc
Date: Wed, 9 May 2001 23:13:10 +0200

> You found it.  Configure.in is loaded with changequote() calls.
>
>
> > That feature is broken in the current alpha versions of autoconf,
> > has been reported a few times (and shows up with this symptom).
>
>
> Something broken?  Is it to be fixed before 2.50?
>
OK - tried removing all changequotes from configure.in and aclocal.m4
in the current gcc 3.0 branch - this allowed autoconf to run.
Autoheader still failed (silently, at least on my system) while
running traces.sh.  The following code is to blame (from aclocal.m4):

dnl Check multiple functions to see whether each needs a declaration.
dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
dnl gcc_AC_CHECK_DECLS(SYMBOLS,
dnl     [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
AC_DEFUN(gcc_AC_CHECK_DECLS,
[for ac_func in $1
do
changequote(, )dnl
  ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz'
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
changequote([, ])dnl
gcc_AC_CHECK_DECL($ac_func,
  [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
  [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
dnl It is possible that the include files passed in here are local headers
dnl which supply a backup declaration for the relevant prototype based on
dnl the definition of (or lack of) the HAVE_DECL_ macro.  If so, this test
dnl will always return success.  E.g. see libiberty.h's handling of
dnl `basename'.  To avoid this, we define the relevant HAVE_DECL_ macro to
dnl 1 so that any local headers used do not provide their own prototype
dnl during this test.
#undef $ac_tr_decl
#define $ac_tr_decl 1
  $4
)
done
dnl Automatically generate config.h entries via autoheader.
if test x = y ; then
  patsubst(translit([$1], [a-z], [A-Z]), [\w+],
    AC_DEFINE([HAVE_DECL_\&], 1,
      [Define to 1 if we found this declaration otherwise define to 0.]))dnl
fi
])

That last part (if test x = y; then...) seems superfluous to me, and
autoheader
doesn't grok it.
Removing it (and adding the doc string to the AC_DEFINE_UNQUOTED above)
allows autoheader to run to completion.
Not sure how much of this is a gcc or an autoconf problem.




reply via email to

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