[packages] libtorrent: apply fix from [22233] to armeb as well
[openwrt/svn-archive/archive.git] / libs / libtorrent / Makefile
index d49f1c3446033729a2fdeb35db38f69e960fa375..a64af19c3463790b780d6b3270a16039cf5fb270 100644 (file)
@@ -10,8 +10,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=libtorrent
 PKG_REV:=1165
 PKG_VERSION:=0.12.6_r$(PKG_REV)
-PKG_RELEASE:=1
-
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=svn://rakshasa.no/libtorrent/trunk/libtorrent
@@ -41,11 +40,21 @@ define Package/libtorrent/description
 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 \