aboutsummaryrefslogtreecommitdiff
path: root/build/cxx/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-06-24Implement proper target type detection in dependency injectionBoris Kolpackov1-7/+60
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov1-33/+25
2015-06-22Remove prerequisite rewriting from c/c++ dependency injection codeBoris Kolpackov1-14/+4
2015-06-22Remove prerequisite rewriting from inject_parent_fsdir()Boris Kolpackov1-4/+1
2015-06-22Remove prerequisite rewriting for c/cxx chainingBoris Kolpackov1-77/+40
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov1-1/+0
2015-06-18Move some utilities from build2 to libbutlBoris Kolpackov1-1/+1
2015-06-18Use optional from libbutlBoris Kolpackov1-0/+1
2015-06-18Move process from build2 to libbutlBoris Kolpackov1-1/+1
2015-06-18Make cxx.export.* machinery work for library chainsBoris Kolpackov1-9/+7
2015-06-17Link shared libraries with absolute pathBoris Kolpackov1-1/+9
2015-06-17Reserve enough space in "storage" vector to ensure no reallocationsBoris Kolpackov1-1/+6
2015-06-17Use c++0x and c++1y for compatibility with older compilersBoris Kolpackov1-2/+11
2015-06-17Use portable ifdstream from libbutl instead of GNU stdio_filebufBoris Kolpackov1-5/+3
2015-06-17Add libraries to "ok" prerequisites for synthesized object file targetsBoris Kolpackov1-2/+5
2015-05-22Get rid of gcc, clang warnings (-Wall)Boris Kolpackov1-3/+3
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-04-29Get rid of on-demand configuration for nowBoris Kolpackov1-43/+4
2015-04-28Second iteration over import/export supportBoris Kolpackov1-10/+77
2015-04-27Add support for specifying library link orderBoris Kolpackov1-30/+98
2015-04-26Cleanup cxx.link ruleBoris Kolpackov1-15/+1
2015-04-26Rework resolved prerequisite targets storageBoris Kolpackov1-145/+56
2015-04-24Take one on library linkingBoris Kolpackov1-30/+138
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov1-64/+149
2015-04-20Merge config.cxx.* variables into cxx.* when loading cxx moduleBoris Kolpackov1-14/+3
2015-04-20Automatically decide when to print relative/absolute pathsBoris Kolpackov1-3/+3
2015-04-17Improve diagnosticsBoris Kolpackov1-1/+2
2015-04-17Add support for target groups, use to handle obj/obja/objso object targetsBoris Kolpackov1-95/+148
2015-04-15New variables architectureBoris Kolpackov1-11/+1
Now operator[] is only used for lookup.
2015-04-15Initial library supportBoris Kolpackov1-36/+66
2015-04-13Add separate type to represent directory pathsBoris Kolpackov1-4/+4
2015-04-08Inherit list_value directly from namesBoris Kolpackov1-1/+1
2015-04-07Provide more convenient access to root scopeBoris Kolpackov1-26/+30
2015-04-01Implement initial C++ configuration supportBoris Kolpackov1-26/+108
2015-03-27Rework dependency state dump supportBoris Kolpackov1-4/+4
We now have a combined (scopes, variables, and targets) dump.
2015-03-25Configure/disfigure src_root saving/removing support; fsdir{} injectionBoris Kolpackov1-8/+19
We can now build out-of-tree.
2015-03-12Implement clean operationBoris Kolpackov1-21/+63
2015-03-10Further operation implementationBoris Kolpackov1-19/+19
2015-03-04Move roots and bases to appropriate scopesBoris Kolpackov1-6/+23
2015-03-02Clean up clang warningsBoris Kolpackov1-3/+3
2015-02-23Rename "select" to "apply"Boris Kolpackov1-3/+3
2015-02-23Redo rule match/build logicBoris Kolpackov1-148/+99
Now the rule is fully responsible for searching, matching, and building of prerequisites.
2015-02-20Rename 'directory' to 'dir' in target, prerequisiteBoris Kolpackov1-6/+6
2015-02-20Rework extension handling logicBoris Kolpackov1-0/+4
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-01-20Diagnostic infrastructure revampBoris Kolpackov1-42/+34
2015-01-16Implement rule chaining for cxx::linkBoris Kolpackov1-52/+159
2015-01-15Implement rule ambiguity detectionBoris Kolpackov1-2/+2
Also establish the infrastructure for rule hinting
2015-01-14Track file extension in target, prerequisiteBoris Kolpackov1-3/+24
2015-01-08Implement tracing supportBoris Kolpackov1-10/+46
Also use to-relative path translation in diagnostics.
2014-12-18Initial support for loading dependency info from buildfilesBoris Kolpackov1-33/+83
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