Bruno Haible wrote:
Compared to the code that you proposed:
  - I changed the name, of course.
  - I chose to use AC_CACHE_CHECK once for the result of the entire macro, not
    for each AC_EGREP_CPP inside it.
  - I dropped Convex CPUs; these are dead for more than 10 years.
  - I added an AH_TOP invocation so that the __xyz__ macro gets defined through
    config.h.

these are not the only changes:

         AC_EGREP_CPP([yes],
           [#if defined __LP64__ || defined __x86_64__ || defined __amd64__
            yes
            #endif],
...
         AC_EGREP_CPP([yes],
           [#if defined __ARMEL__
            yes
            #endif],
... etc

I have

dnl CL_CACHE_EGREP_CPP(what,variable,condition)
AC_DEFUN([CL_CACHE_EGREP_CPP],
[AC_CACHE_CHECK([for $1], [$2], [AC_EGREP_CPP(yes,
[#if $3
  yes
#endif
], [$2=yes], [$2=no])])])

dnl CL_SET_CPU_ABI(what,variable,condition,yes_abi,no_abi)
AC_DEFUN([CL_SET_CPU_ABI],
[CL_CACHE_EGREP_CPP([$1],[$2],[$3])
if test $$2 = yes; then
  host_cpu_abi=$4
else
  host_cpu_abi=$5
fi])

which make the code much more readable.
you say you want to cache just once.
fine, remove AC_CACHE_CHECK.

Reply via email to