aboutsummaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2016-09-06Don't search for subprojects recursively, only at top-levelBoris Kolpackov1-1/+0
2016-09-05Bump version to 0.4.0 (final)Boris Kolpackov1-2/+2
2016-08-30Build infrastructure updateBoris Kolpackov2-4/+24
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-2/+1
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-8/+1
2016-08-27Clean up library export, make c and cxx modules project root onlyBoris Kolpackov1-1/+2
So now c and cxx modules can only be loaded in project root scope (normally root.build). Also, the c.std and cxx.std must now be set *before* loading the module to take effect. This means we won't be able to handle old buildfiles anymore but old versions of build2 should be able to handle new *.std placement.
2016-04-26Bump version to 0.4.0-a1, master is open for businessBoris Kolpackov1-2/+2
2016-04-23Backwards-compatibility fixesBoris Kolpackov1-1/+7
2016-04-22Bump version to 0.3.0Boris Kolpackov1-1/+1
2016-04-12Change text.exe to exe{*}:test (BC change)Boris Kolpackov1-1/+2
2016-02-04Bump version to 0.3.0-a1, master is open for businessBoris Kolpackov1-1/+1
2016-01-31Bump version to 0.2.0 finalBoris Kolpackov1-2/+2
2016-01-09Update copyright yearBoris Kolpackov2-2/+2
2016-01-05Rename build directory/namespace to build2Boris Kolpackov112-22307/+0
2016-01-04First step in migrating 'build' to 'build2'Boris Kolpackov1-8/+10
2015-12-16Revert back to using C++14 auto return typeBoris Kolpackov1-5/+4
Explicit specification is just too ugly. But can always go back if needed.
2015-12-16Rely on as few C++14 features as possibleBoris Kolpackov4-42/+28
2015-12-16Don't fail if we closed our end of pipe earlyBoris Kolpackov1-1/+11
2015-12-16Tweak install ruleBoris Kolpackov1-7/+14
One day we are going to get it right...
2015-12-16Implement support for multiple scope/targets in variable assignmentBoris Kolpackov5-95/+207
Can now even do this: foo/ file{*-bar} file{baz}: x = y
2015-12-15Fix bug in cxx install logicBoris Kolpackov2-2/+3
2015-12-14Make sure we don't link up to lib{} targets that are derived from liba/so{}Boris Kolpackov2-5/+13
2015-12-14Add note on redirecting STDERR in cli testBoris Kolpackov1-0/+4
2015-12-14Fix bugs in keyword recognition logicBoris Kolpackov2-7/+6
2015-12-14Search out_root before src_root for headersBoris Kolpackov1-1/+1
2015-12-14Add support for variable prepend operator: =+Boris Kolpackov9-30/+108
2015-12-14Fix uninitialized variable bugBoris Kolpackov1-1/+1
2015-12-12Implement sudo support in install moduleBoris Kolpackov2-19/+33
2015-12-12Implement installation of prerequisite shared librariesBoris Kolpackov15-91/+142
2015-12-12Add bin.libprefix to override default library prefixBoris Kolpackov2-3/+19
2015-12-12Implement soname/rpath dance for shared librariesBoris Kolpackov1-36/+42
2015-12-10Implement two-phase initialization of modules loaded from bootstrap.buildBoris Kolpackov16-78/+237
2015-12-09Add support for specifying additional rpath'sBoris Kolpackov2-17/+40
For example: b config.bin.rpath=/usr/local/lib
2015-12-08Add missing hxx{version}Boris Kolpackov1-0/+1
2015-12-08Change version back to 0.1.0Boris Kolpackov2-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-07Move from 0.1.0.a1 to 0.1.0-a1 versioning schemeBoris Kolpackov2-4/+4
2015-12-07Add support for specifying minimum required build2 versionBoris Kolpackov7-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-07Add version fileBoris Kolpackov2-2/+42
2015-12-03Fix reverse lookup of extension to target type in C++ dep extractionBoris Kolpackov3-41/+39
2015-12-03Use 'extension' variable for cxx target types, .*xx extensions by defaultBoris Kolpackov2-16/+18
One can also do: define cpp: cxx cpp{*}: extension = cpp cpp{foo}: # foo.cpp
2015-12-03Strip leading '.' from extension variable valuesBoris Kolpackov1-1/+7
2015-12-03Implement new potential directive keyword testBoris Kolpackov2-4/+36
Now we can use directive names as variables and targets type, for example: print = foo # variable print{foo}: # target
2015-12-03Clean up rule namesBoris Kolpackov10-201/+235
2015-12-03Print libbutl versionBoris Kolpackov1-0/+2
2015-12-03Bump version to 0.1.0.a1Boris Kolpackov2-2/+2
2015-12-03Add ability for module to remember that it is unconfiguredBoris Kolpackov5-24/+65
A module can set and then check the config.*.configured special variable to false.
2015-12-03Implement if-else conditionsBoris Kolpackov2-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-02Redo extension derivation for file{}, doc{}, and cli{}Boris Kolpackov6-22/+39
We now first check the 'extension' variable, then use the default.
2015-12-02Add support for optional configuration for cli moduleBoris Kolpackov2-47/+101
2015-12-02Don't write config.{loaded,configured} special variables to config.buildBoris Kolpackov1-0/+6