Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-03-12 | Diagnose out of project inclusion | Boris Kolpackov | 1 | -5/+14 | |
2019-03-07 | Add support for alternative build file/directory naming scheme | Boris Kolpackov | 1 | -8/+23 | |
Now the build/*.build, buildfile, and .buildignore filesystem entries in a project can alternatively (but consistently) be called build2/*.build2, build2file, and .build2ignore. See a note at the beginning of the Project Structure section in the manual for details (motivation, restrictions, etc). | |||||
2019-01-16 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-12-03 | Diagnose separated variable/function name | Boris Kolpackov | 1 | -1/+3 | |
2018-11-23 | Don't allow pattern characters in target names, scope directories | Boris Kolpackov | 1 | -16/+49 | |
2018-11-22 | Fix bug in dependency chain logic | Boris Kolpackov | 1 | -13/+15 | |
2018-11-21 | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 1 | -212/+387 | |
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 } | |||||
2018-11-16 | Implement support for dependency chains | Boris Kolpackov | 1 | -136/+167 | |
Now instead of: ./: exe{foo} exe{foo}: cxx{*} We can write: ./: exe{foo}: cxx{*} Or even: ./: exe{foo}: libue{foo}: cxx{*} This can be combined with prerequisite-specific variables (which naturally only apply to the last set of prerequisites in the chain): ./: exe{foo}: libue{foo}: bin.whole = false | |||||
2018-11-14 | Fallback to loading outer buildfile if there isn't one in src_base | Boris Kolpackov | 1 | -3/+3 | |
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. | |||||
2018-11-14 | Tweak assert directive diagnostics | Boris Kolpackov | 1 | -3/+4 | |
2018-11-07 | Remove extraneous space | Boris Kolpackov | 1 | -1/+1 | |
2018-11-07 | Improve parser diagnostics | Boris Kolpackov | 1 | -0/+11 | |
2018-10-23 | Treat invalid names as values if they are quoted | Boris Kolpackov | 1 | -19/+29 | |
2018-09-14 | Fix uncaught invalid_path exception | Karen Arutyunov | 1 | -18/+25 | |
2018-09-05 | Create .buildignore file in testscript root working directory | Karen Arutyunov | 1 | -1/+2 | |
2018-09-03 | Ignore directories with .buildignore file when generating names with ↵ | Karen Arutyunov | 1 | -9/+11 | |
wildcard patterns | |||||
2018-08-31 | Adjust terminology in diagnostic and comments | Boris Kolpackov | 1 | -5/+5 | |
2018-08-30 | Handle missing export directive in export stub | Boris Kolpackov | 1 | -0/+3 | |
If none were executed, then we assume the requested target is not exported. | |||||
2018-08-09 | Handle few corner cases in concatenated expansion | Boris Kolpackov | 1 | -23/+42 | |
2018-08-09 | Add support for name patterns without wildcard characters | Boris Kolpackov | 1 | -16/+17 | |
In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | |||||
2018-08-09 | Fix issue with concatenating empty typed LHS | Boris Kolpackov | 1 | -3/+14 | |
2018-08-07 | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 1 | -67/+133 | |
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) | |||||
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 1 | -8/+19 | |
2018-06-28 | Add prerequisite variable visibility specification/enforcement | Boris Kolpackov | 1 | -10/+36 | |
2018-05-19 | Update copyright year | Karen Arutyunov | 1 | -1/+1 | |
2018-05-16 | Fix uncaught invalid_path exception | Karen Arutyunov | 1 | -11/+19 | |
2018-05-12 | Fix assertion failure due to parser::attributes_pop() call in pre-parse mode | Karen Arutyunov | 1 | -1/+2 | |
2018-05-04 | Enable new directory target-specific variable assignment syntax | Boris Kolpackov | 1 | -125/+103 | |
2018-05-03 | Regularize directory target/scope-specific variable assignment syntax | Boris Kolpackov | 1 | -117/+204 | |
2018-04-27 | Redo run directive diagnostics not to rely on invalid paths | Boris Kolpackov | 1 | -28/+13 | |
2018-04-26 | Implement run buildfile directive | Boris Kolpackov | 1 | -53/+170 | |
Now we can do: run echo 'foo = bar' print $foo | |||||
2018-02-07 | Add support for update-for-{test,install} operation aliases | Boris Kolpackov | 1 | -2/+2 | |
2018-02-03 | Get rid of action rule override semantics | Boris Kolpackov | 1 | -6/+7 | |
Instead we now have two more or less separate match states for outer and inner parts of an action. | |||||
2018-01-02 | Fix few undefined behavior (ubsan) bugs | Boris Kolpackov | 1 | -3/+3 | |
2017-12-16 | Split stream verbosity into components (path, extension) | Boris Kolpackov | 1 | -7/+0 | |
Use to make sure structured result output always contains absolute target path. | |||||
2017-11-28 | Fix bug in importing multiple targets with single directive | Boris Kolpackov | 1 | -0/+7 | |
2017-11-20 | Add support for dumping prerequisite-specific variables | Boris Kolpackov | 1 | -3/+6 | |
2017-11-20 | Implement dump directive | Boris Kolpackov | 1 | -9/+100 | |
It can be used to print (to stderr) a human-readable representation of the current scope or a list of targets. For example: dump # Dump current scope. dump lib{foo} details/exe{bar} # Dump two targets. This is primarily useful for debugging as well as to write build system tests. | |||||
2017-11-09 | Add support for for-loop | Boris Kolpackov | 1 | -2/+168 | |
The semantics is similar to the C++11 range-based for: list = 1 2 3 for i: $list print $i Note that there is no scoping of any kind for the loop variable ('i' in the above example). See tests/loop/for.test for some examples/ideas. In the future the plan is to also support more general while-loop as well as break and continue. | |||||
2017-11-09 | Initial support for prerequisite-specific variables, use for bin.whole | Boris Kolpackov | 1 | -25/+121 | |
2017-10-03 | Adapt to modularization of libbutl | Karen Arutyunov | 1 | -1/+1 | |
2017-09-29 | Allow pattern group to start with inclusion | Karen Arutyunov | 1 | -30/+130 | |
2017-09-11 | Add ability to pass scope to buildfile functions, add $install.resolve() | Boris Kolpackov | 1 | -3/+3 | |
2017-08-06 | Resolve if-else block ambiguity | Boris Kolpackov | 1 | -5/+9 | |
2017-07-19 | Add support for fail, warn, info, text directives | Boris Kolpackov | 1 | -1/+40 | |
2017-07-17 | Allow independent wildcard patterns in a group | Karen Arutyunov | 1 | -6/+17 | |
2017-06-12 | Fix crashing if path_search() fails | Karen Arutyunov | 1 | -2/+9 | |
2017-06-12 | Remove few unused lambda captures | Boris Kolpackov | 1 | -2/+2 | |
2017-06-08 | Add full support for pattern exclusions | Karen Arutyunov | 1 | -29/+26 | |
2017-05-01 | Add hxx extension for headers | Karen Arutyunov | 1 | -12/+12 | |