From e25dfa75e18295d28de67747b4ff9d65f65c4f06 Mon Sep 17 00:00:00 2001
From: Zack Weinberg <zackw@panix.com>
Date: Sun, 2 Apr 2023 22:17:55 -0400
Subject: [PATCH 14/29] Remove the last few internal uses of AC_EGREP_CPP.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Most of the remaining uses were converted to AC_COMPILE_IFELSE.
The use in AC_FUNC_LOADAVG becomes an AC_PREPROC_IFELSE because
we can’t be sure getloadavg.c can be _compiled_ at this point in
the build.  The use in AC_C_VARARRAYS could be either _PREPROC_ or
_COMPILE_; we use _COMPILE_ because, _PREPROC_ is never used, then
we don’t have to do the “checking how to run the C preprocessor” test.

* lib/autoconf/c.m4 (AC_C_VARARRAYS): Use AC_COMPILE_IFELSE instead of
  AC_EGREP_CPP.
* lib/autoconf/headers.m4 (_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H)
  (_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL_H): Likewise.
* lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use AC_PREPROC_IFELSE
  instead of AC_EGREP_CPP.

Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 lib/autoconf/c.m4         |  8 ++++----
 lib/autoconf/functions.m4 | 10 +++++-----
 lib/autoconf/headers.m4   | 24 ++++++++++--------------
 3 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
index c8c6a665c..b8350c339 100644
--- a/lib/autoconf/c.m4
+++ b/lib/autoconf/c.m4
@@ -2197,11 +2197,11 @@ AC_DEFUN([AC_C_VARARRAYS],
 [
   AC_CACHE_CHECK([for variable-length arrays],
     ac_cv_c_vararrays,
-    [AC_EGREP_CPP([defined],
-       [#ifdef __STDC_NO_VLA__
-	defined
+    [AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[[	#ifndef __STDC_NO_VLA__
+	#error __STDC_NO_VLA__ not defined
 	#endif
-       ],
+]])],
        [ac_cv_c_vararrays='no: __STDC_NO_VLA__ is defined'],
        [AC_COMPILE_IFELSE(
 	  [AC_LANG_PROGRAM(
diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4
index 74512e97d..499e4c024 100644
--- a/lib/autoconf/functions.m4
+++ b/lib/autoconf/functions.m4
@@ -842,11 +842,11 @@ AC_CHECK_FUNCS(getloadavg, [],
 # Some definitions of getloadavg require that the program be installed setgid.
 AC_CACHE_CHECK(whether getloadavg requires setgid,
 	       ac_cv_func_getloadavg_setgid,
-[AC_EGREP_CPP([Yowza Am I SETGID yet],
-[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
-#ifdef LDAV_PRIVILEGED
-Yowza Am I SETGID yet
-@%:@endif],
+[AC_PREPROC_IFELSE([AC_LANG_SOURCE(
+[[#include "$srcdir/$ac_config_libobj_dir/getloadavg.c"
+#ifndef LDAV_PRIVILEGED
+#error setgid not needed
+@%:@endif]])],
 	      ac_cv_func_getloadavg_setgid=yes,
 	      ac_cv_func_getloadavg_setgid=no)])
 if test $ac_cv_func_getloadavg_setgid = yes; then
diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4
index 7f70e8fd4..19c124cc3 100644
--- a/lib/autoconf/headers.m4
+++ b/lib/autoconf/headers.m4
@@ -721,13 +721,11 @@ you to include it and time.h simultaneously.])
 m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
 [AC_CACHE_CHECK([whether termios.h defines TIOCGWINSZ],
 		ac_cv_sys_tiocgwinsz_in_termios_h,
-[AC_EGREP_CPP([yes],
-	      [#include <sys/types.h>
-#include <termios.h>
-#ifdef TIOCGWINSZ
-  yes
-#endif
-],
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[AC_INCLUDES_DEFAULT
+[#include <termios.h>
+const int tiocgwinsz = TIOCGWINSZ;
+]])],
 		ac_cv_sys_tiocgwinsz_in_termios_h=yes,
 		ac_cv_sys_tiocgwinsz_in_termios_h=no)])
 ])# _AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H
@@ -738,13 +736,11 @@ m4_define([_AC_HEADER_TIOCGWINSZ_IN_TERMIOS_H],
 m4_define([_AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL],
 [AC_CACHE_CHECK([whether sys/ioctl.h defines TIOCGWINSZ],
 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h,
-[AC_EGREP_CPP([yes],
-	      [#include <sys/types.h>
-#include <sys/ioctl.h>
-#ifdef TIOCGWINSZ
-  yes
-#endif
-],
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[AC_INCLUDES_DEFAULT
+[#include <sys/ioctl.h>
+const int tiocgwinsz = TIOCGWINSZ;
+]])],
 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes,
 		ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no)])
 ])# _AC_HEADER_TIOCGWINSZ_IN_SYS_IOCTL
-- 
2.41.0

