Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-03-02 | Implement parallel match | Boris Kolpackov | 1 | -3/+9 | |
2017-02-13 | Allow back overriding variables specified in buildfiles | Boris Kolpackov | 1 | -6/+11 | |
It is still not clear whether this is the right thing to allow, conceptually, but with this disallowed it's hard to test this functionality. Perhaps we should have an attribute [overridable]. The problem is one will also have to set this variable to some value (e.g., [null]) which is not exactly the same as undefined (especially when testing). | |||||
2017-02-13 | Implement target_set locking, including extension update | Boris Kolpackov | 1 | -1/+4 | |
2017-02-13 | Redesign target_set interface in preparation for locking | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Pass const scope& where modification should not happen | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Add load generation to global variable_map values | Boris Kolpackov | 1 | -7/+11 | |
2017-02-13 | Add notion of load phase generation | Boris Kolpackov | 1 | -1/+1 | |
2017-02-13 | Add model mutex, make var_pool const by default | Boris Kolpackov | 1 | -9/+16 | |
2017-01-23 | Go back to storing scope instead of target in prerequisite | Boris Kolpackov | 1 | -8/+10 | |
Turns out this was semantically the right way to do it. | |||||
2017-01-23 | Implement automatic loading of directory buildfiles | Boris Kolpackov | 1 | -43/+20 | |
Now instead of explicitly writing: d = foo/ bar/ ./: $d include $d We can (usually) just write: ./: foo/ bar/ | |||||
2017-01-20 | Remove prerequisite caching in scope | Boris Kolpackov | 1 | -45/+36 | |
We don't share them often and those that are shared (e.g., cxx{} in obja/objs{}) are lightweight (SOO). | |||||
2017-01-19 | Get rid of extension_pool | Boris Kolpackov | 1 | -7/+7 | |
2017-01-19 | Get rid of project_name_pool | Boris Kolpackov | 1 | -24/+29 | |
With small string optimizations this is most likely a hindrance rather that an optimization. | |||||
2017-01-09 | Make use of operator<<(ostream, exception) | Karen Arutyunov | 1 | -9/+9 | |
2017-01-06 | Store platform targets as typed target_triplet | Boris Kolpackov | 1 | -11/+12 | |
2017-01-05 | Update copyright year | Boris Kolpackov | 1 | -1/+1 | |
2016-12-17 | Add support for specifying individual paths of imported targets | Boris Kolpackov | 1 | -2/+1 | |
The new config.import.* variable format is: config.import.<proj>.<name>[.<type>] For example: b config.import.build2.b=/opt/build2/bin/b b config.import.build2.b.exe=b-boot | |||||
2016-12-16 | Minor code cleanup | Boris Kolpackov | 1 | -11/+19 | |
2016-12-07 | Make use of butl::path::current(), butl::path::parent() | Karen Arutyunov | 1 | -2/+2 | |
2016-12-06 | Work around wrong static initialization order in VC | Boris Kolpackov | 1 | -11/+13 | |
2016-12-05 | Eliminate the use of '/...' paths on Windows | Karen Arutyunov | 1 | -22/+14 | |
2016-12-05 | Use empty path for root scope | Karen Arutyunov | 1 | -6/+3 | |
2016-12-05 | Adapt to semantics change of path::normalize() | Karen Arutyunov | 1 | -1/+3 | |
2016-12-05 | Use new convert() in if-else, assert parsing | Boris Kolpackov | 1 | -27/+16 | |
2016-12-05 | Add comma, ternary, logical operators support in eval context | Boris Kolpackov | 1 | -149/+340 | |
2016-12-01 | Allow implicit (lexical) typed-to-typed conversion | Boris Kolpackov | 1 | -22/+32 | |
2016-11-30 | Add support for typed/untyped concatenated expansion | Boris Kolpackov | 1 | -224/+438 | |
2016-11-25 | Distinguish token quoting type and completeness | Boris Kolpackov | 1 | -2/+5 | |
2016-11-23 | Implement value type propagation on expansion | Boris Kolpackov | 1 | -56/+76 | |
Currently, we only propagate types of sole, unquoted expansions (variable, function call, or eval context), similar to NULL. To untypify the value, simply quote it. | |||||
2016-11-23 | Implement assert directive | Boris Kolpackov | 1 | -23/+70 | |
The grammar is as follows: assert <expression> [<description>] assert! <expression> [<description>] The expression must evaluate to 'true' or 'false', just like in if-else. | |||||
2016-11-22 | Minor fix | Boris Kolpackov | 1 | -7/+7 | |
2016-11-22 | Use diagnostics facility from libbutl | Boris Kolpackov | 1 | -2/+1 | |
2016-11-18 | Add function machinery, implement path.normalize() | Boris Kolpackov | 1 | -26/+20 | |
Note that multi-argument functions are not yet "callable" since there is no support for value packs. | |||||
2016-11-18 | Make names and vector<name> different types, add typed value constructor | Boris Kolpackov | 1 | -1/+1 | |
2016-11-11 | Get rid of lexer modes overriding pair separators | Boris Kolpackov | 1 | -8/+8 | |
2016-11-04 | Handle explicit test scopes | Boris Kolpackov | 1 | -1/+1 | |
2016-11-04 | Handle pre-parsing of simple pairs in parse_names() | Boris Kolpackov | 1 | -38/+51 | |
2016-11-04 | Use special mode for attribute lexing | Boris Kolpackov | 1 | -9/+3 | |
2016-11-04 | Add support for ignoring separators inside names | Boris Kolpackov | 1 | -11/+19 | |
2016-11-04 | When assigning always ignore existing value type | Boris Kolpackov | 1 | -20/+22 | |
For example: x = [uint64] 1 x = a # Ok. | |||||
2016-11-04 | Minor cleanup | Boris Kolpackov | 1 | -7/+7 | |
2016-11-04 | Implement pre-parsing mode for subset of buildfile parsing functions | Boris Kolpackov | 1 | -190/+243 | |
2016-11-04 | Various minor buildfile lexer/parser changes | Boris Kolpackov | 1 | -18/+27 | |
2016-11-04 | Keep track of lexer mode in parser replay mechanism | Boris Kolpackov | 1 | -8/+11 | |
2016-11-04 | Change token type 'name' to more general 'word' | Boris Kolpackov | 1 | -21/+21 | |
2016-11-04 | Add support for lexer name scanning customization | Boris Kolpackov | 1 | -2/+1 | |
2016-11-04 | Use parse_* naming for parsing functions | Boris Kolpackov | 1 | -133/+133 | |
2016-11-04 | Add variable lookup hook to parser | Boris Kolpackov | 1 | -39/+48 | |
2016-11-04 | Allow customizing names parsing diagnostics | Boris Kolpackov | 1 | -7/+11 | |
2016-11-04 | Minor fixes | Boris Kolpackov | 1 | -2/+2 | |