nilfs-utils: fix build with static toolchains
This commit adds a patch to respect the dependency libmount->libblkid->libuuid properly in autoconf. This becomes necessary for static builds. Fixes: http://autobuild.buildroot.net/results/acaac513eaaa39d4000268428407a9fa6989ef03 http://autobuild.buildroot.net/results/41af95b9ed7bbbe319565e1c20d1f6e2665d445f [Peter: add host-pkgconf to dependencies] Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
53252f23b7
commit
8e918d18e4
|
@ -0,0 +1,141 @@
|
|||
From 65ce9b4817544734770e410c5c2779065152f991 Mon Sep 17 00:00:00 2001
|
||||
From: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
|
||||
Date: Thu, 4 Jan 2018 09:47:45 +0100
|
||||
Subject: [PATCH] autoconf: use PKG_CHECK_MODULES for libmount and libblkid
|
||||
|
||||
The dependencies of libmount to libblkid and libblkid to libuuid
|
||||
were not handled correctly, and only work for the shared object scenario.
|
||||
This commit switches the autoconfiguration to use PKG_CHECK_MODULES
|
||||
which handles the static vs. dynamic case.
|
||||
This commit has been compile-tested using buildroot on different compilers,
|
||||
including static & dynamic ones
|
||||
|
||||
Signed-off-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
|
||||
---
|
||||
configure.ac | 13 +++----------
|
||||
sbin/mkfs/Makefile.am | 4 ++--
|
||||
sbin/mkfs/mkfs.c | 6 +++---
|
||||
sbin/mount/Makefile.am | 4 ++--
|
||||
sbin/mount/mount_libmount.c | 4 +---
|
||||
sbin/mount/umount_libmount.c | 4 +---
|
||||
6 files changed, 12 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6fa8c41..3e31e55 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -104,13 +104,10 @@ AC_CHECK_HEADERS([ctype.h err.h fcntl.h grp.h libintl.h limits.h \
|
||||
|
||||
# Check for conditional libraries and headers.
|
||||
if test "${with_libmount}" = "yes"; then
|
||||
- AC_CHECK_LIB(mount, mnt_context_do_mount, [LIB_MOUNT="-lmount"],
|
||||
- AC_MSG_ERROR([Mount library is enabled but libmount not found]))
|
||||
- AC_CHECK_HEADERS([libmount/libmount.h])
|
||||
+ PKG_CHECK_MODULES([MOUNT], [mount])
|
||||
with_selinux=no
|
||||
fi
|
||||
AM_CONDITIONAL(CONFIG_LIBMOUNT, [test "$with_libmount" = "yes"])
|
||||
-AC_SUBST(LIB_MOUNT)
|
||||
|
||||
if test "${with_selinux}" = "yes"; then
|
||||
AC_CHECK_LIB(selinux, getprevcon,
|
||||
@@ -125,15 +122,11 @@ fi
|
||||
AC_SUBST([LIB_SELINUX])
|
||||
|
||||
if test "${with_blkid}" = "yes"; then
|
||||
- AC_CHECK_LIB(blkid, blkid_new_probe_from_filename,
|
||||
+ PKG_CHECK_MODULES([BLKID], [blkid],
|
||||
[AC_DEFINE(HAVE_LIBBLKID, 1,
|
||||
[Define to 1 if you have the 'blkid' library (-lblkid).])
|
||||
- LIB_BLKID="-lblkid"
|
||||
- ],
|
||||
- AC_MSG_ERROR([BLKID library not found]))
|
||||
- AC_CHECK_HEADERS([blkid/blkid.h])
|
||||
+ ])
|
||||
fi
|
||||
-AC_SUBST(LIB_BLKID)
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
diff --git a/sbin/mkfs/Makefile.am b/sbin/mkfs/Makefile.am
|
||||
index 28f5128..408c976 100644
|
||||
--- a/sbin/mkfs/Makefile.am
|
||||
+++ b/sbin/mkfs/Makefile.am
|
||||
@@ -1,8 +1,8 @@
|
||||
## Makefile.am
|
||||
|
||||
-AM_CFLAGS = -Wall
|
||||
+AM_CFLAGS = -Wall $(BLKID_CFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||
-LDADD = -luuid $(LIB_BLKID) $(top_builddir)/lib/libnilfsfeature.la \
|
||||
+LDADD = -luuid $(BLKID_LIBS) $(top_builddir)/lib/libnilfsfeature.la \
|
||||
$(top_builddir)/lib/libmountchk.la \
|
||||
$(top_builddir)/lib/libcrc32.la
|
||||
|
||||
diff --git a/sbin/mkfs/mkfs.c b/sbin/mkfs/mkfs.c
|
||||
index d7f161e..0c45d6a 100644
|
||||
--- a/sbin/mkfs/mkfs.c
|
||||
+++ b/sbin/mkfs/mkfs.c
|
||||
@@ -66,9 +66,9 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
-#if HAVE_BLKID_BLKID_H
|
||||
-#include <blkid/blkid.h>
|
||||
-#endif /* HAVE_BLKID_BLKID_H */
|
||||
+#if HAVE_LIBBLKID
|
||||
+#include <blkid.h>
|
||||
+#endif /* HAVE_LIBBLKID */
|
||||
|
||||
#include "nilfs.h"
|
||||
#include "util.h"
|
||||
diff --git a/sbin/mount/Makefile.am b/sbin/mount/Makefile.am
|
||||
index f5d3c27..9554aa5 100644
|
||||
--- a/sbin/mount/Makefile.am
|
||||
+++ b/sbin/mount/Makefile.am
|
||||
@@ -6,10 +6,10 @@ COMMONHEADERS = mount.nilfs2.h sundries.h xmalloc.h
|
||||
LEGACYSOURCES = fstab.c mount_mntent.c mount_opts.c
|
||||
LEGACYHEADERS = fstab.h mount_constants.h mount_mntent.h mount_opts.h
|
||||
|
||||
-AM_CFLAGS = -Wall
|
||||
+AM_CFLAGS = -Wall $(MOUNT_CFLAGS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/include
|
||||
LDADD = $(top_builddir)/lib/librealpath.la \
|
||||
- $(top_builddir)/lib/libcleanerexec.la $(LIB_MOUNT) $(LIB_SELINUX) \
|
||||
+ $(top_builddir)/lib/libcleanerexec.la $(MOUNT_LIBS) $(LIB_SELINUX) \
|
||||
$(LIB_POSIX_TIMER)
|
||||
|
||||
root_sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
|
||||
diff --git a/sbin/mount/mount_libmount.c b/sbin/mount/mount_libmount.c
|
||||
index ef40e68..a7fec00 100644
|
||||
--- a/sbin/mount/mount_libmount.c
|
||||
+++ b/sbin/mount/mount_libmount.c
|
||||
@@ -67,9 +67,7 @@
|
||||
#include <syslog.h>
|
||||
#endif /* HAVE_SYSLOG_H */
|
||||
|
||||
-#if HAVE_LIBMOUNT_LIBMOUNT_H
|
||||
-#include <libmount/libmount.h>
|
||||
-#endif /* HAVE_LIBMOUNT_H */
|
||||
+#include <libmount.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
diff --git a/sbin/mount/umount_libmount.c b/sbin/mount/umount_libmount.c
|
||||
index ae5a337..b678f54 100644
|
||||
--- a/sbin/mount/umount_libmount.c
|
||||
+++ b/sbin/mount/umount_libmount.c
|
||||
@@ -59,9 +59,7 @@
|
||||
#include <syslog.h>
|
||||
#endif /* HAVE_SYSLOG_H */
|
||||
|
||||
-#if HAVE_LIBMOUNT_LIBMOUNT_H
|
||||
-#include <libmount/libmount.h>
|
||||
-#endif /* HAVE_LIBMOUNT_H */
|
||||
+#include <libmount.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <errno.h>
|
||||
--
|
||||
1.8.5.rc3
|
||||
|
|
@ -10,7 +10,7 @@ NILFS_UTILS_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)
|
|||
NILFS_UTILS_LICENSE_FILES = COPYING
|
||||
|
||||
# need libuuid, libblkid, libmount
|
||||
NILFS_UTILS_DEPENDENCIES = util-linux
|
||||
NILFS_UTILS_DEPENDENCIES = host-pkgconf util-linux
|
||||
|
||||
# we're fetching from github
|
||||
NILFS_UTILS_AUTORECONF = YES
|
||||
|
|
Loading…
Reference in a new issue