support msvc /RTC option and make run_regression_tests support passing on arbitrary boost-build options (to allow different testers enable rtc and sanitizers)

This commit is contained in:
Arvid Norberg 2014-02-03 03:23:17 +00:00
parent 062e0f0510
commit 0ed79849c1
2 changed files with 6 additions and 1 deletions

View File

@ -338,9 +338,12 @@ feature ipv6 : on off : composite propagated link-incompatible ;
feature.compose <ipv6>off : <define>TORRENT_USE_IPV6=0 ; feature.compose <ipv6>off : <define>TORRENT_USE_IPV6=0 ;
feature sanitize : off address undefined thread : composite propagated link-incompatible ; feature sanitize : off address undefined thread : composite propagated link-incompatible ;
# sanitize is a clang and GCC feature
feature.compose <sanitize>address : <cflags>-fsanitize=address <cflags>-fsanitize-undefined-trap-on-error <linkflags>-fsanitize=address ; feature.compose <sanitize>address : <cflags>-fsanitize=address <cflags>-fsanitize-undefined-trap-on-error <linkflags>-fsanitize=address ;
feature.compose <sanitize>undefined : <cflags>-fsanitize=undefined <linkflags>-fsanitize=undefined ; feature.compose <sanitize>undefined : <cflags>-fsanitize=undefined <linkflags>-fsanitize=undefined ;
feature.compose <sanitize>thread : <cflags>-fsanitize=thread <linkflags>-fsanitize=thread ; feature.compose <sanitize>thread : <cflags>-fsanitize=thread <linkflags>-fsanitize=thread ;
# RTC (runtime check) is an msvc feature
feature.compose <sanitize>rtc : <cflags>/RTCc <cflags>/RTCsu ;
feature need-librt : no yes : composite propagated link-incompatible ; feature need-librt : no yes : composite propagated link-incompatible ;

View File

@ -158,7 +158,7 @@ def run_tests(toolset, tests, features, options, test_dir, time_limit):
return (toolset, results) return (toolset, results)
def print_usage(): def print_usage():
print '''usage: run_tests.py [options] bjam-toolset [bjam-toolset...] print '''usage: run_tests.py [options] bjam-toolset [bjam-toolset...] [bjam-option...]
options: options:
-j<n> use n parallel processes -j<n> use n parallel processes
-h prints this message and exits -h prints this message and exits
@ -193,6 +193,8 @@ def main(argv):
print 'unknown option: %s' % arg print 'unknown option: %s' % arg
print_usage() print_usage()
sys.exit(1) sys.exit(1)
elif '=' in arg:
options.append(arg)
else: else:
toolsets.append(arg) toolsets.append(arg)