| From 51d98495d1aac00970d791f064e83ca762bf81c7 Mon Sep 17 00:00:00 2001 |
| From: Zack Weinberg <zackw@panix.com> |
| Date: Sun, 2 Apr 2023 10:43:51 -0400 |
| Subject: [PATCH 10/29] AC_TYPE_UID_T: Rewrite using AC_CHECK_TYPE. |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| AC_TYPE_UID_T uses AC_EGREP_HEADER to search sys/types.h for |
| occurrences of the string ‘uid_t’ and, if found, assumes both |
| uid_t and gid_t are available. This would be better done using |
| a pair of AC_CHECK_TYPE operations. |
| |
| I also converted two uses of old-style AC_CHECK_TYPE, immediately |
| below, to new-style. (There are probably other old-style uses in |
| this file, I only did the ones I happened to see.) |
| |
| * lib/autoconf/types.m4 (AC_TYPE_UID_T): Check for uid_t and gid_t, |
| separately, using AC_CHECK_TYPE, instead of grepping sys/types.h. |
| (AC_TYPE_SIZE_T, AC_TYPE_SSIZE_T): Use new-style AC_CHECK_TYPE. |
| |
| Upstream-Status: Backport |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| lib/autoconf/types.m4 | 30 +++++++++++++++++------------- |
| 1 file changed, 17 insertions(+), 13 deletions(-) |
| |
| diff --git a/lib/autoconf/types.m4 b/lib/autoconf/types.m4 |
| index ebac0cf6d..ef2456135 100644 |
| --- a/lib/autoconf/types.m4 |
| +++ b/lib/autoconf/types.m4 |
| @@ -589,25 +589,29 @@ AC_DEFUN([AC_TYPE_MBSTATE_T], |
| |
| # AC_TYPE_UID_T |
| # ------------- |
| -# FIXME: Rewrite using AC_CHECK_TYPE. |
| AN_IDENTIFIER([gid_t], [AC_TYPE_UID_T]) |
| AN_IDENTIFIER([uid_t], [AC_TYPE_UID_T]) |
| AC_DEFUN([AC_TYPE_UID_T], |
| -[AC_CACHE_CHECK(for uid_t in sys/types.h, ac_cv_type_uid_t, |
| -[AC_EGREP_HEADER(uid_t, sys/types.h, |
| - ac_cv_type_uid_t=yes, ac_cv_type_uid_t=no)]) |
| -if test $ac_cv_type_uid_t = no; then |
| - AC_DEFINE(uid_t, int, [Define to 'int' if <sys/types.h> doesn't define.]) |
| - AC_DEFINE(gid_t, int, [Define to 'int' if <sys/types.h> doesn't define.]) |
| -fi |
| -]) |
| - |
| - |
| +[AC_CHECK_TYPE([uid_t], [], |
| + [AC_DEFINE([uid_t], [int], |
| + [Define as 'int' if <sys/types.h> doesn't define.])]) |
| +AC_CHECK_TYPE([gid_t], [], |
| + [AC_DEFINE([gid_t], [int], |
| + [Define as 'int' if <sys/types.h> doesn't define.])])]) |
| + |
| +# This should be obsoleted, size_t is in C90. |
| AN_IDENTIFIER([size_t], [AC_TYPE_SIZE_T]) |
| -AC_DEFUN([AC_TYPE_SIZE_T], [AC_CHECK_TYPE(size_t, unsigned int)]) |
| +AC_DEFUN([AC_TYPE_SIZE_T], |
| +[AC_CHECK_TYPE([size_t], [], |
| + [AC_DEFINE([size_t], [unsigned int], |
| + [Define as 'unsigned int' if <stddef.h> doesn't define.])])]) |
| |
| AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T]) |
| -AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)]) |
| +AC_DEFUN([AC_TYPE_SSIZE_T], |
| +[AC_CHECK_TYPE([ssize_t], [], |
| + [AC_DEFINE([ssize_t], [int], |
| + [Define as 'int' if <sys/types.h> doesn't define.])])]) |
| + |
| |
| AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T]) |
| AC_DEFUN([AC_TYPE_PID_T], |
| -- |
| 2.41.0 |
| |