Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2018-08-28 | Diagnose NULL test.target variable value | Boris Kolpackov | 1 | -9/+19 | |
2018-08-27 | Don't insist on install rules for non-file targets | Boris Kolpackov | 7 | -26/+51 | |
This helps with (not) installing libu*{} groups. | |||||
2018-08-27 | Fix diagnostics bug | Boris Kolpackov | 1 | -2/+1 | |
2018-08-27 | Use butl::path_match() for pattern-specific variable matching | Boris Kolpackov | 1 | -25/+10 | |
2018-08-25 | Implement missing pieces in utility libraries support | Boris Kolpackov | 14 | -313/+624 | |
In particular, we can now build static libraries out of utility libraries. | |||||
2018-08-22 | Define BUILD2_BOOTSTRAP when compiling libbutl sources | Boris Kolpackov | 1 | -1/+1 | |
2018-08-22 | Rework code to sidestep Clang 3.8 on FreeBSD 11.0 mis-compilation | Boris Kolpackov | 1 | -2/+1 | |
2018-08-22 | Remove unnecessary move()'s | Boris Kolpackov | 1 | -2/+2 | |
2018-08-21 | Unset CL and _CL_ environment variables when detecting MSVC | Boris Kolpackov | 5 | -18/+37 | |
2018-08-21 | Print 'ar' instead of 'ld' when building static libraries | Boris Kolpackov | 1 | -1/+1 | |
2018-08-14 | Use thin archives if available for utility libraries | Boris Kolpackov | 5 | -44/+166 | |
Thin archives are supported by GNU ar since binutils 2.19.1 and LLVM ar since LLVM 3.8.0. | |||||
2018-08-09 | Fix tests some more | Boris Kolpackov | 1 | -3/+3 | |
2018-08-09 | Fix test failures on Windows | Boris Kolpackov | 2 | -8/+23 | |
2018-08-09 | Add functions for decomposing name as parget/prerequisite name | Boris Kolpackov | 1 | -1/+82 | |
2018-08-09 | Handle few corner cases in concatenated expansion | Boris Kolpackov | 2 | -23/+70 | |
2018-08-09 | Add support for name patterns without wildcard characters | Boris Kolpackov | 4 | -28/+35 | |
In particular, this allows the "if-exists" specification of prerequisites, for example: for t: $tests exe{$t}: cxx{$t} test{+$t} | |||||
2018-08-09 | Add support for returning optional<T> from (buildfile) function implementations | Boris Kolpackov | 3 | -1/+32 | |
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 | 14 | -188/+457 | |
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 | Fortify cli detection against "other" cli's (like Mono JIT compiler) | Boris Kolpackov | 1 | -12/+25 | |
2018-07-30 | Make project variable to be of project_name type | Karen Arutyunov | 32 | -116/+271 | |
2018-07-28 | Add build.version.stage boolean variable | Boris Kolpackov | 1 | -0/+14 | |
It can be used to detection (for example, in tests) whether this is a staged toolchain. | |||||
2018-07-26 | Pass extension supplied by rule to target type default extension function | Boris Kolpackov | 6 | -25/+38 | |
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). | |||||
2018-07-25 | Remove unnecessary initialization (which also helps GCC 4.9 and VC 14u3) | Boris Kolpackov | 1 | -1/+1 | |
2018-07-25 | Add note to bash module documentation | Boris Kolpackov | 1 | -1/+3 | |
2018-07-25 | Exclude cli and bash modules from bootstrap build | Boris Kolpackov | 4 | -10/+7 | |
2018-07-25 | Prefer default extension supplied by rule over one supplied by target type | Boris Kolpackov | 3 | -20/+25 | |
2018-07-25 | Add note | Boris Kolpackov | 1 | -3/+4 | |
2018-07-25 | Fix C++ module test | Karen Arutyunov | 1 | -1/+1 | |
2018-07-25 | Fix broken dist checksum calculation | Karen Arutyunov | 1 | -1/+1 | |
2018-07-24 | Make exe{} target default to no extension rather than fail | Boris Kolpackov | 2 | -13/+10 | |
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-24 | Switch to new GCC module interface (-fmodule-mapper) | Boris Kolpackov | 3 | -153/+112 | |
2018-07-24 | Handle leading 'module;' marker (p0713) | Boris Kolpackov | 4 | -4/+45 | |
2018-07-24 | Document in and bash modules | Boris Kolpackov | 2 | -11/+309 | |
2018-07-23 | Sanitize project name when forming config.import.<proj> variable | Boris Kolpackov | 1 | -5/+23 | |
Specifically, '-', '+', and '.' are replaced with '_' to form a "canonical" variable name. | |||||
2018-07-21 | Install bash module prerequisites for amalgamation rather than project | Boris Kolpackov | 4 | -5/+31 | |
This is similar to what we do for shared libraries in cc::install_rule. | |||||
2018-07-21 | Fix installed import semantics for bash modules | Boris Kolpackov | 1 | -6/+31 | |
2018-07-21 | Tweak bash rule matching semantics | Boris Kolpackov | 1 | -2/+5 | |
2018-07-20 | Implement bash module | Boris Kolpackov | 24 | -128/+1138 | |
2018-07-20 | Add builtin.concat(dir_path,name) overload | Boris Kolpackov | 2 | -0/+30 | |
In particular, this allows: export $out_root/libfoo/$import.target | |||||
2018-07-20 | Match inner update rule before prerequisites in install::file_rule | Boris Kolpackov | 1 | -8/+13 | |
2018-07-17 | Add --after <ref-file> option for testscript touch builtin | Karen Arutyunov | 4 | -20/+82 | |
2018-07-17 | Reimplement version::in_rule in terms of in::rule | Boris Kolpackov | 7 | -441/+182 | |
Significantly, the version::in_rule rule now track changes to the substitution values. | |||||
2018-07-17 | Add temporary sleep to in test to verify debugging hypothesis | Boris Kolpackov | 1 | -0/+3 | |
2018-07-17 | Handle executables (permissions, extensions) in in::rule | Boris Kolpackov | 2 | -2/+37 | |
2018-07-17 | Add ability to customize in::rule's default symbol and mode | Boris Kolpackov | 2 | -3/+8 | |
2018-07-16 | Update bootstrap scripts with new module directory (in) | Boris Kolpackov | 4 | -1/+5 | |
2018-07-16 | Implement in module | Boris Kolpackov | 19 | -112/+861 | |
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 | |||||
2018-07-16 | Resolve function overload via the argument reversal to untyped | Boris Kolpackov | 8 | -227/+99 | |
2018-07-14 | Add testscript mv builtin | Karen Arutyunov | 3 | -10/+530 | |