summaryrefslogtreecommitdiffstats
path: root/ctdb/lib/replace/libreplace_cc.m4
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2011-11-25 16:36:40 +0100
committerMichael Adam <obnox@samba.org>2011-11-26 00:34:54 +0100
commit2c0abf2dcf040e6e32612e65f04ff488745612ae (patch)
treed2c86b044dd2727e469f65e66bca49fe958d6b66 /ctdb/lib/replace/libreplace_cc.m4
parent5d94dff27e96e09e1f81d4811ce1e2492edff13f (diff)
update lib/replace to current upstream version (samba master)
(This used to be ctdb commit 17bcffab19fdbb435b4745ff90c327342bbbf0f8)
Diffstat (limited to 'ctdb/lib/replace/libreplace_cc.m4')
-rw-r--r--ctdb/lib/replace/libreplace_cc.m428
1 files changed, 18 insertions, 10 deletions
diff --git a/ctdb/lib/replace/libreplace_cc.m4 b/ctdb/lib/replace/libreplace_cc.m4
index bf5056838d..48d9e84a32 100644
--- a/ctdb/lib/replace/libreplace_cc.m4
+++ b/ctdb/lib/replace/libreplace_cc.m4
@@ -109,31 +109,38 @@ AC_CHECK_HEADERS([standards.h])
# Solaris needs HAVE_LONG_LONG defined
AC_CHECK_TYPES(long long)
-AC_CHECK_TYPE(uint_t, unsigned int)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(char)
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+
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)
-AC_CHECK_TYPE(intptr_t, unsigned long long)
-AC_CHECK_TYPE(ptrdiff_t, unsigned long long)
+AC_CHECK_TYPES([intptr_t, uintptr_t, ptrdiff_t])
if test x"$ac_cv_type_long_long" != x"yes";then
AC_MSG_ERROR([LIBREPLACE needs type 'long long'])
@@ -157,7 +164,8 @@ AC_CACHE_CHECK([for immediate structures],libreplace_cv_immediate_structures,[
FOOBAR y;
} f2[] = {
{FOO_ONE}
- };
+ };
+ static const FOOBAR f3[] = {FOO_ONE};
],
libreplace_cv_immediate_structures=yes,
libreplace_cv_immediate_structures=no,