Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add support for alternative build file/directory naming scheme | Boris Kolpackov | 2019-03-07 | 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). | ||||
* | Update copyright year | Karen Arutyunov | 2019-01-16 | 1 | -1/+1 |
| | |||||
* | Diagnose separated variable/function name | Boris Kolpackov | 2018-12-03 | 1 | -1/+3 |
| | |||||
* | Don't allow pattern characters in target names, scope directories | Boris Kolpackov | 2018-11-23 | 1 | -16/+49 |
| | |||||
* | Fix bug in dependency chain logic | Boris Kolpackov | 2018-11-22 | 1 | -13/+15 |
| | |||||
* | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 2018-11-21 | 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 } | ||||
* | Implement support for dependency chains | Boris Kolpackov | 2018-11-16 | 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 | ||||
* | Fallback to loading outer buildfile if there isn't one in src_base | Boris Kolpackov | 2018-11-14 | 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. | ||||
* | Tweak assert directive diagnostics | Boris Kolpackov | 2018-11-14 | 1 | -3/+4 |
| | |||||
* | Remove extraneous space | Boris Kolpackov | 2018-11-07 | 1 | -1/+1 |
| | |||||
* | Improve parser diagnostics | Boris Kolpackov | 2018-11-07 | 1 | -0/+11 |
| | |||||
* | Treat invalid names as values if they are quoted | Boris Kolpackov | 2018-10-23 | 1 | -19/+29 |
| | |||||
* | Fix uncaught invalid_path exception | Karen Arutyunov | 2018-09-14 | 1 | -18/+25 |
| | |||||
* | Create .buildignore file in testscript root working directory | Karen Arutyunov | 2018-09-05 | 1 | -1/+2 |
| | |||||
* | Ignore directories with .buildignore file when generating names with ↵ | Karen Arutyunov | 2018-09-03 | 1 | -9/+11 |
| | | | | wildcard patterns | ||||
* | Adjust terminology in diagnostic and comments | Boris Kolpackov | 2018-08-31 | 1 | -5/+5 |
| | |||||
* | Handle missing export directive in export stub | Boris Kolpackov | 2018-08-30 | 1 | -0/+3 |
| | | | | If none were executed, then we assume the requested target is not exported. | ||||
* | Handle few corner cases in concatenated expansion | Boris Kolpackov | 2018-08-09 | 1 | -23/+42 |
| | |||||
* | Add support for name patterns without wildcard characters | Boris Kolpackov | 2018-08-09 | 1 | -16/+17 |
| | | | | | | | | In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | ||||
* | Fix issue with concatenating empty typed LHS | Boris Kolpackov | 2018-08-09 | 1 | -3/+14 |
| | |||||
* | Add support for default extension specification, trailing dot escaping | Boris Kolpackov | 2018-08-07 | 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) | ||||
* | Make project variable to be of project_name type | Karen Arutyunov | 2018-07-30 | 1 | -8/+19 |
| | |||||
* | Add prerequisite variable visibility specification/enforcement | Boris Kolpackov | 2018-06-28 | 1 | -10/+36 |
| | |||||
* | Update copyright year | Karen Arutyunov | 2018-05-19 | 1 | -1/+1 |
| | |||||
* | Fix uncaught invalid_path exception | Karen Arutyunov | 2018-05-16 | 1 | -11/+19 |
| | |||||
* | Fix assertion failure due to parser::attributes_pop() call in pre-parse mode | Karen Arutyunov | 2018-05-12 | 1 | -1/+2 |
| | |||||
* | Enable new directory target-specific variable assignment syntax | Boris Kolpackov | 2018-05-04 | 1 | -125/+103 |
| | |||||
* | Regularize directory target/scope-specific variable assignment syntax | Boris Kolpackov | 2018-05-03 | 1 | -117/+204 |
| | |||||
* | Redo run directive diagnostics not to rely on invalid paths | Boris Kolpackov | 2018-04-27 | 1 | -28/+13 |
| | |||||
* | Implement run buildfile directive | Boris Kolpackov | 2018-04-26 | 1 | -53/+170 |
| | | | | | | | Now we can do: run echo 'foo = bar' print $foo | ||||
* | Add support for update-for-{test,install} operation aliases | Boris Kolpackov | 2018-02-07 | 1 | -2/+2 |
| | |||||
* | Get rid of action rule override semantics | Boris Kolpackov | 2018-02-03 | 1 | -6/+7 |
| | | | | | Instead we now have two more or less separate match states for outer and inner parts of an action. | ||||
* | Fix few undefined behavior (ubsan) bugs | Boris Kolpackov | 2018-01-02 | 1 | -3/+3 |
| | |||||
* | Split stream verbosity into components (path, extension) | Boris Kolpackov | 2017-12-16 | 1 | -7/+0 |
| | | | | | Use to make sure structured result output always contains absolute target path. | ||||
* | Fix bug in importing multiple targets with single directive | Boris Kolpackov | 2017-11-28 | 1 | -0/+7 |
| | |||||
* | Add support for dumping prerequisite-specific variables | Boris Kolpackov | 2017-11-20 | 1 | -3/+6 |
| | |||||
* | Implement dump directive | Boris Kolpackov | 2017-11-20 | 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. | ||||
* | Add support for for-loop | Boris Kolpackov | 2017-11-09 | 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. | ||||
* | Initial support for prerequisite-specific variables, use for bin.whole | Boris Kolpackov | 2017-11-09 | 1 | -25/+121 |
| | |||||
* | Adapt to modularization of libbutl | Karen Arutyunov | 2017-10-03 | 1 | -1/+1 |
| | |||||
* | Allow pattern group to start with inclusion | Karen Arutyunov | 2017-09-29 | 1 | -30/+130 |
| | |||||
* | Add ability to pass scope to buildfile functions, add $install.resolve() | Boris Kolpackov | 2017-09-11 | 1 | -3/+3 |
| | |||||
* | Resolve if-else block ambiguity | Boris Kolpackov | 2017-08-06 | 1 | -5/+9 |
| | |||||
* | Add support for fail, warn, info, text directives | Boris Kolpackov | 2017-07-19 | 1 | -1/+40 |
| | |||||
* | Allow independent wildcard patterns in a group | Karen Arutyunov | 2017-07-17 | 1 | -6/+17 |
| | |||||
* | Fix crashing if path_search() fails | Karen Arutyunov | 2017-06-12 | 1 | -2/+9 |
| | |||||
* | Remove few unused lambda captures | Boris Kolpackov | 2017-06-12 | 1 | -2/+2 |
| | |||||
* | Add full support for pattern exclusions | Karen Arutyunov | 2017-06-08 | 1 | -29/+26 |
| | |||||
* | Add hxx extension for headers | Karen Arutyunov | 2017-05-01 | 1 | -12/+12 |
| | |||||
* | Add support for stub versions in version module | Boris Kolpackov | 2017-04-29 | 1 | -1/+1 |
| |