Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-09-09 | Add initial support for function calls: $func(a b c) | Boris Kolpackov | 1 | -27/+59 | |
Now it is just a stub that prints the function name and its argument. Currently only single argument can be passed (no value pack support yet). | |||||
2015-09-09 | Add support for evaluation context | Boris Kolpackov | 1 | -65/+120 | |
For now it acts as just the value mode that can be enabled anywhere variable expansion is supported, for example: (foo=bar): And the primary use currently is to enable/test quoted and indirect variable expansion: "foo bar" = FOO BAR print $"foo bar" # Invalid. print $("foo bar") # Yeah, baby. foo = FOO FOO = foo print $($foo) Not that you should do something like this... | |||||
2015-09-08 | Use mode stack in lexer | Boris Kolpackov | 1 | -1/+1 | |
2015-09-08 | Clean up lexer mode logic | Boris Kolpackov | 1 | -0/+1 | |
2015-09-08 | Rework diagnostics verbosity, add quiet mode/option | Boris Kolpackov | 1 | -7/+7 | |
2015-09-04 | Fix clang warnings | Boris Kolpackov | 1 | -2/+0 | |
2015-08-31 | Clean parser implementation | Boris Kolpackov | 1 | -52/+13 | |
2015-08-31 | Rework scoping logic | Boris Kolpackov | 1 | -53/+107 | |
Now the src directory is entered into the scope map and points to the same scope as out. This means that targets that are in src, not out (e.g., source files) will "see" rules, variables, etc. This becomes important when we try, for example, to install a source file (say, a header) from src: we need the rule as well as the install.* variables. | |||||
2015-08-27 | Dist module/meta-operation initial implementation | Boris Kolpackov | 1 | -0/+31 | |
2015-08-24 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2015-08-24 | Only treat name as directory if it is reversible | Boris Kolpackov | 1 | -22/+32 | |
2015-08-24 | New variable architecture | Boris Kolpackov | 1 | -50/+36 | |
2015-07-31 | Essential install module functionality | Boris Kolpackov | 1 | -5/+5 | |
2015-07-15 | Implement project-qualified names/prerequisites, two-stage import | Boris Kolpackov | 1 | -20/+96 | |
2015-07-13 | Add support for pair-enabled variables | Boris Kolpackov | 1 | -20/+16 | |
2015-07-07 | Relax requirement on amalgamation src_root to track sub-project | Boris Kolpackov | 1 | -32/+32 | |
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 | |