aboutsummaryrefslogtreecommitdiff
path: root/build/file.cxx
AgeCommit message (Collapse)AuthorFilesLines
2015-12-10Implement two-phase initialization of modules loaded from bootstrap.buildBoris Kolpackov1-4/+30
2015-12-02Implement optional module loadingBoris Kolpackov1-3/+2
The syntax is: using? cli Now each module use results in two bool variables: <module>.loaded and <module>.configured. Also implement variable visibility (the above two variables are limited to project).
2015-11-24Add missing #includeBoris Kolpackov1-0/+1
2015-11-24Account for dangling/inaccessible linksBoris Kolpackov1-1/+12
2015-09-11Check amalgamation itself when searching for imported projectBoris Kolpackov1-1/+10
2015-09-11Handle file io failures in parserBoris Kolpackov1-28/+29
2015-09-11Add support for unnamed projectsBoris Kolpackov1-4/+18
Sometimes (e.g., in bpkg configuration) we don't have a project name. In fact, it is not really a project; it can never be referenced in an import directive. So we now have a notion of an unnamed project. Such a project should still have the 'project' variable set first thing in bootstrap.build but its value should be empty. Note that we can still amalgamate such projects just liked named ones.
2015-09-09Add support for quoting directive namesBoris Kolpackov1-3/+3
Now only unquoted, literal names are recognized as directives, for example: 'print' = abc print $print
2015-09-08Rework diagnostics verbosity, add quiet mode/optionBoris Kolpackov1-10/+10
2015-09-04Fix clang warningsBoris Kolpackov1-1/+4
2015-08-31Rework scoping logicBoris Kolpackov1-12/+81
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-24New variable architectureBoris Kolpackov1-132/+109
2015-08-14Rework meta/operation registrationBoris Kolpackov1-9/+7
We now have global tables for meta/operation. Plus each can then be enabled on the per-project basis.
2015-07-20Implement support for importing installed librariesBoris Kolpackov1-1/+1
2015-07-15Implement project-qualified names/prerequisites, two-stage importBoris Kolpackov1-40/+55
2015-07-14Add notion of strong/weak amalgamation, make strong new clean boundaryBoris Kolpackov1-0/+10
2015-07-13Implement subproject importBoris Kolpackov1-30/+69
2015-07-13Make subprojects list of name=subdir pairsBoris Kolpackov1-29/+85
2015-07-10Implement automatic subproject discoveryBoris Kolpackov1-17/+229
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 Kolpackov1-9/+112
2015-07-07Relax requirement on amalgamation src_root to track sub-projectBoris Kolpackov1-23/+36
2015-06-18Move path and filesystem from build2 to libbutlBoris Kolpackov1-1/+3
2015-05-11Correct copyrightBoris Kolpackov1-1/+1
2015-04-29Update global scope config.import.* value to avoid warningBoris Kolpackov1-11/+15
2015-04-28Use config.import.* instead of config.* for importingBoris Kolpackov1-1/+1
2015-04-28Second iteration over import/export supportBoris Kolpackov1-12/+105
2015-04-24Implement lib/liba/libso{} target group, shared/static library buildBoris Kolpackov1-11/+7
2015-04-15New variables architectureBoris Kolpackov1-11/+11
Now operator[] is only used for lookup.
2015-04-13Add separate type to represent directory pathsBoris Kolpackov1-16/+16
2015-04-13Add initial import supportBoris Kolpackov1-2/+167
2015-04-07Initial support for amalgamation/subprojectsBoris Kolpackov1-4/+99
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-24Make meta-operations control build loop; add disfigure skeletonBoris Kolpackov1-0/+68