aboutsummaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2015-03-02Cleanup to support clang compilationBoris Kolpackov4-39/+34
2015-03-02Implement variable expansionBoris Kolpackov5-20/+230
2015-03-02Indicate whether token is separated from previous one by whitespacesBoris Kolpackov5-92/+117
2015-03-02Implement value lexing modeBoris Kolpackov2-20/+67
So that we can do foo=g++ without having to resort to quoting
2015-03-02Clean up clang warningsBoris Kolpackov7-18/+19
2015-02-27Variable assignment, appending supportBoris Kolpackov20-54/+493
2015-02-26Support for scope parents, initial variable supportBoris Kolpackov8-19/+113
2015-02-24Sort out diagnostics for mkdirBoris Kolpackov4-12/+54
2015-02-24Use prefix_map for scopes, establish root scopeBoris Kolpackov11-14/+120
2015-02-24Make empty key to always be prefix in prefix_mapBoris Kolpackov2-7/+10
2015-02-24Add fsdir{} for creating directoriesBoris Kolpackov5-1/+103
2015-02-23Clean up file namesBoris Kolpackov4-5/+5
2015-02-23Rename "select" to "apply"Boris Kolpackov5-12/+12
2015-02-23Don't create new target for alias/action/dir prerequisiteBoris Kolpackov2-3/+18
2015-02-23Redo rule match/build logicBoris Kolpackov22-416/+891
Now the rule is fully responsible for searching, matching, and building of prerequisites.
2015-02-20Get rid of parse_ prefix in parser function namesBoris Kolpackov2-32/+32
2015-02-20Rename 'directory' to 'dir' in target, prerequisiteBoris Kolpackov7-25/+23
2015-02-20Rework extension handling logicBoris Kolpackov7-64/+55
We no longer support hxx{vector.}. Rather, the target type can decide, e.g., based on a config variable, whether to append an extension. Also, in the future we may support a syntax to specify that this is a complete name, e.g., hxx{'vector'}.
2015-02-19Add support for sourcing/including buildfiles, print, dir{} aliasBoris Kolpackov11-121/+504
2015-01-20Diagnostic infrastructure revampBoris Kolpackov20-426/+650
2015-01-16Add support for directory prefixesBoris Kolpackov3-19/+65
For example: cxx{driver ../{foo bar}} cxx{driver} ../cxx{foo bar}
2015-01-16Implement rule chaining for cxx::linkBoris Kolpackov16-219/+384
2015-01-15Implement rule ambiguity detectionBoris Kolpackov6-21/+111
Also establish the infrastructure for rule hinting
2015-01-15Allow specifying prefix_map delimiter as template argumentBoris Kolpackov2-10/+31
2015-01-14Implement prefix_mapBoris Kolpackov2-0/+161
2015-01-14Track file extension in target, prerequisiteBoris Kolpackov14-34/+244
2015-01-08Implement tracing supportBoris Kolpackov16-28/+343
Also use to-relative path translation in diagnostics.
2015-01-05Rename 'bd' to 'b'Boris Kolpackov3-4/+7
What the heck, let's be bold, right?
2015-01-05Determine work, home, and {src,out}_{root,base} directoriesBoris Kolpackov6-4/+160
2014-12-18Initial support for loading dependency info from buildfilesBoris Kolpackov21-183/+773
Also a new iteration on the overall architecture. Now, for the first time, build can read the buildfile and build itself. g++-4.9 -std=c++14 -g -I.. -o bd bd.cxx algorithm.cxx scope.cxx parser.cxx lexer.cxx target.cxx prerequisite.cxx rule.cxx native.cxx cxx/target.cxx cxx/rule.cxx process.cxx timestamp.cxx path.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx ../../../build/scope.cxx ../../../build/target.cxx ../../../build/native.cxx ../../../build/prerequisite.cxx ../../../build/path.cxx ../../../build/timestamp.cxx
2014-12-15Parse directory scopesBoris Kolpackov4-61/+151
2014-12-12Initial buildfile parser implementationBoris Kolpackov6-37/+254
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx && ./driver
2014-12-12Add test for lexerBoris Kolpackov2-2/+7
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx && ./driver
2014-12-11Initial lexer implementation for buildfilesBoris Kolpackov6-1/+438
2014-12-11Improve diagnostics and error handlingBoris Kolpackov4-56/+143
g++-4.9 -std=c++14 -g -I.. -o bd bd.cxx target.cxx native.cxx rule.cxx cxx/rule.cxx cxx/target.cxx process.cxx timestamp.cxx path.cxx
2014-12-11Initial implementation of dependency injection (g++ -M output)Boris Kolpackov3-8/+155
2014-12-10Add rulesBoris Kolpackov13-93/+792
g++-4.9 -std=c++11 -g -I.. -o bd bd.cxx target.cxx native.cxx rule.cxx cxx/rule.cxx cxx/target.cxx process.cxx timestamp.cxx path.cxx
2014-12-08Add filesystem path classBoris Kolpackov4-0/+716
g++-4.9 -std=c++11 -I.. -o bd bd.cxx process.cxx timestamp.cxx path.cxx
2014-12-05Add support for starting processes, getting file timestampsBoris Kolpackov6-13/+690
g++-4.9 -std=c++11 -I.. -o bd bd.cxx process.cxx timestamp.cxx
2014-12-03Add .gitignore filesBoris Kolpackov1-0/+1
2014-12-03Initial build tool sketch (simulation)Boris Kolpackov2-0/+132
To build: g++-4.9 -std=c++11 -g -I.. -o bd bd.cxx