aboutsummaryrefslogtreecommitdiff
path: root/libbuild2
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2021-04-09 09:50:50 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2021-04-09 09:50:50 +0200
commit5e392c9141ffa4e864319fc5268ce96388085699 (patch)
tree6c5a1b64fdb4124bde910ad85deedee38487cdf7 /libbuild2
parente9f69e067da3e096e1e64be70ec2b6de30f71d2c (diff)
Document hermetic build configuration support
Diffstat (limited to 'libbuild2')
-rw-r--r--libbuild2/functions-builtin.cxx4
-rw-r--r--libbuild2/functions-process.cxx10
-rw-r--r--libbuild2/parser.cxx4
3 files changed, 18 insertions, 0 deletions
diff --git a/libbuild2/functions-builtin.cxx b/libbuild2/functions-builtin.cxx
index 4689ac2..2adff38 100644
--- a/libbuild2/functions-builtin.cxx
+++ b/libbuild2/functions-builtin.cxx
@@ -85,6 +85,10 @@ namespace build2
// Return NULL if the environment variable is not set, untyped value
// otherwise.
//
+ // Note that if the build result can be affected by the variable being
+ // queried, then it should be reported with the config.environment
+ // directive.
+ //
// Note that this function is not pure.
//
f.insert ("getenv", false) += [](names name)
diff --git a/libbuild2/functions-process.cxx b/libbuild2/functions-process.cxx
index 0870874..4be5149 100644
--- a/libbuild2/functions-process.cxx
+++ b/libbuild2/functions-process.cxx
@@ -414,6 +414,11 @@ namespace build2
//
// Run builtin or external program and return trimmed stdout.
//
+ // Note that if the result of executing the program can be affected by
+ // environment variables and this result can in turn affect the build
+ // result, then such variables should be reported with the
+ // config.environment directive.
+ //
// Note that this function is not pure.
//
f.insert (".run", false) += [](const scope* s, names args)
@@ -435,6 +440,11 @@ namespace build2
// (as a whole) against <pat> and, if successful, returned, optionally
// processed with <fmt>, as an element of a list.
//
+ // Note that if the result of executing the program can be affected by
+ // environment variables and this result can in turn affect the build
+ // result, then such variables should be reported with the
+ // config.environment directive.
+ //
// Note that this function is not pure.
//
{
diff --git a/libbuild2/parser.cxx b/libbuild2/parser.cxx
index 9022d5b..3b20a65 100644
--- a/libbuild2/parser.cxx
+++ b/libbuild2/parser.cxx
@@ -2139,6 +2139,10 @@ namespace build2
{
// run <name> [<arg>...]
//
+ // Note that if the result of executing the program can be affected by
+ // environment variables and this result can in turn affect the build
+ // result, then such variables should be reported with the
+ // config.environment directive.
// Parse the command line as names in the value mode to get variable
// expansion, etc.