aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
AgeCommit message (Collapse)AuthorFilesLines
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-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 Kolpackov1-4/+6
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 Kolpackov4-11/+41
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 Kolpackov1-1/+1
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-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-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-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 Arutyunov9-23/+430
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 Kolpackov1-0/+1
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-12Make order of imports stable in saved host build configurationBoris Kolpackov9-5/+21
2020-06-11Diagnose use of ad hoc C++ recipes with bootstrap build systemBoris Kolpackov1-1/+5
2020-06-10Fix bootstrap buildBoris Kolpackov1-0/+4
2020-06-10Reorder inline function definitions to help MinGW GCCBoris Kolpackov1-7/+7
2020-06-10Add ad hoc recipe if-else, switch tests (and fix bug)Boris Kolpackov1-4/+10
2020-06-10Handle special variable names when spelled as $(<char>) rather than $<char>Boris Kolpackov5-6/+69
2020-06-10Handle special variable names in base lexer via mode dataBoris Kolpackov7-62/+52
2020-06-10Fix bug in subscript of NULL valuesBoris Kolpackov1-1/+3
2020-06-09Make importation of unqualified targets illegalBoris Kolpackov2-6/+13
2020-06-09Drop unused lambdaBoris Kolpackov1-13/+0
2020-06-09Handle empty target_key value (directory) in as_name()Boris Kolpackov1-4/+10
2020-06-09Move C++ modules sidebuild to build/cc/build/modules/ subdirectoryBoris Kolpackov4-13/+26
2020-06-09Move recipe build directory to build/build/recipes/Boris Kolpackov4-15/+27
Our new scheme is to have any "out" content in a subdirectory called build/ (build/build/ for the build system core, build/<module>/build/ for modules). This way we can ignore them in .gitignore with a generic entry.
2020-06-09Factor ad hoc C++ and Buildscript rules into separate filesBoris Kolpackov7-1331/+1399
2020-06-09Make metadata variable prefix mandatoryBoris Kolpackov5-39/+20
While we could automatically set it if the target is imported, there is nothing we can do if the target is used in the same project. So to avoid confusion we make it mandatory.
2020-06-08Cleanup script command failure diagnosticsKaren Arutyunov3-18/+23