[packages] libtorrent: apply fix from [22233] to armeb as well
[openwrt/svn-archive/archive.git] / libs / libtorrent / Makefile
index 9a26595175d668c49bda47d97ff410e32c8ebfab..a64af19c3463790b780d6b3270a16039cf5fb270 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2007-2009 OpenWrt.org
+# Copyright (C) 2007-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,17 +8,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libtorrent
+PKG_REV:=1165
+PKG_VERSION:=0.12.6_r$(PKG_REV)
+PKG_RELEASE:=2
 
-PKG_REV:=1104
-PKG_VERSION:=0.12.5_r$(PKG_REV)
-PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=svn://rakshasa.no/libtorrent/trunk/libtorrent
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=$(PKG_REV)
 PKG_SOURCE_PROTO:=svn
 
-PKG_FIXUP = libtool
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -27,23 +28,33 @@ define Package/libtorrent
   CATEGORY:=Libraries
   TITLE:=Rakshasa's BitTorrent library
   URL:=http://libtorrent.rakshasa.no/
-  DEPENDS:=+libopenssl +libsigcxx
+  DEPENDS:=+libopenssl +libsigcxx @LINUX_2_6
 endef
 
 define Package/libtorrent/description
- LibTorrent is a BitTorrent library written in C++ for *nix, with a focus 
- on high performance and good code. The library differentiates itself from 
- other implementations by transfering directly from file pages to the 
- network stack. On high-bandwidth connections it is able to seed at 3 times 
+ LibTorrent is a BitTorrent library written in C++ for *nix, with a focus
+ on high performance and good code. The library differentiates itself from
+ other implementations by transfering directly from file pages to the
+ network stack. On high-bandwidth connections it is able to seed at 3 times
  the speed of the official client.
 endef
 
 ifneq ($(CONFIG_GCC_VERSION_3_4)$(CONFIG_GCC_VERSION_4_1),)
-TARGET_CPPFLAGS += -fno-strict-aliasing
+  TARGET_CPPFLAGS += -fno-strict-aliasing
 endif
 
 TARGET_CPPFLAGS += -fno-inline
 
+# XXX: fixes the following error when configure from rtorrent is trying
+# to link against libtorrent on arm (#7026)
+#
+# ./staging_dir/toolchain-arm_v5t_gcc-4.3.3+cs_uClibc-0.9.30.1_eabi/usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.3.3/../../../../arm-openwrt-linux-uclibcgnueabi/bin/ld: conftest: hidden symbol `__sync_add_and_fetch_4' in /media/Scratch/OpenWrt/backfire/build.d/orion/staging_dir/toolchain-arm_v5t_gcc-4.3.3+cs_uClibc-0.9.30.1_eabi/usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.3.3/libgcc.a(linux-atomic.o) is referenced by DSO
+# ./staging_dir/toolchain-arm_v5t_gcc-4.3.3+cs_uClibc-0.9.30.1_eabi/usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.3.3/../../../../arm-openwrt-linux-uclibcgnueabi/bin/ld: final link failed: Nonrepresentable section on output
+#
+ifneq ($(CONFIG_arm)$(CONFIG_armeb),)
+  TARGET_LDFLAGS += -Wl,--whole-archive -lgcc -lgcc_s -Wl,--no-whole-archive
+endif
+
 # XXX: rtorrent needs encryption (--enable-openssl)
 CONFIGURE_ARGS+= \
        --enable-shared \
@@ -57,12 +68,6 @@ define Build/Configure
        $(call Build/Configure/Default)
 endef
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               all install
-endef
-
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/torrent $(1)/usr/include/