summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac14
-rw-r--r--rules/Makefile.am6
-rw-r--r--src/udev/Makefile.am6
-rw-r--r--src/udev/udev-builtin.c2
-rw-r--r--src/udev/udev.h4
5 files changed, 28 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 5de88126d2..2f83e0538f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,8 +41,6 @@ if test -z "$GPERF" ; then
AC_MSG_ERROR([*** gperf not found])
fi
-PKG_CHECK_MODULES(BLKID,[blkid >= 2.20])
-
# Checks for header files.
AC_CHECK_HEADERS(
[arpa/inet.h fcntl.h inttypes.h langinfo.h limits.h locale.h \
@@ -161,6 +159,18 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
AM_CONDITIONAL([HAVE_INTROSPECTION], [test "$enable_introspection" = "yes"])
# ------------------------------------------------------------------------------
+have_blkid=no
+AC_ARG_ENABLE(blkid, AS_HELP_STRING([--disable-blkid], [Disable optional blkid support]))
+if test "x$enable_blkid" != "xno"; then
+ PKG_CHECK_MODULES([BLKID], [blkid >= 2.20],
+ [AC_DEFINE(HAVE_BLKID, 1, [Define if blkid is available]) have_blkid=yes], have_blkid=no)
+ if test "x$have_blkid" = xno -a "x$enable_blkd" = xyes; then
+ AC_MSG_ERROR([*** blkid support requested but not found])
+ fi
+fi
+AM_CONDITIONAL(HAVE_SELINUX, [test "x$have_blkid" = "xyes"])
+
+# ------------------------------------------------------------------------------
have_selinux=no
AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support]))
if test "x$enable_selinux" != "xno"; then
diff --git a/rules/Makefile.am b/rules/Makefile.am
index 1741bd2ed8..319b7c59f6 100644
--- a/rules/Makefile.am
+++ b/rules/Makefile.am
@@ -8,7 +8,6 @@ dist_udevrules_DATA = \
60-persistent-serial.rules \
60-persistent-input.rules \
60-persistent-alsa.rules \
- 60-persistent-storage.rules \
60-persistent-v4l.rules \
61-accelerometer.rules \
64-btrfs.rules \
@@ -19,6 +18,11 @@ dist_udevrules_DATA = \
80-net-name-slot.rules \
95-udev-late.rules
+if HAVE_BLKID
+dist_udevrules_DATA += \
+ 60-persistent-storage.rules
+endif
+
if HAVE_MODULES
dist_udevrules_DATA += \
80-drivers.rules
diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am
index 866d2c2537..038803454f 100644
--- a/src/udev/Makefile.am
+++ b/src/udev/Makefile.am
@@ -46,7 +46,6 @@ libudev_core_la_SOURCES = \
udev-rules.c \
udev-ctrl.c \
udev-builtin.c \
- udev-builtin-blkid.c \
udev-builtin-btrfs.c \
udev-builtin-firmware.c \
udev-builtin-hwdb.c \
@@ -75,6 +74,11 @@ libudev_core_la_LIBADD = \
$(BLKID_LIBS) \
$(SELINUX_LIBS)
+if HAVE_BLKID
+libudev_core_la_SOURCES += \
+ udev-builtin-blkid.c
+endif
+
if HAVE_MODULES
libudev_core_la_SOURCES += \
udev-builtin-kmod.c
diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c
index d53663f0a4..b9dbe87dcc 100644
--- a/src/udev/udev-builtin.c
+++ b/src/udev/udev-builtin.c
@@ -30,7 +30,9 @@
static bool initialized;
static const struct udev_builtin *builtins[] = {
+#ifdef HAVE_BLKID
[UDEV_BUILTIN_BLKID] = &udev_builtin_blkid,
+#endif
[UDEV_BUILTIN_BTRFS] = &udev_builtin_btrfs,
[UDEV_BUILTIN_FIRMWARE] = &udev_builtin_firmware,
[UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb,
diff --git a/src/udev/udev.h b/src/udev/udev.h
index c8ee2feede..682e03721f 100644
--- a/src/udev/udev.h
+++ b/src/udev/udev.h
@@ -136,7 +136,9 @@ int udev_ctrl_get_set_children_max(struct udev_ctrl_msg *ctrl_msg);
/* built-in commands */
enum udev_builtin_cmd {
+#ifdef HAVE_BLKID
UDEV_BUILTIN_BLKID,
+#endif
UDEV_BUILTIN_BTRFS,
UDEV_BUILTIN_FIRMWARE,
UDEV_BUILTIN_HWDB,
@@ -158,7 +160,9 @@ struct udev_builtin {
bool (*validate)(struct udev *udev);
bool run_once;
};
+#ifdef HAVE_BLKID
extern const struct udev_builtin udev_builtin_blkid;
+#endif
extern const struct udev_builtin udev_builtin_btrfs;
extern const struct udev_builtin udev_builtin_firmware;
extern const struct udev_builtin udev_builtin_hwdb;