summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/dbus/dbus.mk13
1 files changed, 10 insertions, 3 deletions
diff --git a/package/dbus/dbus.mk b/package/dbus/dbus.mk
index 8a22403bd..d68f43414 100644
--- a/package/dbus/dbus.mk
+++ b/package/dbus/dbus.mk
@@ -13,10 +13,17 @@ DBUS_TARGET_BINARY:=usr/bin/dbus-daemon
ifeq ($(strip $(BR2_DBUS_EXPAT)),y)
DBUS_XML:=expat
-DBUS_XML_DEP:=expat
+# depend on the exact library file instead of expat so dbus isn't always
+# considered out-of-date
+DBUS_XML_DEP:=$(STAGING_DIR)/usr/lib/libexpat.so.1
else
DBUS_XML:=libxml
-DBUS_XML_DEP:=libxml2
+# depend on the exact target instead of libxml2 so dbus isn't always
+# considered out-of-date.
+# It would be neat to use $(LIBXML2_TARGET_INSTALL_STAGING) here,
+# but the libxml2 makefile is only parsed after dbus, so that doesn't work
+DBUS_XML_DEP:=$(BUILD_DIR)/libxml2-2.6.29/.stamp_staging_installed
+$(LIBXML2_TARGET_INSTALL_STAGING)
endif
$(DL_DIR)/$(DBUS_SOURCE):
@@ -83,7 +90,7 @@ ifneq ($(BR2_HAVE_MANPAGES),y)
rm -rf $(TARGET_DIR)/usr/share/man
endif
-dbus: uclibc pkgconfig $(DBUS_XML_DEP) $(TARGET_DIR)/$(DBUS_TARGET_BINARY)
+dbus: uclibc pkgconfig $(TARGET_DIR)/$(DBUS_TARGET_BINARY)
dbus-clean:
rm -f $(TARGET_DIR)/etc/dbus-1/session.conf