On Thu, Nov 17, 2022, at 7:41 AM, Frederic Berat wrote:
> One more failure analysis, this time for Wine.
> They have the following code in their aclocal.m4{,.cross} files:
...
> dnl **** Check whether we need to define a symbol on the compiler command
> line ****
> dnl
> dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
> dnl
> AC_DEFUN([WINE_CHECK_DEFINE],
> [AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
> AC_CACHE_CHECK([whether we need to define $1],ac_var,
> AC_EGREP_CPP(yes,[#ifndef $1
> yes
> #endif],
> [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
> AS_VAR_IF([ac_var],[yes],
> [CFLAGS="$CFLAGS -D$1"
> LINTFLAGS="$LINTFLAGS -D$1"])dnl
> AS_VAR_POPDEF([ac_var])])
That is most definitely a case of underquotation. It should be
AC_CACHE_CHECK([whether we need to define $1], ac_var,
[AC_EGREP_CPP([yes], [#ifndef $1
yes
#endif],
[AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)])])
Or even better, get rid of the AC_EGREP_CPP at the same time
AC_CACHE_CHECK([whether we need to define $1], ac_var,
[AC_PREPROC_IFELSE([[#ifndef $1
#error not defined
#endif]],
[AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)])])
zw