Commit 4757d60f authored by Kurt Zeilenga's avatar Kurt Zeilenga
Browse files

Use compile time, instead of run time, sizeof checks.

parent 4cc712db
......@@ -56,6 +56,33 @@ dnl AC_VERBOSE(OpenLDAP --with-$1 $ol_with_$1)
])dnl
dnl
dnl ====================================================================
dnl
AC_DEFUN(AC_COMPILE_CHECK_SIZEOF,
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(size of $1)
AC_CACHE_VAL(AC_CV_NAME,
[for ac_size in 4 8 1 2 16 $2 ; do # List sizes in rough order of prevalence.
AC_TRY_COMPILE([#include "confdefs.h"
#include <sys/types.h>
$2
], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
if test x$AC_CV_NAME != x ; then break; fi
done
])
if test x$AC_CV_NAME = x ; then
AC_MSG_ERROR([cannot determine a size for $1])
fi
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
dnl ====================================================================
dnl check if hard links are supported.
dnl
AC_DEFUN([OL_PROG_LN_H], [# test for ln hardlink support
......
This diff is collapsed.
......@@ -1933,28 +1933,24 @@ OL_C_VOLATILE
if test $cross_compiling = yes ; then
AC_DEFINE(CROSS_COMPILING, 1, [define if cross compiling])
else
AC_C_BIGENDIAN
fi
AC_COMPILE_CHECK_SIZEOF(short)
AC_COMPILE_CHECK_SIZEOF(int)
AC_COMPILE_CHECK_SIZEOF(long)
if test "$ac_cv_sizeof_int" -lt 4 ; then
AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
AC_DEFINE(LBER_INT_T,long)
AC_DEFINE(LBER_TAG_T,long)
AC_DEFINE(LBER_SOCKET_T,int)
else
AC_C_BIGENDIAN
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
if test "$ac_cv_sizeof_int" -lt 4 ; then
AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.])
AC_DEFINE(LBER_INT_T,long)
AC_DEFINE(LBER_TAG_T,long)
AC_DEFINE(LBER_SOCKET_T,int)
else
AC_DEFINE(LBER_INT_T,int)
AC_DEFINE(LBER_TAG_T,long)
AC_DEFINE(LBER_SOCKET_T,int)
fi
AC_DEFINE(LBER_INT_T,int)
AC_DEFINE(LBER_TAG_T,long)
AC_DEFINE(LBER_SOCKET_T,int)
fi
AC_DEFINE(LBER_LEN_T,long)
......
......@@ -160,15 +160,6 @@ typedef char * caddr_t;
LBER_TAG_T
*/
/* The number of bytes in a int. */
#undef SIZEOF_INT
/* The number of bytes in a long. */
#undef SIZEOF_LONG
/* The number of bytes in a short. */
#undef SIZEOF_SHORT
/* Define if you have the bcopy function. */
#undef HAVE_BCOPY
......@@ -811,6 +802,15 @@ typedef char * caddr_t;
/* define if cross compiling */
#undef CROSS_COMPILING
/* The number of bytes in type short */
#undef SIZEOF_SHORT
/* The number of bytes in type int */
#undef SIZEOF_INT
/* The number of bytes in type long */
#undef SIZEOF_LONG
/* define to you inet_aton(3) is available */
#undef HAVE_INET_ATON
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment