Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-12-16 | Revert back to using C++14 auto return type | Boris Kolpackov | 1 | -5/+4 | |
Explicit specification is just too ugly. But can always go back if needed. | |||||
2015-12-16 | Rely on as few C++14 features as possible | Boris Kolpackov | 4 | -42/+28 | |
2015-12-16 | Don't fail if we closed our end of pipe early | Boris Kolpackov | 1 | -1/+11 | |
2015-12-16 | Tweak install rule | Boris Kolpackov | 1 | -7/+14 | |
One day we are going to get it right... | |||||
2015-12-16 | Implement support for multiple scope/targets in variable assignment | Boris Kolpackov | 5 | -95/+207 | |
Can now even do this: foo/ file{*-bar} file{baz}: x = y | |||||
2015-12-15 | Fix bug in cxx install logic | Boris Kolpackov | 2 | -2/+3 | |
2015-12-14 | Make sure we don't link up to lib{} targets that are derived from liba/so{} | Boris Kolpackov | 2 | -5/+13 | |
2015-12-14 | Add note on redirecting STDERR in cli test | Boris Kolpackov | 1 | -0/+4 | |
2015-12-14 | Fix bugs in keyword recognition logic | Boris Kolpackov | 2 | -7/+6 | |
2015-12-14 | Search out_root before src_root for headers | Boris Kolpackov | 1 | -1/+1 | |
2015-12-14 | Add support for variable prepend operator: =+ | Boris Kolpackov | 9 | -30/+108 | |
2015-12-14 | Fix uninitialized variable bug | Boris Kolpackov | 1 | -1/+1 | |
2015-12-12 | Implement sudo support in install module | Boris Kolpackov | 2 | -19/+33 | |
2015-12-12 | Implement installation of prerequisite shared libraries | Boris Kolpackov | 15 | -91/+142 | |
2015-12-12 | Add bin.libprefix to override default library prefix | Boris Kolpackov | 2 | -3/+19 | |
2015-12-12 | Implement soname/rpath dance for shared libraries | Boris Kolpackov | 1 | -36/+42 | |
2015-12-10 | Implement two-phase initialization of modules loaded from bootstrap.build | Boris Kolpackov | 16 | -78/+237 | |
2015-12-09 | Add support for specifying additional rpath's | Boris Kolpackov | 2 | -17/+40 | |
For example: b config.bin.rpath=/usr/local/lib | |||||
2015-12-08 | Add missing hxx{version} | Boris Kolpackov | 1 | -0/+1 | |
2015-12-08 | Change version back to 0.1.0 | Boris Kolpackov | 2 | -7/+9 | |
The new plan is to use 0.1.0, 0.2.0 rather than 0.1.0-a1, 0.1.0-a2 for early development. Easier on the eye and we have 99 versions instead of 49. | |||||
2015-12-07 | Move from 0.1.0.a1 to 0.1.0-a1 versioning scheme | Boris Kolpackov | 2 | -4/+4 | |
2015-12-07 | Add support for specifying minimum required build2 version | Boris Kolpackov | 7 | -14/+169 | |
The syntax is: using build@0.1.0-a1 The idea is that we will later also use it for modules and 'build' is a special, the "build system itself" module. Also fix a problem with peeking and lexer mode switching. | |||||
2015-12-07 | Add version file | Boris Kolpackov | 2 | -2/+42 | |
2015-12-03 | Fix reverse lookup of extension to target type in C++ dep extraction | Boris Kolpackov | 3 | -41/+39 | |
2015-12-03 | Use 'extension' variable for cxx target types, .*xx extensions by default | Boris Kolpackov | 2 | -16/+18 | |
One can also do: define cpp: cxx cpp{*}: extension = cpp cpp{foo}: # foo.cpp | |||||
2015-12-03 | Strip leading '.' from extension variable values | Boris Kolpackov | 1 | -1/+7 | |
2015-12-03 | Implement new potential directive keyword test | Boris Kolpackov | 2 | -4/+36 | |
Now we can use directive names as variables and targets type, for example: print = foo # variable print{foo}: # target | |||||
2015-12-03 | Clean up rule names | Boris Kolpackov | 10 | -201/+235 | |
2015-12-03 | Print libbutl version | Boris Kolpackov | 1 | -0/+2 | |
2015-12-03 | Bump version to 0.1.0.a1 | Boris Kolpackov | 2 | -2/+2 | |
2015-12-03 | Add ability for module to remember that it is unconfigured | Boris Kolpackov | 5 | -24/+65 | |
A module can set and then check the config.*.configured special variable to false. | |||||
2015-12-03 | Implement if-else conditions | Boris Kolpackov | 2 | -20/+185 | |
if if! elif elif! else The expression should evaluate to true of false. The if! and elif! versions are provided as shortcuts to writing if (!...). See tests/if-else for examples. | |||||
2015-12-02 | Redo extension derivation for file{}, doc{}, and cli{} | Boris Kolpackov | 6 | -22/+39 | |
We now first check the 'extension' variable, then use the default. | |||||
2015-12-02 | Add support for optional configuration for cli module | Boris Kolpackov | 2 | -47/+101 | |
2015-12-02 | Don't write config.{loaded,configured} special variables to config.build | Boris Kolpackov | 1 | -0/+6 | |
2015-12-02 | Implement optional module loading | Boris Kolpackov | 30 | -193/+327 | |
The syntax is: using? cli Now each module use results in two bool variables: <module>.loaded and <module>.configured. Also implement variable visibility (the above two variables are limited to project). | |||||
2015-12-01 | Use 'extension' variable to resolve extension for file{} | Boris Kolpackov | 7 | -78/+127 | |
We now also check target type/pattern-specific variables. So the new usage is: cli{*}: extension = cli | |||||
2015-12-01 | Reimplement define as dynamic derivation rather than alias | Boris Kolpackov | 12 | -149/+83 | |
New syntax: define cli: file The rationale is we need to be able to assign the file extension (using type/pattern-specific variables). And if it is an alias, we will assign it to the original target type. Note that we could still support aliases if we need to. Will need to bring back the id member in target_type that would normally point to itself but for an alias would point to the origin. | |||||
2015-12-01 | Implement support for definition target type aliases | Boris Kolpackov | 15 | -86/+246 | |
For example: define cli=file Currently, the semantics is that of a real alias with only name differences that are used for display. See tests/define/buildfile for more use cases. | |||||
2015-12-01 | Override outer configuration install paths that contain package name | Boris Kolpackov | 3 | -32/+55 | |
2015-11-30 | Don't try to install targets from other projects | Boris Kolpackov | 3 | -2/+28 | |
2015-11-30 | Add install support | Boris Kolpackov | 2 | -5/+5 | |
2015-11-30 | Tighten unresolved group logic | Boris Kolpackov | 4 | -17/+39 | |
Now a wildcard/fallback rule should explicitly detect and handle unresolved situation. | |||||
2015-11-30 | Implement dist support for including/excluding targets | Boris Kolpackov | 3 | -5/+19 | |
For example: cxx{*-options}: dist = true | |||||
2015-11-30 | Implement target type/pattern-specific variables | Boris Kolpackov | 3 | -28/+115 | |
For example: cxx{*-options}: dist = true 1. Only single '*' wildcard is supported, matches 0 or more characters. 2. If target type is not specified, it defaults to any target. 3. Appending (+=) is not allowed. 4. The value is expanded immediately in the context of the scope. 5. The more specific pattern (i.e., with the shortest "stem") is preferred. If the stem has the same length, then the last defined (but not redefined) pattern is used. This will probably have to change to become an error. See tests/variable/type-pattern for more examples. | |||||
2015-11-30 | Add cli{} prerequisite if cli.cxx{} group doesn't have any | Boris Kolpackov | 1 | -4/+7 | |
This happens when we use the group only for setting cli.options. Not very clean. | |||||
2015-11-30 | Cosmetic change | Boris Kolpackov | 1 | -52/+52 | |
2015-11-29 | Allow for target group members to remain unresolved | Boris Kolpackov | 5 | -17/+27 | |
This, for example, can happen when we have a fallback rule for dist(update) or configure(update). | |||||
2015-11-28 | Add support for dist | Boris Kolpackov | 2 | -12/+58 | |
2015-11-28 | Add support for name crosses, for example {hxx ixx cxx}{foo bar} | Boris Kolpackov | 2 | -31/+123 | |
See tests/names for more examples. |