aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/install
AgeCommit message (Collapse)AuthorFilesLines
2021-09-13Consistently install prerequisites from any scope by defaultinstall-scopeBoris Kolpackov3-23/+47
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
2021-02-09Minor simplificationBoris Kolpackov1-2/+2
2020-12-04Mark Buildfile functions as pure or impureBoris Kolpackov1-1/+3
2020-12-01Add clarifying commentBoris Kolpackov1-2/+3
2020-11-30Don't fail if unable to remove empty directory on uninstallBoris Kolpackov1-3/+15
2020-10-20Add operation callback for adhoc rule match and applyBoris Kolpackov1-1/+7
2020-08-25Add missing move() callBoris Kolpackov1-1/+3
2020-08-16Add ability to initialize bootstrapped modules after loading root.buildBoris Kolpackov1-3/+1
2020-07-13Add ability to extend rule interface in source-compatible mannerBoris Kolpackov1-3/+3
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-09Relax prerequisite filtering semantics of aliases in test and install rulesBoris Kolpackov2-4/+2
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-06-25Add more instrumentation for unassigned path raceBoris Kolpackov1-2/+2
2020-06-16Add $bin.link_member() functionBoris Kolpackov1-2/+0
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-04-30Rename target::member to target::adhoc_memberBoris Kolpackov1-2/+6
2020-03-31Use find instead of insert for variable lookup in install_{path,mode}()Boris Kolpackov1-2/+4
2020-03-31Switch to project variable visibility by defaultBoris Kolpackov1-12/+6
2020-03-20Don't install ad hoc members with nonexistent timestampBoris Kolpackov1-3/+3
2020-03-20Don't install ad hoc members with unassigned pathsBoris Kolpackov1-8/+23
2020-03-17Adapt install_l() to mkanylink() semantics changeKaren Arutyunov1-8/+1
Now mkanylink() always interprets a relative target from the link directory.
2020-03-17Rework config::{omitted,required,optional}() into unified config_lookup()Boris Kolpackov1-5/+9
2020-02-07Drop copyright notice from source codeKaren Arutyunov8-8/+0
2020-01-29Rename module_base to module, redo module boot/init argument passingBoris Kolpackov2-17/+2
2020-01-28Use scope::var_pool()Boris Kolpackov2-19/+18
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-10-29Regularize and make accessible install/uninstall primitivesBoris Kolpackov2-36/+70
2019-10-23Un-tune scheduler when building build system modulesBoris Kolpackov1-2/+2
2019-08-28Add/update some module descriptionsKaren Arutyunov1-0/+6
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 Kolpackov5-20/+31
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-08-21Cleanup context.hxx and its usageBoris Kolpackov1-0/+1
2019-08-15Redo Windows implementation of install_l() to use uninstall_f()Boris Kolpackov2-56/+62
2019-08-15Fix bug in Windows implementation of install_l()Boris Kolpackov1-3/+3
2019-08-15Fix bug in mkanylink() usageBoris Kolpackov1-1/+9
2019-08-15Implement libs_paths symlinking support on WindowsBoris Kolpackov1-3/+41
Also, temporarily enable libs_paths::link on Windows for testing.
2019-07-24Move in build system module to separate libraryBoris Kolpackov2-3/+9
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov8-0/+1983