aboutsummaryrefslogtreecommitdiff
path: root/build2/bin/init.cxx
AgeCommit message (Collapse)AuthorFilesLines
2019-08-22Targets, scopes, varsBoris Kolpackov1-6/+6
2019-08-15Add support for bin.lib.load_suffixBoris Kolpackov1-2/+5
This allow the creation of yet another symlink to the shared library that is meant to be used for dynamic loading. For example, we may want to embed the main program interface number into its plugins to make sure that we only load compatible versions.
2019-07-05Remove dead code (libu{})Boris Kolpackov1-3/+0
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov1-4/+4
2019-07-04Remove libu{} target groupBoris Kolpackov1-3/+2
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 Kolpackov1-3/+3
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 Kolpackov1-0/+8
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 Arutyunov1-1/+1
2018-10-26Add config.{c,cxx}.{id,version,target} configuration variablesBoris Kolpackov1-1/+1
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-08-27Don't insist on install rules for non-file targetsBoris Kolpackov1-2/+2
This helps with (not) installing libu*{} groups.
2018-08-25Implement missing pieces in utility libraries supportBoris Kolpackov1-90/+99
In particular, we can now build static libraries out of utility libraries.
2018-08-14Use thin archives if available for utility librariesBoris Kolpackov1-5/+29
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 Kolpackov1-1/+1
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 Kolpackov1-0/+6
2018-05-19Update copyright yearKaren Arutyunov1-1/+1
2018-02-07Initial work for default update outer operationBoris Kolpackov1-0/+2
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 Kolpackov1-7/+18
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 Kolpackov1-1/+2
2017-12-04Improve cc/bin target mismatch diagnosticsBoris Kolpackov1-1/+1
2017-07-28Implement support for linking whole archiveBoris Kolpackov1-0/+18
2017-07-27Initial infrastructure for utility librariesBoris Kolpackov1-9/+18
2017-05-31C++ modules work: add target typesBoris Kolpackov1-0/+9
2017-05-01Add hxx extension for headersKaren Arutyunov1-9/+9
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-02-13Add bin.vars moduleBoris Kolpackov1-71/+88
Use in cc to make sure hint variables are already registered.
2017-02-13Add model mutex, make var_pool const by defaultBoris Kolpackov1-17/+17
2017-01-23Make rules const throughoutBoris Kolpackov1-2/+2
2017-01-12Implement support for narrowing down tests (config.test)Boris Kolpackov1-23/+23
2017-01-09Make use of operator<<(ostream, exception)Karen Arutyunov1-2/+1
2017-01-06Store platform targets as typed target_tripletBoris Kolpackov1-14/+16
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-16Move exe{} to build2 core, add fallback extensions (existing files)Boris Kolpackov1-3/+0
2016-11-04Various design/implementation cleanupsBoris Kolpackov1-2/+2
2016-08-30Add support for target visibility, use for dist, test, installBoris Kolpackov1-2/+1
This means we can no longer write: install = false Now it should be: *: install = false
2016-08-30Remove backwards-compatibility kludgesBoris Kolpackov1-3/+0
2016-08-29Implement initial support for library versioningBoris Kolpackov1-0/+6
Currently we only support platform-independent versions that get appended to the library name. The magic incantation is this: lib{foo}: bin.lib.version = @-1.2 This will produce libfoo-1.2.so, libfoo-1.2.dll, etc. In the future we will support things like this: lib{foo}: bin.lib.version = linux@1.2.3 freebsd@1.2 windows@1.2
2016-08-26Add pkg-config support for import installedBoris Kolpackov1-2/+2
Redesign library importing/exporting while at it.
2016-08-22Cache process_path, use fallback search directory for binutilsBoris Kolpackov1-27/+56
2016-08-19Implement uninstall operationBoris Kolpackov1-0/+1
2016-08-17Add config.bin.{prefix,suffix} convenience valuesBoris Kolpackov1-8/+18
These can be used to specify for both lib and exe.
2016-08-17Add support for config.bin.{lib,exe}.{prefix,suffix}Boris Kolpackov1-13/+33
This replaces the bin.libprefix functionality.
2016-08-12Rename module to initBoris Kolpackov1-0/+714