Check size of uid_t and gid_t using AC_CHECK_SIZEOF

This built-in check is simpler than the previous method and, most
importantly, works when cross-compiling.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
James Le Cuirot 2014-08-23 09:46:39 +01:00 committed by Serge Hallyn
parent 420943657c
commit 2cb54158b8

View File

@ -335,16 +335,10 @@ if test "$enable_subids" != "no"; then
dnl dnl
dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc
dnl dnl
AC_RUN_IFELSE([AC_LANG_SOURCE([ AC_CHECK_SIZEOF([uid_t],, [#include "sys/types.h"])
#include <sys/types.h> AC_CHECK_SIZEOF([gid_t],, [#include "sys/types.h"])
int main(void) {
uid_t u;
gid_t g;
return (sizeof u < 4) || (sizeof g < 4);
}
])], [id32bit="yes"], [id32bit="no"])
if test "x$id32bit" = "xyes"; then if test "$ac_cv_sizeof_uid_t" -ge 4 && test "$ac_cv_sizeof_gid_t" -ge 4; then
AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.]) AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.])
enable_subids="yes" enable_subids="yes"
else else