Commit Graph

12124 Commits

Author SHA1 Message Date
Aaron Boman
a77502735e Fix configuration test. 2016-10-27 20:22:03 -05:00
Aaron Boman
b90915009e Fix generator_selection test.
Allow generators.register_standard() to be called from Jam.
2016-10-27 20:22:03 -05:00
Aaron Boman
1bd0eab600 Enable type checking for Python tests. 2016-10-27 20:22:03 -05:00
Aaron Boman
6cac5a21e5 Fix default_build test. 2016-10-27 20:22:03 -05:00
Aaron Boman
0b02b48235 Make the src directory a Python package. 2016-10-27 20:22:03 -05:00
Aaron Boman
f993e75a7f Fix conditionals_multiple test. 2016-10-27 20:22:02 -05:00
Aaron Boman
601a721ad5 Optimize Engine.set_target_variable().
This removes the extra call to do_set_target_variable() because
it's possible for target variables to be set during the build phase.
The extra call added a decent amount of overhead. Addtionally,
rather than setting the target variables for each target (via the
for loop), the bjam interface "set-target-variable" rule allows
for taking in a list of targets. Thus, even more function calls are
avoided.
2016-10-27 20:22:02 -05:00
Aaron Boman
18e423e405 Optmize apply_default_build(). 2016-10-27 20:22:02 -05:00
Aaron Boman
ca9b6035ba Optimize PropertySet class. 2016-10-27 20:22:02 -05:00
Aaron Boman
5292c95e29 Optimize PropertySet creation.
The Property class has been updated so that passing in the same
parameters will always return the same Property instance. Since
no duplicate Property instances will be created, we can assign
a unique ID to each instance. This allows us to create a faster
lookup key when determining whether to create a new PropertySet
or use an existing one as integer comparison is much faster than
(string, string) comparison.
2016-10-27 20:22:02 -05:00
Aaron Boman
7f7995879b Optimize Property comparisons. 2016-10-27 20:22:02 -05:00
Aaron Boman
6f04175044 Convert all Property and Feature gettters to attribute access. 2016-10-27 20:22:01 -05:00
Aaron Boman
42ffca9c1c Optimize replace_grist() and forward_slashes(). 2016-10-27 20:22:01 -05:00
Aaron Boman
e3b93cffcb Optimize set.difference(). 2016-10-27 20:22:01 -05:00
Aaron Boman
0999a4f1ef Optimize CScanner in builtin.py 2016-10-27 20:22:01 -05:00
Aaron Boman
4bbde8e2b8 Fix duplicate virtual target error message. 2016-10-27 20:22:01 -05:00
Aaron Boman
0228b8ed7d Various fixes in toolset.py 2016-10-27 20:22:00 -05:00
Aaron Boman
8c406a88cf Save best alternative on metatargets.
This is useful for virtual target reporting to report which
alternative was chosen.
2016-10-27 20:22:00 -05:00
Aaron Boman
51e665fc45 Various fixes in targets.py 2016-10-27 20:22:00 -05:00
Aaron Boman
bb1fa52a2f Set target location on metatargets. 2016-10-27 20:22:00 -05:00
Aaron Boman
f663fd8163 Update set_abbreviated_paths() to work from Jam. 2016-10-27 20:22:00 -05:00
Aaron Boman
42e0899eed Add bjam_signature() to feature.extend(). 2016-10-27 20:22:00 -05:00
Aaron Boman
67bafcd133 Add LazyProperty class for delayed Property evaluation. 2016-10-27 20:21:59 -05:00
Aaron Boman
d7b2e0974c Update gitignore to ignore *.pyo and b2/bjam.exe 2016-10-27 20:21:59 -05:00
Aaron Boman
0055072ad6 Support passing --stacktrace to tests. 2016-10-27 20:21:59 -05:00
Aaron Boman
88f567f2ff Prevent backreferences from breaking regex.transform(). 2016-10-27 20:21:59 -05:00
Aaron Boman
a56aca9212 Fix path.glob(). 2016-10-27 20:21:59 -05:00
Aaron Boman
1c315cf87b Update unix.ArchiveGenerator.run(). 2016-10-27 20:21:59 -05:00
Aaron Boman
1080608e11 Remove CScanner from cpp.py as it was already declared in builtin.py 2016-10-27 20:21:58 -05:00
Aaron Boman
8ee37e2afe Fix asm.set_asm_type() return value. 2016-10-27 20:21:58 -05:00
Aaron Boman
83de3c5827 Fix call to alias() in testing.py. 2016-10-27 20:21:58 -05:00
Aaron Boman
404ae8a89d Incorrect type passed in rc.py 2016-10-27 20:21:58 -05:00
Aaron Boman
359f21c237 Fix incorrect type passed in msvc.py 2016-10-27 20:21:58 -05:00
Aaron Boman
aaf9187883 Add support for faster MSVC Startup script. 2016-10-27 20:21:58 -05:00
Aaron Boman
aa49e0a141 Fix msvc.preprocess action name in msvc.py. 2016-10-27 20:21:57 -05:00
Aaron Boman
643bc6f410 Fix toolset.flags() call for 'mc.compile' in mc.py. 2016-10-27 20:21:57 -05:00
Aaron Boman
e50815353e Add preprocessor support in gcc.py/ 2016-10-27 20:21:57 -05:00
Aaron Boman
1fee455656 Fix function called with wrong type in gcc.py. 2016-10-27 20:21:57 -05:00
Aaron Boman
eb097ad804 Fix options bug in gcc.py 2016-10-27 20:21:57 -05:00
Aaron Boman
b4b5e3179e Clean up common.MkDir in common.py. 2016-10-27 20:21:57 -05:00
Aaron Boman
2371e387a0 Make the command line outputs like that of Jam. 2016-10-27 20:21:56 -05:00
Aaron Boman
d5a07dcdb3 Fix get_invocation_command_nodefault().
It was possible for command to be None. Thus, calling ' '.join(None) directly
would error out.
2016-10-27 20:21:56 -05:00
Aaron Boman
8f0b57e54e Fix cast() rule.
Previously, only the TYPE was allowed and not the type's rule.
This brings the Python port up to date with Jam.
2016-10-27 20:21:56 -05:00
Aaron Boman
aa42913e08 Finish porting the ArchivingGenerator. 2016-10-27 20:21:56 -05:00
Aaron Boman
593f615a1a Prevent LinkingGenerator from direclty modifying its source list. 2016-10-27 20:21:56 -05:00
Aaron Boman
a216a9a2c8 Set CScanner as scanner for H and HPP types. 2016-10-27 20:21:56 -05:00
Aaron Boman
0e164d20d2 Fix inconsistency with <asynch-exceptions> in builtin.py. 2016-10-27 20:21:55 -05:00
Aaron Boman
cb8402239d Remove unnecesary comments in build_system.py 2016-10-27 20:21:55 -05:00
Aaron Boman
1281499719 Fix --ignore-toolset-requirements flag. 2016-10-27 20:21:55 -05:00
Aaron Boman
4a37e4b147 Update version.py 2016-10-27 20:21:55 -05:00