2 # Copyright (C) 2007-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
12 PKG_VERSION
:=0.12.6_r
$(PKG_REV
)
15 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.bz2
16 PKG_SOURCE_URL
:=svn
://rakshasa.no
/libtorrent
/trunk
/libtorrent
17 PKG_SOURCE_SUBDIR
:=$(PKG_NAME
)-$(PKG_VERSION
)
18 PKG_SOURCE_VERSION
:=$(PKG_REV
)
24 include $(INCLUDE_DIR
)/package.mk
26 define Package
/libtorrent
29 TITLE
:=Rakshasa
's BitTorrent library
30 URL:=http://libtorrent.rakshasa.no/
31 DEPENDS:=+libopenssl +libsigcxx @!LINUX_2_4
34 define Package/libtorrent/description
35 LibTorrent is a BitTorrent library written in C++ for *nix, with a focus
36 on high performance and good code. The library differentiates itself from
37 other implementations by transfering directly from file pages to the
38 network stack. On high-bandwidth connections it is able to seed at 3 times
39 the speed of the official client.
42 ifneq ($(CONFIG_GCC_VERSION_3_4)$(CONFIG_GCC_VERSION_4_1),)
43 TARGET_CPPFLAGS += -fno-strict-aliasing
46 TARGET_CPPFLAGS += -fno-inline
48 # XXX: fixes the following error when configure from rtorrent is trying
49 # to link against libtorrent on arm (#7026)
51 # ./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
52 # ./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
54 ifneq ($(CONFIG_arm
)$(CONFIG_armeb
),)
55 TARGET_LDFLAGS
+= -Wl
,--whole-archive
-lgcc
-lgcc_s
-Wl
,--no-whole-archive
58 # XXX: rtorrent needs encryption (--enable-openssl)
66 define Build
/Configure
67 (cd
$(PKG_BUILD_DIR
); .
/autogen.sh
);
68 $(call Build
/Configure
/Default
)
71 define Build
/InstallDev
72 $(INSTALL_DIR
) $(1)/usr
/include
73 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/torrent
$(1)/usr
/include/
74 $(INSTALL_DIR
) $(1)/usr
/lib
75 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libtorrent.
{a
,so
*} $(1)/usr
/lib
/
76 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
77 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/libtorrent.
pc $(1)/usr
/lib
/pkgconfig
/
80 define Package
/libtorrent
/install
81 $(INSTALL_DIR
) $(1)/usr
/lib
82 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libtorrent.so.
* $(1)/usr
/lib
/
85 $(eval
$(call BuildPackage
,libtorrent
))