fixed windows python bindings build. Made setup.py build with boost-build on windows, to be able to generate a windows binary installer for the python bindings
This commit is contained in:
parent
f8b6d1c483
commit
36b29053f9
|
@ -4,6 +4,33 @@ use-project /torrent : ../.. ;
|
|||
|
||||
lib boost_python : : <name>boost_python $(library-search-path) ;
|
||||
|
||||
rule libtorrent_linking ( properties * )
|
||||
{
|
||||
local result ;
|
||||
|
||||
if <toolset>gcc in $(properties)
|
||||
{
|
||||
result += <library>/torrent//torrent/<link>static/<cxxflags>-fPIC/<cflags>-fPIC ;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += <library>/torrent//torrent/<link>static ;
|
||||
}
|
||||
|
||||
# when building peer_plugin.cpp on msvc-7.1 it fails
|
||||
# running out of internal heap space. Don't add it
|
||||
# to windows build, since it's not critical anyway
|
||||
if <toolset>msvc in $(properties)
|
||||
{
|
||||
result += <define>TORRENT_NO_PYTHON_PLUGINS ;
|
||||
}
|
||||
else
|
||||
{
|
||||
result += <source>src/peer_plugin.cpp ;
|
||||
}
|
||||
return $(result) ;
|
||||
}
|
||||
|
||||
python-extension libtorrent
|
||||
: src/module.cpp
|
||||
src/big_number.cpp
|
||||
|
@ -20,7 +47,6 @@ python-extension libtorrent
|
|||
src/alert.cpp
|
||||
src/datetime.cpp
|
||||
src/extensions.cpp
|
||||
src/peer_plugin.cpp
|
||||
src/docstrings.cpp
|
||||
src/torrent.cpp
|
||||
src/peer_info.cpp
|
||||
|
@ -30,7 +56,6 @@ python-extension libtorrent
|
|||
<boost>system:<library>boost_python
|
||||
<boost>source,<boost-link>static:<library>/boost/python//boost_python/<link>static
|
||||
<boost>source,<boost-link>shared:<library>/boost/python//boost_python/<link>shared
|
||||
<toolset>gcc:<library>/torrent//torrent/<link>static/<cxxflags>-fPIC/<cflags>-fPIC
|
||||
<toolset>!gcc:<library>/torrent//torrent/<link>static/<cxxflags>-fPIC/<cflags>-fPIC
|
||||
<conditional>@libtorrent_linking
|
||||
;
|
||||
|
||||
|
|
|
@ -20,13 +20,36 @@ def arch():
|
|||
if a == 'Power Macintosh': a = 'ppc'
|
||||
return ['-arch', a]
|
||||
|
||||
if platform.system() == 'Windows':
|
||||
# on windows, build using bjam and build an installer
|
||||
import shutil
|
||||
os.system('bjam boost=source link=static boost-link=static release msvc-7.1')
|
||||
try:
|
||||
os.mkdir(r'libtorrent')
|
||||
except:
|
||||
pass
|
||||
shutil.copyfile(r'bin\msvc-7.1\release\boost-source\link-static\threading-multi\libtorrent.pyd', r'.\libtorrent\libtorrent.pyd')
|
||||
setup( name='python-libtorrent',
|
||||
version='@PACKAGE_VERSION@',
|
||||
author = 'Arvid Norberg',
|
||||
author_email='@PACKAGE_BUGREPORT@',
|
||||
description = 'Python bindings for libtorrent-rasterbar',
|
||||
long_description = 'Python bindings for libtorrent-rasterbar',
|
||||
url = 'http://www.rasterbar.com/products/libtorrent/index.html',
|
||||
platforms = 'Windows',
|
||||
license = 'Boost Software License - Version 1.0 - August 17th, 2003',
|
||||
packages = ['libtorrent'],
|
||||
package_data = {'.': [r'libtorrent.pyd']},
|
||||
package_dir={'.': 'libtorrent'}
|
||||
)
|
||||
sys.exit(0)
|
||||
|
||||
source_list = os.listdir(os.path.join(os.path.dirname(__file__), "src"))
|
||||
source_list = [os.path.join("src", s) for s in source_list if s.endswith(".cpp")]
|
||||
|
||||
extra_cmd = '@COMPILETIME_OPTIONS@ @CPPFLAGS@'
|
||||
|
||||
setup( name='python-@PACKAGE_NAME@',
|
||||
setup( name='python-libtorrent',
|
||||
version='@PACKAGE_VERSION@',
|
||||
author = 'Arvid Norberg',
|
||||
author_email='@PACKAGE_BUGREPORT@',
|
||||
|
|
|
@ -43,7 +43,9 @@ BOOST_PYTHON_MODULE(libtorrent)
|
|||
bind_alert();
|
||||
bind_datetime();
|
||||
bind_extensions();
|
||||
#ifndef TORRENT_NO_PYTHON_PLUGINS
|
||||
bind_peer_plugin();
|
||||
#endif
|
||||
bind_torrent();
|
||||
bind_peer_info();
|
||||
bind_ip_filter();
|
||||
|
|
Loading…
Reference in New Issue