Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Update copyright year | Karen Arutyunov | 2019-01-16 | 1 | -1/+1 |
| | |||||
* | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 2018-11-21 | 1 | -1/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | For example, now instead of: lib{foo}: cxx.loptions += -static lib{foo}: cxx.libs += -lpthread We can write: lib{foo}: { cxx.loptions += -static cxx.libs += -lpthread } The same works for prerequisites as well as target type/patterns. For example: exe{*.test}: { test = true install = false } | ||||
* | Fallback to loading outer buildfile if there isn't one in src_base | Boris Kolpackov | 2018-11-14 | 1 | -0/+11 |
| | | | | | | This covers the case where the target is defined in the outer buildfile which is common with non-intrusive project conversions where everything is built from a single root buildfile. | ||||
* | Fix atomic count initialization | Boris Kolpackov | 2018-11-01 | 1 | -2/+2 |
| | |||||
* | Add support for rule-specific variables, use to fix cc.type data race | Boris Kolpackov | 2018-11-01 | 1 | -12/+90 |
| | |||||
* | Fix race in rule synthesis logic | Boris Kolpackov | 2018-10-25 | 1 | -4/+14 |
| | |||||
* | Fix bug in binless library linking logic | Boris Kolpackov | 2018-10-18 | 1 | -8/+8 |
| | |||||
* | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 2018-08-07 | 1 | -2/+21 |
| | | | | | | | | | | | | | For example: cxx{*}: extension = cxx cxx{foo} # foo.cxx cxx{foo.test} # foo.test (probably what we want...) cxx{foo.test...} # foo.test.cxx (... is this) cxx{foo..} # foo. cxx{foo....} # foo.. cxx{foo.....} # error (must come in escape pair) | ||||
* | Make project variable to be of project_name type | Karen Arutyunov | 2018-07-30 | 1 | -4/+2 |
| | |||||
* | Pass extension supplied by rule to target type default extension function | Boris Kolpackov | 2018-07-26 | 1 | -3/+3 |
| | | | | | Also revert the precedence back to target type over rule. But now the target type is able to customize this logic (see exe{} for a use case). | ||||
* | Implement in module | Boris Kolpackov | 2018-07-16 | 1 | -27/+0 |
| | | | | | | | | | | | | | | | | | | | | Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax | ||||
* | Implement support for excluded and ad hoc prerequisites | Boris Kolpackov | 2018-06-28 | 1 | -3/+13 |
| | | | | | | | | | | | | | | The inclusion/exclusion is controlled via the 'include' prerequisite-specific variable. Valid values are: false - exclude true - include adhoc - include but treat as an ad hoc input For example: lib{foo}: cxx{win32-utility}: include = ($cxx.targe.class == 'windows') exe{bar}: libs{plugin}: include = adhoc | ||||
* | Add sanity check | Boris Kolpackov | 2018-06-15 | 1 | -1/+1 |
| | |||||
* | Update copyright year | Karen Arutyunov | 2018-05-19 | 1 | -1/+1 |
| | |||||
* | Add manifest{} target type ('manifest' file name automatically mapped as such) | Boris Kolpackov | 2018-05-19 | 1 | -2/+15 |
| | |||||
* | Implement forwarded configurations and backlinking | Boris Kolpackov | 2018-04-26 | 1 | -6/+8 |
| | |||||
* | Perform ad hoc group resolution instead of resolve_group() in module search | Boris Kolpackov | 2018-02-16 | 1 | -0/+7 |
| | |||||
* | Fix group link-up race | Boris Kolpackov | 2018-02-16 | 1 | -2/+5 |
| | |||||
* | Update/cleanup comment documentation for inner/outer operation semantics | Boris Kolpackov | 2018-02-08 | 1 | -1/+1 |
| | |||||
* | Rename prerequisite_member::target to prerequisite_member::member | Boris Kolpackov | 2018-02-05 | 1 | -18/+18 |
| | |||||
* | Fix test and install rules to handle see-through groups correctly | Boris Kolpackov | 2018-02-05 | 1 | -2/+18 |
| | |||||
* | Get rid of action rule override semantics | Boris Kolpackov | 2018-02-03 | 1 | -88/+78 |
| | | | | | Instead we now have two more or less separate match states for outer and inner parts of an action. | ||||
* | Use BUILD2_ATOMIC_NON_LOCK_FREE macro to suppress non-lock-free errors | Boris Kolpackov | 2017-12-23 | 1 | -1/+7 |
| | |||||
* | Distinguish between "fixed" and "default" target extensions | Boris Kolpackov | 2017-12-07 | 1 | -30/+6 |
| | | | | | This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient). | ||||
* | Remove stray static | Boris Kolpackov | 2017-12-06 | 1 | -1/+1 |
| | |||||
* | Implement support for scope operation callbacks | Boris Kolpackov | 2017-11-30 | 1 | -33/+2 |
| | | | | | | An entity (module, core) can register a function that will be called when an action is executed on the dir{} target that corresponds to the scope. The pre callback is called just before the recipe and the post -- immediately after. | ||||
* | Fix dist bug where missing source file would be silently ignored | Boris Kolpackov | 2017-11-22 | 1 | -6/+6 |
| | |||||
* | Initial support for prerequisite-specific variables, use for bin.whole | Boris Kolpackov | 2017-11-09 | 1 | -3/+2 |
| | |||||
* | Adapt to modularization of libbutl | Karen Arutyunov | 2017-10-03 | 1 | -1/+1 |
| | |||||
* | Add support for try_match(), use to handle deleted headers | Boris Kolpackov | 2017-09-01 | 1 | -9/+19 |
| | |||||
* | Increase target pad size | Boris Kolpackov | 2017-08-07 | 1 | -1/+1 |
| | |||||
* | Save module map to pkg-config files | Boris Kolpackov | 2017-08-02 | 1 | -3/+6 |
| | |||||
* | Experimental (and probably broken) pkg-config generation support | Boris Kolpackov | 2017-07-31 | 1 | -3/+24 |
| | |||||
* | Fix bug in execution algorithms | Boris Kolpackov | 2017-07-29 | 1 | -2/+2 |
| | |||||
* | Add support for custom data storage in target::preprequisite_targets | Boris Kolpackov | 2017-07-28 | 1 | -2/+21 |
| | |||||
* | Increase target data pad size | Boris Kolpackov | 2017-07-22 | 1 | -1/+1 |
| | |||||
* | Add support for explicitly specifying module name on mxx{} target | Boris Kolpackov | 2017-06-16 | 1 | -2/+12 |
| | |||||
* | Implement module search in prerequisite libraries | Boris Kolpackov | 2017-06-15 | 1 | -0/+6 |
| | |||||
* | Implement rule chaining for modules | Boris Kolpackov | 2017-06-08 | 1 | -0/+3 |
| | |||||
* | Remove implicit see-through iteration over ad hoc group members | Boris Kolpackov | 2017-06-05 | 1 | -16/+10 |
| | | | | This can only be done MT-safely after a synchronous match. | ||||
* | Implement module interface unit compilation for Clang and VC | Boris Kolpackov | 2017-06-01 | 1 | -0/+2 |
| | |||||
* | Adjust extension semantics in file rule to match search_existing_file() | Boris Kolpackov | 2017-05-31 | 1 | -12/+24 |
| | |||||
* | Add hxx extension for headers | Karen Arutyunov | 2017-05-01 | 1 | -0/+1719 |