aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/install/init.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-04-04Remove global override restriction from config.install.filterBoris Kolpackov1-86/+81
2023-04-04Add support for installation filtering (GH issue #147)Boris Kolpackov1-2/+74
2023-03-29Specify potential future extensions to install manifest formatBoris Kolpackov1-0/+3
2023-03-23Add support for relocatable installation manifestBoris Kolpackov1-1/+9
2023-03-22Initial work on relocatable install: config.install.relocatable and rpathBoris Kolpackov1-2/+23
2023-03-07Add new include_arch/config.install.include_arch installation locationBoris Kolpackov1-35/+37
It is mean for target architecture-specific headers.
2023-03-01Add support for installation manifestBoris Kolpackov1-0/+85
2023-02-22Set explicit 755 install mode for exe{} targetsBoris Kolpackov1-0/+5
This helps cases where an executable gets installed somewhere else where the default is not 755 (for example to libexec/, which on Debian has the 644 mode).
2022-10-13Optimize by going straight to public variable pool where applicableBoris Kolpackov1-12/+15
2022-10-13Switch to public/private variables modelBoris Kolpackov1-10/+18
Now unqualified variables are project-private and can be typified.
2022-04-06Add support for rule hintsBoris Kolpackov1-7/+6
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match.
2022-03-21Make sure install group rule take precedence over fallback file ruleBoris Kolpackov1-2/+8
2021-09-29Add notion of bundle amalgamation scopeBoris Kolpackov1-0/+1
2021-09-28Adapt to libbutl headers extension change from .mxx to .hxxKaren Arutyunov1-1/+1
2021-09-17Add fallback update-for-uninstall rule to global scopeBoris Kolpackov1-3/+6
2021-09-14Fix few issues with new config.install.scopeBoris Kolpackov1-32/+31
2021-09-14Consistently install prerequisites from any scope by defaultBoris Kolpackov1-0/+31
It is also now possible to adjust this behavior with global config.install.scope override. Valid values for this variable are: project -- only from project strong -- from strong amalgamation weak -- from weak amalgamation global -- from all projects (default)
2021-05-04Add config.install.root with data_root/etc/ defaultBoris Kolpackov1-0/+2
2021-04-22Add <version> install directory substitution in addition to <project>Boris Kolpackov1-5/+20
2021-04-07Register environment variables for hermetic build configurationsBoris Kolpackov1-0/+34
2020-08-16Add ability to initialize bootstrapped modules after loading root.buildBoris Kolpackov1-3/+1
2020-07-10Tweak rule namesBoris Kolpackov1-1/+1
2020-07-09Make sure update-for-{test,install} works for files out of any projectBoris Kolpackov1-0/+6
2020-07-01Add support for private installationsBoris Kolpackov1-42/+109
2020-07-01Use <project> substitution in install directoriesBoris Kolpackov1-21/+24
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 Kolpackov1-10/+14
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-03-31Switch to project variable visibility by defaultBoris Kolpackov1-12/+6
2020-03-17Rework config::{omitted,required,optional}() into unified config_lookup()Boris Kolpackov1-5/+9
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2020-01-29Rename module_base to module, redo module boot/init argument passingBoris Kolpackov1-5/+2
2020-01-28Use scope::var_pool()Boris Kolpackov1-17/+16
2020-01-28Use scope::insert_rule()Boris Kolpackov1-10/+8
2019-11-04Add $config.export() functionBoris Kolpackov1-4/+3
This is similar to the config.export variable functionality except it can be called from within buildfiles. Note that this function can only be used during configure unless the config module creation was forced for other meta-operations with config.module=true in bootstrap.build.
2019-08-26Add support for for_install prerequisite-specific var in link ruleBoris Kolpackov1-0/+1
Also reserve for_test.
2019-08-23Introduce notion of build contextBoris Kolpackov1-7/+10
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
2019-07-24Move in build system module to separate libraryBoris Kolpackov1-2/+8
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov1-0/+309