aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-02Use consistent style when referencing modules in manualBoris Kolpackov1-12/+13
2020-07-02Document private installation subdirectory mechanismBoris Kolpackov1-5/+76
A private installation subdirectory can be used to hide the implementation details of a project. This is primarily useful when installing an executable that depends on a bunch of libraries into a shared location, such as /usr/local/.
2020-07-02Optimize variable extraction in bootstrap_src()Boris Kolpackov3-79/+69
2020-07-02Cache project name in root_extraBoris Kolpackov5-19/+55
2020-07-01Add support for private installationsBoris Kolpackov1-42/+109
2020-07-01Fix bug in *.export.imp_libs logicBoris Kolpackov2-3/+3
2020-07-01Add additional diagnostics for unassigned path (GitHub issue #89)Boris Kolpackov1-6/+10
2020-07-01Add additional diagnostics for disappearing header (GitHub issue #80)Boris Kolpackov1-0/+16
2020-07-01Use <project> substitution in install directoriesBoris Kolpackov1-21/+24
2020-07-01Use legal{} target type for legal documentation (LICENSE, AUTHORS, etc)Boris Kolpackov1-1/+1
2020-07-01Add *.export.imp_libs to get rid of dual *.export.libs semanticsBoris Kolpackov5-36/+42
2020-06-30Add support for <var>-substitutions in config.install.* valuesBoris Kolpackov1-8/+66
For now, the only recognized variable name is <project> which is substituted with the project name. This can be used along these lines: $ b config.install.libexec='exec_root/lib/<project>/' install
2020-06-29Add config.install.share variableBoris Kolpackov2-7/+10
Its default value is data_root/share/ and it is now used as a common root for config.install.{data,doc,man} variables.
2020-06-29Add legal{} target type and config.install.legal variableBoris Kolpackov5-11/+42
This allows separation of legal files (LICENSE, AUTHORS, etc) from other documentation. For example: ./: ... doc{README} legal{LICENSE} $ b install ... config.install.legal=/usr/share/licenses/hello/
2020-06-29Use buildfile{} instead of build{} for target typeBoris Kolpackov2-2/+2
This feels like an oversight from transitioning to full names, like testscript{}, etc.
2020-06-26Drop workarounds for script::redirect struct compile errorsKaren Arutyunov2-58/+4
Thanks to the butl::optional improvement to better deal with lack of copy/move constructors.
2020-06-26Handle #import in MSVC /showIncludes outputBoris Kolpackov2-13/+44
2020-06-26Minor terminology fix in commentsBoris Kolpackov2-4/+3
2020-06-26Fix race in library metadata protocolBoris Kolpackov3-5/+6
Specifically, we need to check whether the prerequisite_member is ad hoc before checking whether it is NULL because ad hoc ones are blanked out (set to NULL) during execute.
2020-06-26Add note to manualBoris Kolpackov1-4/+21
2020-06-25Fix warningBoris Kolpackov1-1/+1
2020-06-25Add more instrumentation for unassigned path raceBoris Kolpackov5-25/+64
2020-06-25Eliminate phase unlock for case where we are not going to waitBoris Kolpackov1-2/+6
2020-06-24Stop forcing modules support in testsBoris Kolpackov1-15/+0
2020-06-24Fix trace and clarify commentsBoris Kolpackov2-9/+15
2020-06-22Disable Clang C++20 modules support unless explicitly forcedBoris Kolpackov1-5/+11
2020-06-22Try to detect and warn about the ccache compiler wrapperBoris Kolpackov1-4/+24
2020-06-22Add version mapping for Apple Clang 11.0.3Boris Kolpackov2-17/+22
2020-06-20Fix assertion failure for unbound 'end' in testscriptKaren Arutyunov3-8/+36
Issue #83.
2020-06-19Adapt mv builtin tests to terminology changeKaren Arutyunov1-1/+1
2020-06-19Raise libcpp version in regex-related check to 10.0Karen Arutyunov1-1/+1
2020-06-19Get rid of unnecessary copyBoris Kolpackov1-1/+1
2020-06-19Fix lexer to fail on invalid UTF-8 sequencesKaren Arutyunov4-0/+96
2020-06-18Complete NetBSD compatibilityBoris Kolpackov6-5/+15
2020-06-18Add NetBSD compatibilitymagenbluten2-4/+4
2020-06-18Add env script pseudo-builtinKaren Arutyunov14-167/+618
Also disable C++ recipe tests when cross-testing.
2020-06-18Fix build2::script::parser::[reset_]quoted() to consider peeked token in ↵Karen Arutyunov1-2/+3
replay mode
2020-06-18Fix untracked variable check in buildscript parserKaren Arutyunov1-1/+1
2020-06-18Delay checking for ad hoc C++ recipe support until matchBoris Kolpackov2-9/+20
2020-06-16Add metadata for exe{b}, including whether it is statically-linkedBoris Kolpackov10-15/+100
Use this information to omit ad hoc C++ recipe tests is testing statically- linked build system.
2020-06-16Add $bin.link_member() functionBoris Kolpackov6-34/+138
Given a linker output target type ("exe", "lib[as]", or "libu[eas]") return the target type of lib{} group member ("liba" or "libs") that will be picked when linking a lib{} group to this target type.
2020-06-16Move common functionality from cc to binBoris Kolpackov11-226/+283
2020-06-15Diagnose building of module or ad hoc C++ recipe using static build systemBoris Kolpackov3-16/+38
2020-06-12Add standard Microsoft warning "disclaimer" to ad hoc C++ recipe projectsBoris Kolpackov1-0/+6
2020-06-12Fix invalid regex in C++ recipe testsBoris Kolpackov1-2/+2
2020-06-12Make order of imports stable in saved host build configurationBoris Kolpackov11-6/+30
2020-06-11Add date builtin description to Testscript manualKaren Arutyunov1-0/+29
2020-06-11Diagnose use of ad hoc C++ recipes with bootstrap build systemBoris Kolpackov1-1/+5
2020-06-11Add tests for ad hoc C++ recipesBoris Kolpackov3-9/+168
2020-06-11Fix bug in Testscript manualBoris Kolpackov1-1/+1