[PATCH 5/5] Fix header detection when cross compiling

Clayton Shotwell
2015-05-28T13:04:41Z

During the build, there is a check to see if MS_DIRSYNC is defined in
mount.h. This check is used in gen_tables.c to see if linux/fs.h needs
to be included. When cross compiling on a system that does not have the
MS_DIRSYNC defined in mount.h, a compile failure is generated. To
prevent this issue, do not check for MS_DIRSYNC in the configure and
simply check to see if MS_DIRSYNC is defined before included linux/fs.h.

Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
---
configure.ac | 1 -
lib/gen_tables.c | 2 +-
2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index c14ec80..e63684b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -63,7 +63,6 @@ AC_C_INLINE
AC_CHECK_SIZEOF([unsigned int])
AC_CHECK_SIZEOF([unsigned long])
AM_PROG_CC_C_O
-AC_CHECK_DECLS([MS_DIRSYNC], [], [], [[#include <sys/mount.h>]])
AC_CHECK_DECLS([AUDIT_FEATURE_VERSION], [], [], [[#include <linux/audit.h>]])
AC_CHECK_DECLS([AUDIT_VERSION_BACKLOG_WAIT_TIME], [], [], [[#include <linux/audit.h>]])
AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include <sys/personality.h>])
diff --git a/lib/gen_tables.c b/lib/gen_tables.c
index 8606a39..9f25b50 100644
--- a/lib/gen_tables.c
+++ b/lib/gen_tables.c
@@ -33,7 +33,7 @@
#include <sys/stat.h>
#include <sys/personality.h>
#include <sys/mount.h>
-#if !HAVE_DECL_MS_DIRSYNC
+#ifndef MS_DIRSYNC
#include <linux/fs.h>
#endif
#include "gen_tables.h"
--
1.9.1