Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2019-01-10 | Print list of available operations and meta-operations in info | Boris Kolpackov | 2 | -9/+33 | |
2019-01-09 | Fix bug in cc rules matching | Boris Kolpackov | 1 | -1/+1 | |
2019-01-09 | Tighten cc rules matching | Boris Kolpackov | 6 | -28/+34 | |
Specifically, make sure the rule does not match if there is a c-common prerequisites that it doesn't recognize. | |||||
2018-12-27 | Fix logic bug in pkg-config shared/static selection | Boris Kolpackov | 1 | -11/+13 | |
2018-12-15 | Fix line counting in cc::lexer | Karen Arutyunov | 2 | -2/+4 | |
2018-12-12 | Fix bug in module interface unit preprocessing | Boris Kolpackov | 1 | -5/+9 | |
2018-12-04 | Adjust module tests to comply with the merged proposal (P1103) | Boris Kolpackov | 1 | -8/+5 | |
Specifically, import can no longer be inside an export block. | |||||
2018-12-03 | Remove unnecessary delete/default declarations | Boris Kolpackov | 1 | -11/+0 | |
2018-12-03 | Suppress MSVC warnings at project level | Boris Kolpackov | 3 | -1/+13 | |
2018-12-03 | Diagnose separated variable/function name | Boris Kolpackov | 1 | -1/+3 | |
2018-12-01 | Add commented out builds value to manifest | Karen Arutyunov | 1 | -0/+1 | |
2018-11-30 | Various documentation updates, section on debugging build issues | Boris Kolpackov | 1 | -96/+595 | |
2018-11-30 | Adapt to inventing path_match_flags | Karen Arutyunov | 2 | -5/+6 | |
2018-11-28 | Regenerate options documentation | Boris Kolpackov | 1 | -3/+3 | |
2018-11-28 | Add note on potential future improvements to mtime check | Boris Kolpackov | 1 | -0/+6 | |
2018-11-28 | Fix couple of man page formatting issues | Boris Kolpackov | 1 | -4/+4 | |
2018-11-28 | Add --[no-]mtime-check options to control this behavior at runtime | Boris Kolpackov | 13 | -44/+127 | |
By default the checks are enabled only for the staged toolchain. | |||||
2018-11-28 | Add config.hxx.in config header, move stage status there | Boris Kolpackov | 6 | -9/+43 | |
2018-11-27 | Add --dump <phase> option, omit state dumping from verbosity level 6 | Boris Kolpackov | 7 | -17/+74 | |
2018-11-26 | Cleanup backwards modification time workaround code | Boris Kolpackov | 2 | -118/+25 | |
2018-11-24 | Add back backwards modification time workaround for FreeBSD | Boris Kolpackov | 1 | -3/+7 | |
Seems like it's still needed in some tight situations (e.g., in rule). | |||||
2018-11-24 | Use \n instead of endl in in rule | Boris Kolpackov | 1 | -2/+2 | |
2018-11-24 | Reimplement depdb with fdstreams | Boris Kolpackov | 4 | -95/+149 | |
2018-11-23 | More backwards modification time experimentation | Boris Kolpackov | 1 | -0/+15 | |
2018-11-23 | Revert rename of .exe.d to .d (did not make any difference) | Boris Kolpackov | 1 | -5/+3 | |
2018-11-23 | Don't allow pattern characters in target names, scope directories | Boris Kolpackov | 1 | -16/+49 | |
2018-11-22 | Rename .exe.d to just .d to test Windows interference theory | Boris Kolpackov | 1 | -3/+5 | |
2018-11-22 | Tweak in rule to ensure correct mtime order | Boris Kolpackov | 1 | -1/+4 | |
2018-11-22 | Make backwards modification time check permanent, add another experiment | Boris Kolpackov | 7 | -51/+163 | |
2018-11-22 | Fix bug in dependency chain logic | Boris Kolpackov | 1 | -13/+15 | |
2018-11-21 | More backwards modification time experimentation | Boris Kolpackov | 3 | -15/+37 | |
2018-11-21 | Add support for target and prerequisite specific variable blocks | Boris Kolpackov | 12 | -220/+553 | |
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-20 | Improve workaround for backwards modification time issue | Boris Kolpackov | 3 | -25/+46 | |
2018-11-19 | Extend backwards modification time diagnostics | Boris Kolpackov | 3 | -4/+7 | |
2018-11-19 | Fix expected diagnostics in test | Boris Kolpackov | 1 | -1/+1 | |
2018-11-19 | Workaround Apple ar fractional second truncation bug on APFS | Boris Kolpackov | 1 | -0/+16 | |
2018-11-19 | Finalize workaround for backwards modification time issue | Boris Kolpackov | 6 | -55/+69 | |
2018-11-19 | Minor diagnostics tweak | Boris Kolpackov | 1 | -1/+2 | |
2018-11-17 | Print id of failed test | Karen Arutyunov | 11 | -13/+153 | |
2018-11-16 | Test workaround theory for backwards mtime issue | Boris Kolpackov | 1 | -5/+4 | |
2018-11-16 | Implement support for dependency chains | Boris Kolpackov | 5 | -142/+227 | |
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-16 | Adjust tracing level for few noisy cases | Boris Kolpackov | 2 | -3/+9 | |
2018-11-16 | Fix GCC maybe used uninitialized warning | Karen Arutyunov | 1 | -1/+1 | |
2018-11-15 | Instrument cc:link_rule with backwards mtime detection/diagnostics | Boris Kolpackov | 1 | -0/+20 | |
2018-11-14 | Fallback to loading outer buildfile if there isn't one in src_base | Boris Kolpackov | 13 | -66/+199 | |
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 | 2 | -4/+5 | |
2018-11-13 | Minor terminology tweaks (model -> build state) | Boris Kolpackov | 4 | -11/+11 | |
2018-11-09 | Fix bug in command line variable override depth calculation | Boris Kolpackov | 1 | -7/+11 | |
2018-11-09 | Add support for relative to base scope command line variable overrides | Boris Kolpackov | 7 | -52/+113 | |
Currently, if we say: $ b dir/ ./foo=bar The scope the foo=bar is set on is relative to CWD, not dir/. While this may seem wrong at first, this is the least surprising behavior when we take into account that there can be multiple dir/'s. Sometimes, however, we do want the override directory to be treated relative to (every) target's base scope that we are building. To support this we are extending the '.' and '..' special directory names (which are still resolved relative to CWD) with '...', which means "relative to the base scope of every target in the buildspec". For example: $ b dir/ .../foo=bar Is equivalent to: $ b dir/ dir/foo=bar And: $ b liba/ libb/ .../tests/foo=bar Is equivalent to: $ b liba/ libb/ liba/tests/foo=bar libb/tests/foo=bar | |||||
2018-11-08 | Make command line variable override scope syntax consistent with buildfile | Boris Kolpackov | 2 | -20/+76 | |
Before: $ b dir/:foo=bar ... After: $ b dir/foo=bar Alternatively (the buildfile syntax): $ b 'dir/ foo=bar' Note that the (rarely used) scope visibility modifier now leads to a double slash: $ b dir//foo=bar |