Make XML library used by D-Bus selectable instead of requiring both Expat
authorPeter Korsgaard <jacmet@sunsite.dk>
Thu, 22 Nov 2007 17:12:19 +0000 (17:12 -0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 22 Nov 2007 17:12:19 +0000 (17:12 -0000)
and libxml2.

package/dbus/Config.in
package/dbus/dbus.mk

index 7e668ce84a0318c328d42f7b16d4bfa14ec227a0..431c2d90e4f58f1a776fac81965abb4066c38b5a 100644 (file)
@@ -1,9 +1,27 @@
 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
index edccb1d6808a54f28020ca4a1cd58b218c8df13b..e8f3acce01d8251f17494221e3a1991601e4c4e0 100644 (file)
@@ -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