[],
[#include <asm/types.h>])
-AC_CHECK_TYPE([__s8],
- [AC_DEFINE(HAVE___S8, 1, [__s8 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__u8],
- [AC_DEFINE(HAVE___U8, 1, [__u8 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__s16],
- [AC_DEFINE(HAVE___S16, 1, [__s16 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__u16],
- [AC_DEFINE(HAVE___U16, 1, [__u16 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__s32],
- [AC_DEFINE(HAVE___S32, 1, [__s32 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__u32],
- [AC_DEFINE(HAVE___U32, 1, [__u32 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__u64],
- [AC_DEFINE(HAVE___U64, 1, [__u64 is defined])],
- [],
- [#include <asm/types.h>])
-
-AC_CHECK_TYPE([__s64],
- [AC_DEFINE(HAVE___S64, 1, [__s64 is defined])],
- [],
- [#include <asm/types.h>])
-
-# check userland __u64 type
-tmp_flags="$CFLAGS"
-CFLAGS="$CFLAGS -Werror"
-AC_CACHE_CHECK([if userspace '__u64' is 'long long' type],
-lb_cv_compile_userspace_u64_long_long, [
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([
- #include <stdio.h>
- #include <linux/types.h>
- #include <linux/stddef.h>
- int main(void) {
- unsigned long long *data1;
- __u64 *data2 = NULL;
- data1 = data2;
- data2 = data1;
- return 0;
- }
-])],
- [lb_cv_compile_userspace_u64_long_long="yes"],
- [lb_cv_compile_userspace_u64_long_long="no"])
-])
-CFLAGS="$tmp_flags"
-AS_IF([test "x$lb_cv_compile_userspace_u64_long_long" = xyes],
- [AC_DEFINE(HAVE_USER__U64_LONG_LONG, 1,
- [__u64 is long long type])])
-
# -------- Check for required packages --------------
AC_MSG_NOTICE([LibCFS required packages checks
#ifndef _LUSTRE_POSIX_TYPES_H
#define _LUSTRE_POSIX_TYPES_H
-#ifdef HAVE_LINUX_TYPES_H
+#ifdef __linux__
# include <linux/types.h>
#endif
#include <stdbool.h> /* for bool */
#else
#endif
+#ifndef _LINUX_TYPES_H
/*
* __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
* header files exported to user space
*/
#ifndef HAVE___S8
+#define HAVE___S8
typedef __signed__ char __s8;
#endif
#ifndef HAVE___U8
+#define HAVE___U8
typedef unsigned char __u8;
#endif
#ifndef HAVE___S16
+#define HAVE___S16
typedef __signed__ short __s16;
#endif
#ifndef HAVE___U16
+#define HAVE___U16
typedef unsigned short __u16;
#endif
#ifndef HAVE___S32
+#define HAVE___S32
typedef __signed__ int __s32;
#endif
#ifndef HAVE___U32
+#define HAVE___U32
typedef unsigned int __u32;
#endif
*/
#if defined(__powerpc64__) && !defined(__KERNEL__)
# ifndef HAVE___S64
+# define HAVE___S64
typedef __signed__ long __s64;
# endif
# ifndef HAVE___U64
+# define HAVE___U64
typedef unsigned long __u64;
# endif
#else /* !defined(__powerpc64__) || defined(__KERNEL__) */
# ifndef HAVE___S64
+# define HAVE___S64
typedef __signed__ long long __s64;
# endif
# ifndef HAVE___U64
+# define HAVE___U64
typedef unsigned long long __u64;
# endif
-#endif
+#endif /* defined(__powerpc64__) && !defined(__KERNEL__) */
+#endif /* _LINUX_TYPES_H */
/* long integer with size equal to pointer */
typedef unsigned long ulong_ptr_t;