Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-03-07 | Fix operation-specific variables logic for inner/outer operations | Boris Kolpackov | 2 | -9/+18 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 2 | -10/+29 | |
Note that the unmatch (match but do not update) and match (update during match) values are only supported by certain rules (and potentially only for certain prerequisite types). Additionally: - All operation-specific variables are now checked for false as an override for the prerequisite-specific include value. In particular, this can now be used to disable a prerequisite for update, for example: ./: exe{test}: update = false - The cc::link_rule now supports the update=match value for headers and ad hoc prerequisites. In particular, this can be used to make sure all the library headers are updated before matching any of its (or dependent's) object files. | |||||
2022-01-26 | Make bash module install into bin/<project>.bash/ to avoid clashes | Boris Kolpackov | 1 | -1/+0 | |
Also, expect the first component in the import path to be full project name even in case it has the .bash extension. | |||||
2021-12-16 | Pass context to (meta-)operation hooks | Boris Kolpackov | 1 | -3/+6 | |
2021-11-04 | Do not apply install scope to update-for-install pre-operation | Boris Kolpackov | 2 | -2/+6 | |
2021-10-07 | Allow forcing installation of exe{} prerequisites of file targets | Boris Kolpackov | 2 | -2/+12 | |
This can be achieved with prerequisite-specific install=true, for example: exe{foo}: exe{bar}: install = true # foo runs bar | |||||
2021-10-07 | Minor install-related cleanups | Boris Kolpackov | 2 | -2/+15 | |
2021-10-06 | Do not install exe{} prerequisites of file targets | Boris Kolpackov | 2 | -7/+18 | |
2021-09-29 | Add notion of bundle amalgamation scope | Boris Kolpackov | 2 | -0/+3 | |
2021-09-28 | Adapt to libbutl headers extension change from .mxx to .hxx | Karen Arutyunov | 2 | -2/+2 | |
2021-09-17 | Add fallback update-for-uninstall rule to global scope | Boris Kolpackov | 1 | -3/+6 | |
2021-09-14 | Fix few issues with new config.install.scope | Boris Kolpackov | 1 | -32/+31 | |
2021-09-14 | Consistently install prerequisites from any scope by default | Boris Kolpackov | 5 | -24/+111 | |
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-04 | Add config.install.root with data_root/etc/ default | Boris Kolpackov | 1 | -0/+2 | |
2021-04-22 | Add <version> install directory substitution in addition to <project> | Boris Kolpackov | 1 | -5/+20 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -0/+34 | |
2021-02-09 | Minor simplification | Boris Kolpackov | 1 | -2/+2 | |
2020-12-04 | Mark Buildfile functions as pure or impure | Boris Kolpackov | 1 | -1/+3 | |
2020-12-01 | Add clarifying comment | Boris Kolpackov | 1 | -2/+3 | |
2020-11-30 | Don't fail if unable to remove empty directory on uninstall | Boris Kolpackov | 1 | -3/+15 | |
2020-10-20 | Add operation callback for adhoc rule match and apply | Boris Kolpackov | 1 | -1/+7 | |
2020-08-25 | Add missing move() call | Boris Kolpackov | 1 | -1/+3 | |
2020-08-16 | Add ability to initialize bootstrapped modules after loading root.build | Boris Kolpackov | 1 | -3/+1 | |
2020-07-13 | Add ability to extend rule interface in source-compatible manner | Boris Kolpackov | 1 | -3/+3 | |
2020-07-10 | Tweak rule names | Boris Kolpackov | 1 | -1/+1 | |
2020-07-09 | Make sure update-for-{test,install} works for files out of any project | Boris Kolpackov | 1 | -0/+6 | |
2020-07-09 | Relax prerequisite filtering semantics of aliases in test and install rules | Boris Kolpackov | 2 | -4/+2 | |
2020-07-01 | Add support for private installations | Boris Kolpackov | 1 | -42/+109 | |
2020-07-01 | Use <project> substitution in install directories | Boris Kolpackov | 1 | -21/+24 | |
2020-06-30 | Add support for <var>-substitutions in config.install.* values | Boris Kolpackov | 1 | -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-29 | Add config.install.share variable | Boris Kolpackov | 1 | -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-29 | Add legal{} target type and config.install.legal variable | Boris Kolpackov | 1 | -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-25 | Add more instrumentation for unassigned path race | Boris Kolpackov | 1 | -2/+2 | |
2020-06-16 | Add $bin.link_member() function | Boris Kolpackov | 1 | -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-30 | Rename target::member to target::adhoc_member | Boris Kolpackov | 1 | -2/+6 | |
2020-03-31 | Use find instead of insert for variable lookup in install_{path,mode}() | Boris Kolpackov | 1 | -2/+4 | |
2020-03-31 | Switch to project variable visibility by default | Boris Kolpackov | 1 | -12/+6 | |
2020-03-20 | Don't install ad hoc members with nonexistent timestamp | Boris Kolpackov | 1 | -3/+3 | |
2020-03-20 | Don't install ad hoc members with unassigned paths | Boris Kolpackov | 1 | -8/+23 | |
2020-03-17 | Adapt install_l() to mkanylink() semantics change | Karen Arutyunov | 1 | -8/+1 | |
Now mkanylink() always interprets a relative target from the link directory. | |||||
2020-03-17 | Rework config::{omitted,required,optional}() into unified config_lookup() | Boris Kolpackov | 1 | -5/+9 | |
2020-02-07 | Drop copyright notice from source code | Karen Arutyunov | 8 | -8/+0 | |
2020-01-29 | Rename module_base to module, redo module boot/init argument passing | Boris Kolpackov | 2 | -17/+2 | |
2020-01-28 | Use scope::var_pool() | Boris Kolpackov | 2 | -19/+18 | |
2020-01-28 | Use scope::insert_rule() | Boris Kolpackov | 1 | -10/+8 | |
2019-11-04 | Add $config.export() function | Boris Kolpackov | 1 | -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-29 | Regularize and make accessible install/uninstall primitives | Boris Kolpackov | 2 | -36/+70 | |
2019-10-23 | Un-tune scheduler when building build system modules | Boris Kolpackov | 1 | -2/+2 | |
2019-08-28 | Add/update some module descriptions | Karen Arutyunov | 1 | -0/+6 | |
2019-08-26 | Add support for for_install prerequisite-specific var in link rule | Boris Kolpackov | 1 | -0/+1 | |
Also reserve for_test. |