Pass all the environment variable to Bazel during bootstrapping
We might be using more environment variables that the actual list.
To be cherry-picked for #2692.
Fixes #2953.
Change-Id: I9b926d48e14b2c65822770ab46f6507a5303c3d3
PiperOrigin-RevId: 155387369
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index eec6123..fa40f3a 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -325,35 +325,9 @@
local command=$1
shift
local client_env=()
- # Propagate important environment variables to bootstrapped Bazel.
- local env_vars="ABI_LIBC_VERSION"
- env_vars="$env_vars ABI_VERSION"
- env_vars="$env_vars BAZEL_COMPILER "
- env_vars="$env_vars BAZEL_HOST_SYSTEM"
- env_vars="$env_vars BAZEL_PYTHON"
- env_vars="$env_vars BAZEL_SH"
- env_vars="$env_vars BAZEL_TARGET_CPU"
- env_vars="$env_vars BAZEL_TARGET_LIBC"
- env_vars="$env_vars BAZEL_TARGET_SYSTEM"
- env_vars="$env_vars BAZEL_VC"
- env_vars="$env_vars BAZEL_VS"
- env_vars="$env_vars CC"
- env_vars="$env_vars CC_TOOLCHAIN_NAME"
- env_vars="$env_vars CPLUS_INCLUDE_PATH"
- env_vars="$env_vars CUDA_COMPUTE_CAPABILITIES"
- env_vars="$env_vars CUDA_PATH"
- env_vars="$env_vars HOMEBREW_RUBY_PATH"
- env_vars="$env_vars INCLUDE"
- env_vars="$env_vars LIB"
- env_vars="$env_vars NO_WHOLE_ARCHIVE_OPTION"
- env_vars="$env_vars PATH"
- env_vars="$env_vars SYSTEMROOT"
- env_vars="$env_vars TMP"
- env_vars="$env_vars VS90COMNTOOLS"
- env_vars="$env_vars VS100COMNTOOLS"
- env_vars="$env_vars VS110COMNTOOLS"
- env_vars="$env_vars VS120COMNTOOLS"
- env_vars="$env_vars VS140COMNTOOLS"
+ # Propagate all environment variables to bootstrapped Bazel.
+ # See https://stackoverflow.com/41898503/loop-over-environment-variables-in-posix.sh
+ local env_vars="$(awk 'END { for (name in ENVIRON) { if(name != "_") print name; } }' </dev/null)"
for varname in $env_vars; do
eval value=\$$varname
if [ "${value}" ]; then