forked from premiere/premiere-libtorrent
fix python binding Jamfile to use the same default linkage as everything else. polish run_tests script to print out less verbose build logs
This commit is contained in:
parent
5246e1bbde
commit
f3e86dbc4a
|
@ -20,7 +20,6 @@ build_features:
|
||||||
- asserts=off
|
- asserts=off
|
||||||
- asserts=production debug
|
- asserts=production debug
|
||||||
- asserts=on release
|
- asserts=on release
|
||||||
- invariant-checks=on release
|
|
||||||
- ipv6=off dht=off extensions=off logging=none deprecated-functions=off invariant-checks=off
|
- ipv6=off dht=off extensions=off logging=none deprecated-functions=off invariant-checks=off
|
||||||
|
|
||||||
project: libtorrent
|
project: libtorrent
|
||||||
|
|
|
@ -9,6 +9,8 @@ lib boost_python : : <name>boost_python ;
|
||||||
feature visibility : default hidden : composite propagated link-incompatible ;
|
feature visibility : default hidden : composite propagated link-incompatible ;
|
||||||
feature.compose <visibility>hidden : <cflags>-fvisibility=hidden <cxxflags>-fvisibility-inlines-hidden ;
|
feature.compose <visibility>hidden : <cflags>-fvisibility=hidden <cxxflags>-fvisibility-inlines-hidden ;
|
||||||
|
|
||||||
|
feature libtorrent-link : static shared : ;
|
||||||
|
|
||||||
rule libtorrent_linking ( properties * )
|
rule libtorrent_linking ( properties * )
|
||||||
{
|
{
|
||||||
local result ;
|
local result ;
|
||||||
|
@ -33,35 +35,35 @@ rule libtorrent_linking ( properties * )
|
||||||
|
|
||||||
if <boost>source in $(properties)
|
if <boost>source in $(properties)
|
||||||
{
|
{
|
||||||
if <boost-link>static in $(properties)
|
if <boost-link>shared in $(properties)
|
||||||
{
|
|
||||||
result += <library>/boost/python//boost_python/<link>static ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
result += <library>/boost/python//boost_python/<link>shared ;
|
result += <library>/boost/python//boost_python/<link>shared ;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if <link>static in $(properties)
|
|
||||||
{
|
{
|
||||||
result += <library>/torrent//torrent/<link>static/<boost-link>static ;
|
result += <library>/boost/python//boost_python/<link>static ;
|
||||||
|
}
|
||||||
|
|
||||||
|
if <libtorrent-link>shared in $(properties)
|
||||||
|
{
|
||||||
|
result += <library>/torrent//torrent/<link>shared/<boost-link>shared ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += <library>/torrent//torrent/<link>shared/<boost-link>shared ;
|
result += <library>/torrent//torrent/<link>static/<boost-link>static ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += <library>boost_python ;
|
result += <library>boost_python ;
|
||||||
|
|
||||||
if <link>static in $(properties)
|
if <libtorrent-link>shared in $(properties)
|
||||||
{
|
{
|
||||||
result += <library>/torrent//torrent/<link>static/<boost-link>static ;
|
result += <library>/torrent//torrent/<link>shared/<boost-link>shared ;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result += <library>/torrent//torrent/<link>shared/<boost-link>shared ;
|
result += <library>/torrent//torrent/<link>static/<boost-link>static ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -95,6 +97,7 @@ python-extension libtorrent
|
||||||
<conditional>@libtorrent_linking
|
<conditional>@libtorrent_linking
|
||||||
: # default build
|
: # default build
|
||||||
<boost-link>static
|
<boost-link>static
|
||||||
|
<libtorrent-link>static
|
||||||
;
|
;
|
||||||
|
|
||||||
install stage_module : libtorrent : <location>. ;
|
install stage_module : libtorrent : <location>. ;
|
||||||
|
|
|
@ -148,8 +148,30 @@ def run_tests(toolset, tests, features, options, test_dir, time_limit):
|
||||||
results[t + '|' + features] = r
|
results[t + '|' + features] = r
|
||||||
|
|
||||||
if p.returncode != 0:
|
if p.returncode != 0:
|
||||||
|
# if the build or test failed, print out the
|
||||||
|
# important parts
|
||||||
sys.stdout.write('\n')
|
sys.stdout.write('\n')
|
||||||
sys.stdout.write(output)
|
print command
|
||||||
|
for l in output:
|
||||||
|
if 'error: ' in l or \
|
||||||
|
': fatal error: ' in l or \
|
||||||
|
'failed to write output file' in l or \
|
||||||
|
': error C' in l or \
|
||||||
|
'undefined reference to ' in l or \
|
||||||
|
' error LNK' in l or \
|
||||||
|
'TEST_CHECK' in l or \
|
||||||
|
'TEST_EQUAL_ERROR' in l or \
|
||||||
|
'"ERROR: "' in l or \
|
||||||
|
l.startswith('EXIT STATUS: ') or \
|
||||||
|
' second time limit exceeded' in l or \
|
||||||
|
l.startswith('signal: SIG') or \
|
||||||
|
'jump or move depends on uninitialised value(s)' in l or \
|
||||||
|
'Invalid read of size' in l or \
|
||||||
|
'Invalid write of size' in l or \
|
||||||
|
'Use of uninitialised value of size' in l or \
|
||||||
|
'Uninitialised byte(s) found during' in l or \
|
||||||
|
'points to uninitialised byte(s)' in l:
|
||||||
|
print l
|
||||||
|
|
||||||
print '\n%s - %d / %d' % (toolset, c, len(tests))
|
print '\n%s - %d / %d' % (toolset, c, len(tests))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue