aboutsummaryrefslogtreecommitdiff
path: root/build2/bin
AgeCommit message (Collapse)AuthorFilesLines
2019-07-05Remove dead code (libu{})Boris Kolpackov3-30/+0
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov1-4/+4
2019-07-04Remove libu{} target groupBoris Kolpackov3-38/+26
The semantics provided by libu{} is rarely required and as result was not yet documented. However, if you are using it, the new way to achieve the same result is to use both libue{} and libul{} explicitly, for example: exe{foo}: libue{foo} lib{foo}: libul{foo} {libue libul}{foo}: cxx{*}
2019-07-01Split build system into library and driverBoris Kolpackov8-20/+20
2019-06-24Constrain access to options to build system driver main() onlyBoris Kolpackov1-2/+2
2019-06-19Improve diagnosticsBoris Kolpackov1-13/+13
2019-06-03Adapt to renaming traits alias to traits_type for basic_path, basic_url, and ↵Karen Arutyunov1-4/+10
string_table class templates
2019-04-30Initial take on header unit and include translation supportBoris Kolpackov4-4/+133
2019-04-04Add ability to disable automatic rpath, support for custom rpath-linkBoris Kolpackov1-4/+43
Specifically, the new config.bin.rpath.auto variable can be used to disable automatic addition of prerequisite library rpaths, for example: $ b config.bin.rpath.auto=false Note that in this case rpath-link is still added where normally required and for targets that support it (Linux and *BSD). The new config.bin.rpath_link and config.bin.rpath_link.auto have the same semantics as config.bin.rpath* but for rpath-link.
2019-03-07Move bunch of root scope-only data members to root_extraBoris Kolpackov1-1/+1
2019-02-03Fix bug in bin moduleBoris Kolpackov1-1/+1
2019-01-16Update copyright yearKaren Arutyunov8-8/+8
2018-11-05Only search for external tools (compilers, linkers, etc) in PATHBoris Kolpackov1-4/+13
Specifically, omit the current executable's directory on Windows since there is no reason for them to be found there automagically and this can lead to surprising behavior (for example, our MinGW GCC being used instead of the user's even though the user's is in PATH before ours).
2018-11-02Fix typoBoris Kolpackov1-1/+1
2018-10-26Add config.{c,cxx}.{id,version,target} configuration variablesBoris Kolpackov2-10/+10
These variables allow overriding guessed compiler id/version/target, for example, in case of mis-guesses or when working with compilers that don't report their base (e.g., GCC, Clang) with -v/--version (common in the embedded space).
2018-10-19Suggest override variable (config.x) when tool is not foundBoris Kolpackov1-6/+41
2018-08-27Don't insist on install rules for non-file targetsBoris Kolpackov1-2/+2
This helps with (not) installing libu*{} groups.
2018-08-27Fix diagnostics bugBoris Kolpackov1-2/+1
2018-08-25Implement missing pieces in utility libraries supportBoris Kolpackov5-129/+228
In particular, we can now build static libraries out of utility libraries.
2018-08-14Use thin archives if available for utility librariesBoris Kolpackov3-34/+116
Thin archives are supported by GNU ar since binutils 2.19.1 and LLVM ar since LLVM 3.8.0.
2018-07-16Implement in moduleBoris Kolpackov2-3/+3
Given test.in containing something along these lines: foo = $foo$ Now we can do: using in file{test}: in{test.in} file{test}: foo = FOO The alternative variable substitution symbol can be specified with the in.symbol variable and lax (instead of the default strict) mode with in.substitution. For example: file{test}: in.symbol = '@' file{test}: in.substitution = lax
2018-06-12Add built-in support for Windows module definition files (.def)Boris Kolpackov3-0/+35
2018-05-19Update copyright yearKaren Arutyunov8-8/+8
2018-02-22Fortify GNU binutils detection against vendor customizationsBoris Kolpackov1-11/+16
2018-02-14Don't ignore objX{} and bmiX{} prerequisites in cc::link_ruleBoris Kolpackov2-16/+60
2018-02-07Initial work for default update outer operationBoris Kolpackov2-0/+4
While update still uses the old "all update rules update all their prerequisites" assumption, test and install have been fixed not to rely on this.
2018-02-03Get rid of action rule override semanticsBoris Kolpackov5-29/+35
Instead we now have two more or less separate match states for outer and inner parts of an action.
2017-12-16Improve process execution diagnostics by reusing run_*() APIBoris Kolpackov2-10/+11
2017-12-07Distinguish between "fixed" and "default" target extensionsBoris Kolpackov1-47/+53
This fixes wrong merging of, say, file{README} and file{README.MySQL} (in libmysqlclient).
2017-12-04Improve cc/bin target mismatch diagnosticsBoris Kolpackov1-1/+1
2017-08-04Add extracted from pkg-config prerequisite libraries as prerequisitesBoris Kolpackov2-3/+7
2017-08-01Reimplement pkg-config generation with more conservative approach for nowBoris Kolpackov1-2/+10
2017-07-31Experimental (and probably broken) pkg-config generation supportBoris Kolpackov1-10/+2
2017-07-28Implement support for linking whole archiveBoris Kolpackov1-0/+18
2017-07-27Initial infrastructure for utility librariesBoris Kolpackov5-48/+173
2017-05-31C++ modules work: add target typesBoris Kolpackov5-49/+182
2017-05-01Add hxx extension for headersKaren Arutyunov8-45/+45
2017-04-27Pass target to prerequisite searchBoris Kolpackov2-10/+10
2017-03-10Implement support for wildcard patternsBoris Kolpackov1-0/+8
2017-03-04Only set install variables if install module has been loadedBoris Kolpackov1-23/+30
While generally a good idea, failing to do this trips up our load generation protection.
2017-03-02Implement parallel matchBoris Kolpackov4-158/+95
2017-02-14Redo library meta-information protocol without match_only()Boris Kolpackov1-2/+0
2017-02-14Modify library mate-information protocol not to use lib{} groupBoris Kolpackov3-39/+11
2017-02-13Tighten target constness furtherBoris Kolpackov1-5/+9
2017-02-13Implement parallel operation executionBoris Kolpackov1-15/+2
2017-02-13Use target:as<> instead of static_cast for target castingBoris Kolpackov1-3/+3
2017-02-13Pass const target& to recipesBoris Kolpackov3-13/+13
2017-02-13Implement target_set locking, including extension updateBoris Kolpackov1-2/+2
2017-02-13Store extension in target map key rather than in targetBoris Kolpackov1-21/+21
This is in preparation for locking its modification/access.
2017-02-13Add bin.vars moduleBoris Kolpackov2-71/+97
Use in cc to make sure hint variables are already registered.