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:
Arvid Norberg 2014-03-31 06:43:29 +00:00
parent 5246e1bbde
commit f3e86dbc4a
3 changed files with 38 additions and 14 deletions

View File

@ -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

View File

@ -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>. ;

View File

@ -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))