aboutsummaryrefslogtreecommitdiff
path: root/build2/in
AgeCommit message (Collapse)AuthorFilesLines
2019-07-01Split build system into library and driverBoris Kolpackov5-20/+20
2019-06-19Improve diagnosticsBoris Kolpackov1-2/+2
2019-04-08Support for --dry-run|-n mode, perform update partBoris Kolpackov2-3/+11
2019-01-16Update copyright yearKaren Arutyunov6-6/+6
2018-11-28Add --[no-]mtime-check options to control this behavior at runtimeBoris Kolpackov1-1/+1
By default the checks are enabled only for the staged toolchain.
2018-11-24Use \n instead of endl in in ruleBoris Kolpackov1-2/+2
2018-11-22Tweak in rule to ensure correct mtime orderBoris Kolpackov1-1/+4
2018-11-22Make backwards modification time check permanent, add another experimentBoris Kolpackov1-0/+2
2018-11-19Finalize workaround for backwards modification time issueBoris Kolpackov1-1/+1
2018-11-16Adjust tracing level for few noisy casesBoris Kolpackov1-1/+4
2018-08-07Add support for default extension specification, trailing dot escapingBoris Kolpackov1-2/+7
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-24Make exe{} target default to no extension rather than failBoris Kolpackov1-4/+1
This just keep breaking (this time for exe{}: in{} match during distribution). So we assume rules will assign the target platform extension if necessary and if not, then we default to no extension (e.g., a shell script).
2018-07-20Implement bash moduleBoris Kolpackov4-71/+111
2018-07-17Reimplement version::in_rule in terms of in::ruleBoris Kolpackov3-7/+25
Significantly, the version::in_rule rule now track changes to the substitution values.
2018-07-17Handle executables (permissions, extensions) in in::ruleBoris Kolpackov1-2/+20
2018-07-17Add ability to customize in::rule's default symbol and modeBoris Kolpackov2-3/+8
2018-07-16Implement in moduleBoris Kolpackov6-0/+729
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