aboutsummaryrefslogtreecommitdiff
path: root/build
AgeCommit message (Collapse)AuthorFilesLines
2015-07-21Be quiet when running pre/post operationsBoris Kolpackov1-2/+8
2015-07-21Improve nested operations supportBoris Kolpackov7-87/+124
The idea is this: we need to be able to override "conditional, inner for outer" recipes with the "unconditional inner" ones. Here is the concrete scenario: we have {update, test} action and the lib{} target that is both mentioned as a prerequisite of ./ and exe{}, which is a test. At first, we want to ignore lib{} when reached as a prerequisite of ./. But then we get to it via exe{} (which is a test and thus should be updated). At this point we should override the recipe for lib{} with the one that would update it rather than ignore.
2015-07-21Add alias{} target type, use as base for dir{}Boris Kolpackov5-16/+40
2015-07-20Implement pre/post operation supportBoris Kolpackov7-88/+283
Also, extend execution mode/postponed logic to propagate the postponed target state. At the top, we now re-try postponed targets. This results in the expected behavior when, for example, cleaning two targets with one depending on the other.
2015-07-20Remove tracesBoris Kolpackov1-4/+0
2015-07-20Implement support for importing installed librariesBoris Kolpackov13-617/+1093
2015-07-15Implement project-qualified names/prerequisites, two-stage importBoris Kolpackov22-107/+304
2015-07-14Fix postfix operator++/-- implementationsBoris Kolpackov1-3/+3
2015-07-14Add notion of strong/weak amalgamation, make strong new clean boundaryBoris Kolpackov9-44/+88
2015-07-13Implement subproject importBoris Kolpackov4-35/+87
2015-07-13Make subprojects list of name=subdir pairsBoris Kolpackov6-38/+104
2015-07-13Add support for pair-enabled variablesBoris Kolpackov5-24/+29
2015-07-12Add more diagnosticsBoris Kolpackov1-1/+10
2015-07-10Implement automatic subproject discoveryBoris Kolpackov9-26/+327
Currently we only capture their directories without the project names. We will need project names when we hook import search into this.
2015-07-08Implement automatic amalgamation discoveryBoris Kolpackov9-82/+165
2015-07-07Relax requirement on amalgamation src_root to track sub-projectBoris Kolpackov3-56/+69
2015-07-07Rework module architectureBoris Kolpackov26-442/+671
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-07-06Add note on cli module implementationBoris Kolpackov1-0/+1
2015-07-02Common types cleanup (strings, cstrings)Boris Kolpackov5-16/+19
2015-07-02Various improvements to cli moduleBoris Kolpackov6-53/+72
2015-07-02Make few existing file searching optimizationsBoris Kolpackov2-3/+20
2015-07-01Get rid of accessors/modifiers in cli.cxx targetBoris Kolpackov3-35/+40
2015-07-01Clean up group state, mtime designBoris Kolpackov10-86/+124
2015-07-01Group state supportBoris Kolpackov8-56/+93
2015-07-01Cleanup group "see through" designBoris Kolpackov15-316/+350
2015-06-30Group "see through" iteration, take 1Boris Kolpackov18-147/+557
2015-06-26Part two of dependency injection with auto-generation supportBoris Kolpackov10-237/+398
2015-06-25Part one of dependency injection with auto-generation supportBoris Kolpackov7-46/+245
2015-06-24Implement proper target type detection in dependency injectionBoris Kolpackov3-8/+69
2015-06-24First take on the cli module plus necessary infrastructureBoris Kolpackov28-163/+1045
2015-06-22Remove prerequisite rewriting from c/c++ dependency injection codeBoris Kolpackov1-14/+4
2015-06-22Remove prerequisite rewriting from inject_parent_fsdir()Boris Kolpackov3-24/+7
2015-06-22Remove prerequisite rewriting for c/cxx chainingBoris Kolpackov7-93/+98
2015-06-18Add headers to buildfiles, move tests/build/ to tests/Boris Kolpackov3-0/+12
2015-06-18Move path_mtime to filesystem, rename file_mtime, follow symlinksBoris Kolpackov3-8/+15
2015-06-18Add char-scanner to libbutl, use in libbpkg and build2Boris Kolpackov2-129/+14
2015-06-18Move string-table from build2 to libbutlBoris Kolpackov3-126/+13
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov43-1627/+93
2015-06-18Move map-key from build2 to libbutl, rename multi-indexBoris Kolpackov3-64/+5
2015-06-18Move prefix-map from build2 to libbutlBoris Kolpackov5-213/+41
2015-06-18Move some utilities from build2 to libbutlBoris Kolpackov4-63/+12
2015-06-18Use optional from libbutlBoris Kolpackov2-29/+1
2015-06-18Move process from build2 to libbutlBoris Kolpackov6-398/+4
2015-06-18Make cxx.export.* machinery work for library chainsBoris Kolpackov2-9/+23
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 Kolpackov3-11/+9
2015-06-17Add libraries to "ok" prerequisites for synthesized object file targetsBoris Kolpackov1-2/+5
2015-05-25Store pointer to map key rather than iteratorBoris Kolpackov2-6/+4
Clang's libc++ complains about a map iterator instantiation that has an incomplete value. At the same time, it appears that references (and thus pointers) to map elements are also stable.