@@ -124,6 +124,9 @@ tests/ubi-tests/ubi-stress-test.sh
/missing
/stamp-h?
/compile
+/include/config.h
+/include/config.h.in
+/include/stamp-h1
#
# Top-level generic files
@@ -4,6 +4,7 @@ m4_define([RELEASE], 1.5.2)
AC_INIT([mtd-utils], [RELEASE], [linux-mtd@lists.infradead.org], mtd-utils)
+AC_CONFIG_HEADERS([include/config.h])
AC_ARG_ENABLE([unit-tests],
[AS_HELP_STRING([--enable-unit-tests], [Compile unit test programs])],
@@ -106,4 +107,8 @@ AM_COND_IF([WITHOUT_LZO], [], [
test "${have_lzo}" != "yes" && AC_MSG_ERROR([lzo missing])
])
+AC_CHECK_SIZEOF([long])
+
+AC_CHECK_SIZEOF([loff_t])
+
AC_OUTPUT([Makefile])
@@ -30,6 +30,8 @@
#include <inttypes.h>
#include <sys/sysmacros.h>
+#include "config.h"
+
#ifndef PROGRAM_NAME
# error "You must define PROGRAM_NAME before including this header"
#endif
@@ -71,7 +73,7 @@ extern "C" {
#define PRIxoff_t PRIx64
#define PRIdoff_t PRId64
#else
-#if (SIZEOF_LONG >= 8)
+#if (SIZEOF_LONG == SIZEOF_LOFF_T)
#define PRIxoff_t "l"PRIx32
#define PRIdoff_t "l"PRId32
#else
Compiling for x86_64 generates a lot of warning because the PRIxoff_t and PRIdoff_t are not properly defined, which comes from the missing SIZEOF_LONG definition. Use the autotools to generate a config.h header, include this header from common.h and ask autoheader to generate the SIZEOF_LONG and SIZEOF_LOFF_T definitions. Use these new definitions to assign the proper descriptors to PRIxoff_t and PRIdoff_t. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> --- .gitignore | 3 +++ configure.ac | 5 +++++ include/common.h | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-)