Commit 00de7fc6 authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

Make XML library used by D-Bus selectable instead of requiring both Expat

and libxml2.
parent e200c1b1
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
config BR2_PACKAGE_DBUS
	bool "dbus"
	default n
	select BR2_PACKAGE_EXPAT
	select BR2_PACKAGE_LIBXML2
	help
	  The D-Bus message bus system.

	  http://www.freedesktop.org/wiki/Software/dbus

choice
	prompt "XML library to use"
	depends BR2_PACKAGE_DBUS
	default BR2_DBUS_LIBXML2 if BR2_PACKAGE_LIBXML2
	default BR2_DBUS_EXPAT
	help
	  Select the XML library to use with D-Bus. Select Expat
	  unless you have specific reasons for using libxml2 as
	  Expat is significant smaller.

	config BR2_DBUS_EXPAT
	       bool "Expat"
	       select BR2_PACKAGE_EXPAT

	config BR2_DBUS_LIBXML2
	       bool "libxml2"
	       select BR2_PACKAGE_LIBXML2

endchoice
+11 −3
Original line number Diff line number Diff line
@@ -11,6 +11,14 @@ DBUS_CAT:=$(ZCAT)
DBUS_BINARY:=bus/dbus-daemon
DBUS_TARGET_BINARY:=usr/bin/dbus-daemon

ifeq ($(strip $(BR2_DBUS_EXPAT)),y)
DBUS_XML:=expat
DBUS_XML_DEP:=expat
else
DBUS_XML:=libxml
DBUS_XML_DEP:=libxml2-headers
endif

$(DL_DIR)/$(DBUS_SOURCE):
	$(WGET) -P $(DL_DIR) $(DBUS_SITE)/$(DBUS_SOURCE)

@@ -44,14 +52,14 @@ $(DBUS_DIR)/.configured: $(DBUS_DIR)/.unpacked
		--disable-static \
		--enable-dnotify \
		--without-x \
		--without-xml \
		--with-xml=$(DBUS_XML) \
		--with-system-socket=/var/run/dbus/system_bus_socket \
		--with-system-pid-file=/var/run/messagebus.pid \
	)
	touch $@

$(DBUS_DIR)/$(DBUS_BINARY): $(DBUS_DIR)/.configured
	$(MAKE) DBUS_BUS_LIBS="$(STAGING_DIR)/usr/lib/libexpat.so $(STAGING_DIR)/usr/lib/libxml2.so" -C $(DBUS_DIR) all
	$(MAKE) -C $(DBUS_DIR) all

$(STAGING_DIR)/usr/lib/libdbus-1.so: $(DBUS_DIR)/$(DBUS_BINARY)
	$(MAKE) DESTDIR=$(STAGING_DIR) -C $(DBUS_DIR)/dbus install
@@ -70,7 +78,7 @@ $(TARGET_DIR)/$(DBUS_TARGET_BINARY): $(STAGING_DIR)/usr/lib/libdbus-1.so
	rmdir --ignore-fail-on-non-empty $(TARGET_DIR)/usr/share
	rm -rf $(TARGET_DIR)/etc/rc.d

dbus: uclibc expat libxml2-headers $(TARGET_DIR)/$(DBUS_TARGET_BINARY)
dbus: uclibc $(DBUS_XML_DEP) $(TARGET_DIR)/$(DBUS_TARGET_BINARY)

dbus-clean:
	rm -f $(TARGET_DIR)/etc/dbus-1/session.conf