On Mon, 2022-03-14 at 18:38 +0100, David Seifert wrote:
> Use AC_CACHE_CHECK to store the result of the header check for
> systemtap's "sys/sdt.h", which is similar in spirit to libstdc++'s
> AC_CACHE_CHECK(..., glibcxx_cv_sys_sdt_h).
> 
> gcc/
>         * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
>         * configure: Regenerate.
> ---
>  gcc/configure    | 20 +++++++++++++++-----
>  gcc/configure.ac | 16 +++++++++-------
>  2 files changed, 24 insertions(+), 12 deletions(-)
> 
> diff --git a/gcc/configure b/gcc/configure
> index 14b19c8fe0c..1dfc5cc7344 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -31389,15 +31389,25 @@ fi
>  
>  { $as_echo "$as_me:${as_lineno-$LINENO}: checking sys/sdt.h in the
> target C library" >&5
>  $as_echo_n "checking sys/sdt.h in the target C library... " >&6; }
> -have_sys_sdt_h=no
> -if test -f $target_header_dir/sys/sdt.h; then
> -  have_sys_sdt_h=yes
> +if ${gcc_cv_sys_sdt_h+:} false; then :
> +  $as_echo_n "(cached) " >&6
> +else
> +
> +  gcc_cv_sys_sdt_h=no
> +  if test -f $target_header_dir/sys/sdt.h; then
> +    gcc_cv_sys_sdt_h=yes
> +  fi
> +
> +fi
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_sys_sdt_h"
> >&5
> +$as_echo "$gcc_cv_sys_sdt_h" >&6; }
> +if test x$gcc_cv_sys_sdt_h = xyes; then :
> +
>  
>  $as_echo "#define HAVE_SYS_SDT_H 1" >>confdefs.h
>  
> +
>  fi
> -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_sys_sdt_h" >&5
> -$as_echo "$have_sys_sdt_h" >&6; }
>  
>  # Check if TFmode long double should be used by default or not.
>  # Some glibc targets used DFmode long double, but with glibc 2.4
> diff --git a/gcc/configure.ac b/gcc/configure.ac
> index 90cad309762..c86ce5e0a9b 100644
> --- a/gcc/configure.ac
> +++ b/gcc/configure.ac
> @@ -6904,14 +6904,16 @@ AC_SUBST([enable_default_ssp])
>  
>  # Test for <sys/sdt.h> on the target.
>  GCC_TARGET_TEMPLATE([HAVE_SYS_SDT_H])
> -AC_MSG_CHECKING(sys/sdt.h in the target C library)
> -have_sys_sdt_h=no
> -if test -f $target_header_dir/sys/sdt.h; then
> -  have_sys_sdt_h=yes
> -  AC_DEFINE(HAVE_SYS_SDT_H, 1,
> +AC_CACHE_CHECK([sys/sdt.h in the target C library],
> [gcc_cv_sys_sdt_h], [
> +  gcc_cv_sys_sdt_h=no
> +  if test -f $target_header_dir/sys/sdt.h; then
> +    gcc_cv_sys_sdt_h=yes
> +  fi
> +])
> +AS_IF([test x$gcc_cv_sys_sdt_h = xyes], [
> +  AC_DEFINE([HAVE_SYS_SDT_H], [1],
>              [Define if your target C library provides sys/sdt.h])
> -fi
> -AC_MSG_RESULT($have_sys_sdt_h)
> +])
>  
>  # Check if TFmode long double should be used by default or not.
>  # Some glibc targets used DFmode long double, but with glibc 2.4

Ping, I think we agreed making this a cache variable is fine (which is
how libstdc++ also does it).

Reply via email to