From 8aa5328bd539f88d4e090959e5bd95a19992bcff Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Mon, 24 May 2010 21:34:53 -0500 Subject: [PATCH] Postmoderize use of AC_CHECK_TYPE Use AC_TYPE_SSIZE_T to handle the ssize_t check (introduced in Autconf 2.60). Use AC_CHECK_TYPE, not AC_CHECK_TYPES, to check for sig_atomic_t and socklen_t, and define them in afsconfig.h if they're not present on this platform. Do not define them in stds.h, since stds.h is an installed header file and cannot rely on Autoconf defines. Change-Id: I80e1a00efc84420002a95d6cafc25ea70befa49d Reviewed-on: http://gerrit.openafs.org/2018 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- acinclude.m4 | 10 +++++++--- src/config/stds.h | 18 ++++++------------ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 189ee95..142bffe 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1285,11 +1285,15 @@ AC_CHECK_SIZEOF(unsigned long) AC_CHECK_SIZEOF(unsigned int) AC_TYPE_INTPTR_T AC_TYPE_UINTPTR_T -AC_CHECK_TYPES([ssize_t]) -AC_CHECK_TYPES([sig_atomic_t],[],[], +AC_TYPE_SSIZE_T +AC_CHECK_TYPE([sig_atomic_t],[], + [AC_DEFINE([sig_atomic_t], [int], + [Define to int if does not define.])], [#include #include ]) -AC_CHECK_TYPES([socklen_t],[],[], +AC_CHECK_TYPE([socklen_t],[], + [AC_DEFINE([socklen_t], [int], + [Define to int if does not define.])], [#include #include ]) AC_SIZEOF_TYPE(long) diff --git a/src/config/stds.h b/src/config/stds.h index d7358c5..90f9661 100644 --- a/src/config/stds.h +++ b/src/config/stds.h @@ -7,6 +7,12 @@ * directory or online at http://www.openafs.org/dl/license10.html */ +/* + * Do not put anything in this file that relies on Autoconf defines, since + * we're not guaranteed to have included afsconfig.h before this header file. + * This is an installed header file, and afsconfig.h is not. + */ + #ifndef OPENAFS_AFS_CONFIG_STDS_H #define OPENAFS_AFS_CONFIG_STDS_H 1 @@ -51,18 +57,6 @@ pragma Off(Prototype_override_warnings); #define MIN_AFS_INT64 (-MAX_AFS_INT64 - 1) #define MAX_AFS_UINT64 0xFFFFFFFFFFFFFFFFL -#ifndef HAVE_SSIZE_T -typedef int ssize_t; -#endif - -#ifndef HAVE_SIG_ATOMIC_T -typedef int sig_atomic_t; -#endif - -#ifndef HAVE_SOCKLEN_T -typedef int socklen_t; -#endif - typedef short afs_int16; typedef unsigned short afs_uint16; #ifdef AFS_64BIT_ENV -- 1.9.4