Correctly find a [u]int32_t replacement
authorVolker Lendecke <vl@samba.org>
Tue, 10 Jun 2008 14:14:30 +0000 (16:14 +0200)
committerStefan Metzmacher <metze@samba.org>
Sun, 14 Sep 2008 16:22:17 +0000 (18:22 +0200)
(cherry picked from commit 346375cda557a675f8f882ca2ae8edffec725a72)
(cherry picked from commit 15a53945c9563b4517bd8b69a9bb0554eef5edff)
(This used to be commit 46c3fc67e91bbdb820e4bddd085933a8570e504c)

source4/lib/replace/libreplace_cc.m4

index 0ce0958a96d34f8f8c066486d6ccfa69a254986f..bed05582d8de8abed9f5f5739fe7b97a55a4556f 100644 (file)
@@ -109,25 +109,34 @@ AC_CHECK_HEADERS([standards.h])
 # Solaris needs HAVE_LONG_LONG defined
 AC_CHECK_TYPES(long long)
 
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(char)
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+
 AC_CHECK_TYPE(uint_t, unsigned int)
 AC_CHECK_TYPE(int8_t, char)
 AC_CHECK_TYPE(uint8_t, unsigned char)
 AC_CHECK_TYPE(int16_t, short)
 AC_CHECK_TYPE(uint16_t, unsigned short)
+
+if test $ac_cv_sizeof_int -eq 4 ; then
+AC_CHECK_TYPE(int32_t, int)
+AC_CHECK_TYPE(uint32_t, unsigned int)
+elif test $ac_cv_size_long -eq 4 ; then
 AC_CHECK_TYPE(int32_t, long)
 AC_CHECK_TYPE(uint32_t, unsigned long)
+else
+AC_MSG_ERROR([LIBREPLACE no 32-bit type found])
+fi
+
 AC_CHECK_TYPE(int64_t, long long)
 AC_CHECK_TYPE(uint64_t, unsigned long long)
 
 AC_CHECK_TYPE(size_t, unsigned int)
 AC_CHECK_TYPE(ssize_t, int)
 
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(char)
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-
 AC_CHECK_SIZEOF(off_t)
 AC_CHECK_SIZEOF(size_t)
 AC_CHECK_SIZEOF(ssize_t)