aboutsummaryrefslogtreecommitdiff
path: root/build2/types
AgeCommit message (Collapse)AuthorFilesLines
2016-12-09Initial parallel scheduler implementation, use to run testscripsBoris Kolpackov1-0/+2
2016-11-22Use diagnostics facility from libbutlBoris Kolpackov1-8/+17
2016-11-21Add support for derived-to-base function overload resolutionBoris Kolpackov1-1/+3
2016-11-15Add cat, false and true builtinsKaren Arutyunov1-0/+3
2016-11-04Adopt to auto_fd introduced to libbutl fdstreams and processKaren Arutyunov1-0/+1
2016-09-15Add io_error alias for std::ios_base::failureKaren Arutyunov1-1/+2
2016-08-23Don't complete empty abs_dir_pathBoris Kolpackov1-1/+2
The empty value is used as a special indicator
2016-08-22Cache process_path, use fallback search directory for binutilsBoris Kolpackov1-0/+4
2016-08-12Add support for ordering modules in config.buildBoris Kolpackov1-1/+1
2016-07-30Actualize project root directoriesBoris Kolpackov1-0/+2
This solves the problem of changing path spelling on platforms with case- insensitive filesystems. For example, you may build a project in the current working directory without specifying any paths. This means the current working directory will be used as the project's root. On Windows this could be C:\x. Now you are building another project that imports the above project and you specify config.import.x variable pointing to the above build. But you are lazy to type capital C so you spell it as config.import.x=c:\x. What happens now is the value from config.import.x is used as the project root. And now it is a different spelling compared to your original build. This is not a problem when the build system itself is concerned -- it is smart enough to use case-insensitive comparison. However, we often use roots to derive other things, say, -I options that we pass to compilers. And these options are normally no longer treated as (case-insensitive) paths. If they are hashed and the result stored in depdb, then we end up with rebuilds that are triggered by changes from C:\ to c:\.
2016-07-28Adjust to new path implementation, use to support reversibilityBoris Kolpackov1-5/+2
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov1-0/+2
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac }
2016-07-08Implement limited rpath emulation for WindowsBoris Kolpackov1-0/+1
2016-06-17Initial take on DLL support for MinGW toolchainBoris Kolpackov1-5/+9
2016-04-09Add abs_dir_path type, auto-complete if initialized from namesBoris Kolpackov1-1/+17
2016-03-28New variable architectureBoris Kolpackov1-5/+6
2016-03-11Implement --config-{guess,sub} optionsBoris Kolpackov1-0/+11
2016-02-29Implement auxiliary dependency database (.d files), use in cxx.compileBoris Kolpackov1-0/+5
This is part of the "High Fidelity Build" work.
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-9/+44
2016-01-23Cleanup absolute/relative path diagnostics by introducing stream verbosityBoris Kolpackov1-1/+12
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+55