Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-07-07 | Rework module architecture | Boris Kolpackov | 1 | -10/+4 | |
Now the target type and rule maps are in scopes (builtins -- in global scope). We also now have the map of loaded modules in the root scope of each project. | |||||
2015-05-22 | Get rid of gcc, clang warnings (-Wall) | Boris Kolpackov | 1 | -1/+0 | |
2015-05-11 | Correct copyright | Boris Kolpackov | 1 | -1/+1 | |
2015-04-29 | Add support for setting target-specific variables from buildfiles | Boris Kolpackov | 1 | -92/+140 | |
2015-04-28 | Remove sourcing triggers support for now | Boris Kolpackov | 1 | -21/+0 | |
2015-04-28 | Second iteration over import/export support | Boris Kolpackov | 1 | -24/+32 | |
2015-04-20 | Merge config.cxx.* variables into cxx.* when loading cxx module | Boris Kolpackov | 1 | -3/+12 | |
2015-04-20 | Automatically decide when to print relative/absolute paths | Boris Kolpackov | 1 | -1/+1 | |
2015-04-17 | Add support for target groups, use to handle obj/obja/objso object targets | Boris Kolpackov | 1 | -2/+2 | |
2015-04-15 | New variables architecture | Boris Kolpackov | 1 | -11/+11 | |
Now operator[] is only used for lookup. | |||||
2015-04-13 | Add separate type to represent directory paths | Boris Kolpackov | 1 | -26/+26 | |
2015-04-13 | Add initial import support | Boris Kolpackov | 1 | -83/+133 | |
2015-04-08 | Inherit list_value directly from names | Boris Kolpackov | 1 | -11/+11 | |
2015-04-08 | Get rid of need to store scope in variable value | Boris Kolpackov | 1 | -4/+4 | |
2015-04-07 | Initial support for amalgamation/subprojects | Boris Kolpackov | 1 | -2/+75 | |
For now both need to be manually specified in src bootstrap. At this stage main() loads any outer root scopes while include loads any inner. | |||||
2015-03-31 | Rename root_scope to global_scope | Boris Kolpackov | 1 | -2/+2 | |
To avoid confusion with project's root scopes. | |||||
2015-03-30 | Initial support for command line variables | Boris Kolpackov | 1 | -82/+74 | |
2015-03-30 | Add support for configurable pair separator, use @ instead of = in buildspec | Boris Kolpackov | 1 | -17/+19 | |
2015-03-27 | Rework dependency state dump support | Boris Kolpackov | 1 | -3/+3 | |
We now have a combined (scopes, variables, and targets) dump. | |||||
2015-03-25 | Configure/disfigure src_root saving/removing support; fsdir{} injection | Boris Kolpackov | 1 | -3/+6 | |
We can now build out-of-tree. | |||||
2015-03-24 | Make meta-operations control build loop; add disfigure skeleton | Boris Kolpackov | 1 | -5/+6 | |
2015-03-20 | New consolidated load/match/build loop | Boris Kolpackov | 1 | -1/+1 | |
2015-03-18 | Implement complete root/base detection, basic module support | Boris Kolpackov | 1 | -2/+83 | |
This is the initial groundwork for the configuration support. | |||||
2015-03-09 | Add meta/operation lists, lift operations in buildspec | Boris Kolpackov | 1 | -8/+8 | |
2015-03-09 | Add support for skipping already loaded/included buildfiles at top level | Boris Kolpackov | 1 | -6/+7 | |
The idea is that a buildfile shall be included/loaded only once for any given out_root. | |||||
2015-03-09 | Build according to buildspec | Boris Kolpackov | 1 | -103/+33 | |
At this stage operations are still ignored. | |||||
2015-03-07 | Add support for buildspec | Boris Kolpackov | 1 | -4/+188 | |
2015-03-06 | Add support for lexing and parsing name pairs | Boris Kolpackov | 1 | -16/+118 | |
We will need it for the buildspec and also if/when we support map variable types. | |||||
2015-03-04 | Treat names that end with directory separators as directories | Boris Kolpackov | 1 | -21/+44 | |
2015-03-04 | Move roots and bases to appropriate scopes | Boris Kolpackov | 1 | -36/+66 | |
2015-03-03 | Use names() to handle include/source, support include of directories | Boris Kolpackov | 1 | -20/+51 | |
This gives us variable expansion and directory prefixes. Also, in include, if the path is a directory (either ends with / or has dir{} type), then we append 'buildfile'. | |||||
2015-03-03 | Implement new default target logic, canonical directory name (empty value) | Boris Kolpackov | 1 | -135/+139 | |
The logic is as follows: if we have an explicit current directory target, then that's the default target. Otherwise, we take the first target and use it as a prerequisite to create an implicit current directory target, effectively making it the default target via an alias. If there are no targets in this buildfile, then we don't do anything. | |||||
2015-03-02 | Implement variable expansion | Boris Kolpackov | 1 | -17/+178 | |
2015-03-02 | Indicate whether token is separated from previous one by whitespaces | Boris Kolpackov | 1 | -1/+1 | |
2015-03-02 | Clean up clang warnings | Boris Kolpackov | 1 | -7/+8 | |
2015-02-27 | Variable assignment, appending support | Boris Kolpackov | 1 | -17/+101 | |
2015-02-24 | Use prefix_map for scopes, establish root scope | Boris Kolpackov | 1 | -5/+20 | |
2015-02-23 | Redo rule match/build logic | Boris Kolpackov | 1 | -6/+6 | |
Now the rule is fully responsible for searching, matching, and building of prerequisites. | |||||
2015-02-20 | Get rid of parse_ prefix in parser function names | Boris Kolpackov | 1 | -21/+21 | |
2015-02-20 | Rework extension handling logic | Boris Kolpackov | 1 | -6/+6 | |
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-19 | Add support for sourcing/including buildfiles, print, dir{} alias | Boris Kolpackov | 1 | -91/+343 | |
2015-01-20 | Diagnostic infrastructure revamp | Boris Kolpackov | 1 | -58/+29 | |
2015-01-16 | Add support for directory prefixes | Boris Kolpackov | 1 | -15/+53 | |
For example: cxx{driver ../{foo bar}} cxx{driver} ../cxx{foo bar} | |||||
2015-01-16 | Implement rule chaining for cxx::link | Boris Kolpackov | 1 | -58/+5 | |
2015-01-14 | Track file extension in target, prerequisite | Boris Kolpackov | 1 | -8/+76 | |
2015-01-08 | Implement tracing support | Boris Kolpackov | 1 | -0/+1 | |
Also use to-relative path translation in diagnostics. | |||||
2014-12-18 | Initial support for loading dependency info from buildfiles | Boris Kolpackov | 1 | -19/+155 | |
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-15 | Parse directory scopes | Boris Kolpackov | 1 | -36/+119 | |
2014-12-12 | Initial buildfile parser implementation | Boris Kolpackov | 1 | -0/+167 | |
g++-4.9 -std=c++14 -g -I../../.. -o driver driver.cxx ../../../build/lexer.cxx ../../../build/parser.cxx && ./driver |