[package] fix dbus compilation error with brcm-2.4 and gcc-3.4.6 (#6942)
[openwrt/svn-archive/archive.git] / utils / dbus / Makefile
index 79c8ad9a172d7cab5ecc13e2b62b2645c11ed690..eec787df872225ffdbea0cdf4ab64eac9e40845a 100644 (file)
@@ -1,44 +1,60 @@
-# 
-# Copyright (C) 2007 OpenWrt.org
+#
+# Copyright (C) 2007-2009 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
+# Make sure to also update the dbus-x package
 PKG_NAME:=dbus
-PKG_VERSION:=1.0.2
-PKG_RELEASE:=1
+PKG_VERSION:=1.2.4.6permissive
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://dbus.freedesktop.org/releases/dbus/
-PKG_MD5SUM:=0552a9b54beb4a044951b7cdbc8fc855
+PKG_MD5SUM:=1a158fe326b078d1377a977121888496
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
+TARGET_LDFLAGS+= \
+       -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \
+       -Wl,-rpath=/usr/lib/
 
 define Package/dbus/Default
- SECTION:=utils
- CATEGORY:=Utilities
- TITLE:=Simple interprocess messaging system
- URL:=http://dbus.freedesktop.org/
 SECTION:=utils
 CATEGORY:=Utilities
 TITLE:=Simple interprocess messaging system
 URL:=http://dbus.freedesktop.org/
 endef
 
 define Package/dbus/Default/description
- D-Bus is a message bus system, a simple way for applications to talk to one 
- another. In addition to interprocess communication, D-Bus helps coordinate 
- process lifecycle; it makes it simple and reliable to code a "single instance" 
- application or daemon, and to launch applications and daemons on demand when 
+ D-Bus is a message bus system, a simple way for applications to talk to one
+ another. In addition to interprocess communication, D-Bus helps coordinate
+ process lifecycle; it makes it simple and reliable to code a "single instance"
+ application or daemon, and to launch applications and daemons on demand when
  their services are needed.
 endef
 
+define Package/libdbus
+$(call Package/dbus/Default)
+  CATEGORY:=Libraries
+  TITLE+= (library)
+endef
+
+define Package/libdbus/Description
+$(call Package/dbus/Default/description)
+ This package contains the D-Bus shared library.
+endef
 
 define Package/dbus
 $(call Package/dbus/Default)
  TITLE+= (daemon)
- DEPENDS:= +libexpat
+ DEPENDS:= +libexpat +libdbus
 endef
 
 define Package/dbus/Description
@@ -46,7 +62,6 @@ $(call Package/dbus/Default/description)
  This package contains the D-Bus daemon.
 endef
 
-
 define Package/dbus-utils
 $(call Package/dbus/Default)
  TITLE+= (utilities)
@@ -59,6 +74,11 @@ $(call Package/dbus/Default/description)
 endef
 
 
+define Build/Prepare
+       $(Build/Prepare/Default)
+       $(SED) 's/-Wl,--gc-sections/--gc-sections/' $(PKG_BUILD_DIR)/configure
+endef
+
 CONFIGURE_ARGS += \
        --enable-shared \
        --enable-static \
@@ -66,78 +86,101 @@ CONFIGURE_ARGS += \
        --disable-ansi \
        --disable-asserts \
        --disable-console-owner-file \
-       --disable-dnotify \
        --disable-doxygen-docs \
        --disable-gcov \
        --disable-selinux \
        --disable-tests \
        --disable-verbose-mode \
        --disable-xml-docs \
-       --without-x \
        --with-xml="expat" \
+       --with-dbus-user=root \
        --with-dbus-daemondir="/usr/sbin" \
        --with-system-socket="/var/run/dbus/system_bus_socket" \
        --with-system-pid-file="/var/run/dbus.pid" \
+       --without-x \
+       --libexecdir=/usr/lib/dbus-1
 
 CONFIGURE_VARS+= \
        ac_cv_have_abstract_sockets="yes" \
+       ac_cv_lib_expat_XML_ParserCreate_MM="yes" \
 
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               all install
-endef
-
 define Build/InstallDev
-       mkdir -p $(STAGING_DIR)/usr/include
-       $(CP)   $(PKG_INSTALL_DIR)/usr/include/dbus-1.0 \
-               $(STAGING_DIR)/usr/include/
-       mkdir -p $(STAGING_DIR)/usr/lib
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{a,so*} \
-               $(STAGING_DIR)/usr/lib/
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 \
-               $(STAGING_DIR)/usr/lib/
-       mkdir -p $(STAGING_DIR)/usr/lib/pkgconfig
-       $(CP)   $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/dbus-1.pc \
-               $(STAGING_DIR)/usr/lib/pkgconfig/
-       $(SED)  's,^includedir=.*,includedir=$(STAGING_DIR)/usr/include,g' \
-               $(STAGING_DIR)/usr/lib/pkgconfig/dbus-1.pc
-       $(SED)  's,^libdir=.*,libdir=$(STAGING_DIR)/usr/lib,g' \
-               $(STAGING_DIR)/usr/lib/pkgconfig/dbus-1.pc
-endef
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/include/dbus-1.0 \
+               $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib/dbus-1.0/include/dbus/
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0/include/dbus/*.h \
+               $(1)/usr/lib/dbus-1.0/include/dbus/
 
-define Build/UninstallDev
-       rm -rf  $(STAGING_DIR)/usr/include/dbus-1.0 \
-               $(STAGING_DIR)/usr/lib/libdbus-1.{a,so*} \
-               $(STAGING_DIR)/usr/lib/dbus-1.0 \
-               $(STAGING_DIR)/usr/lib/pkgconfig/dbus-1.pc
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.{so*,la,a} \
+               $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/dbus-1.0 \
+               $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/dbus-1.pc \
+               $(1)/usr/lib/pkgconfig/
 endef
 
-
 define Package/dbus/conffiles
 /etc/dbus-1/session.conf
 /etc/dbus-1/system.conf
 endef
 
+define Package/libdbus/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so.* \
+               $(1)/usr/lib/
+endef
+
 define Package/dbus/install
        $(INSTALL_DIR) $(1)/etc
-       $(CP) $(PKG_INSTALL_DIR)/etc/dbus-1 $(1)/etc/
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdbus-1.so.* $(1)/usr/lib/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/etc/dbus-1 \
+               $(1)/etc/
+
+       $(INSTALL_DIR) $(1)/usr/lib/dbus-1
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/lib/dbus-1/dbus-daemon-launch-helper \
+               $(1)/usr/lib/dbus-1/
+
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/dbus-daemon $(1)/usr/sbin/
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/sbin/dbus-daemon \
+               $(1)/usr/sbin/
+
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/dbus-uuidgen \
+               $(1)/usr/bin/
+
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/dbus-launch \
+               $(1)/usr/bin/dbus-launch.real
+       $(INSTALL_BIN) \
+               ./files/dbus-launch \
+               $(1)/usr/bin/
+
        $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/dbus.init $(1)/etc/init.d/
+       $(INSTALL_BIN) \
+               ./files/dbus.init \
+               $(1)/etc/init.d/dbus
 endef
 
-
 define Package/dbus-utils/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/dbus-* $(1)/usr/bin/
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)/usr/bin/dbus-{send,monitor,cleanup-sockets} \
+               $(1)/usr/bin/
 endef
 
-
+$(eval $(call BuildPackage,libdbus))
 $(eval $(call BuildPackage,dbus))
 $(eval $(call BuildPackage,dbus-utils))
-