aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-05-06 12:01:52 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-05-06 12:08:35 +0000
commit5e6218ea4e83a7fadfe54c35488781da550ce13e (patch)
treec47e46bbd5a7b72f4ad4e2f72781340f1ea9f731
parentcda4b4eae0c495a8f90f2a70a8db46e34062ee26 (diff)
*** Reason for rollback *** The sandbox fix did not fix. More work is needed. Fixes #1239 *** Original change description *** Automated [] rollback of commit b4549fe8dfb29f87fd37b38bf21a5b4bef818b12. *** Reason for rollback *** Rollforward with fixes: - Quote single-quote in the environment exports - Exclude the following environment variables: _ and dotted names - Add the wrapper to the dependency of the crosstool chain so it gets shipped to the sandbox. Hopefully after that we can cut a new release and have a homebrew package again #1177. *** Original change description *** Automated [] rollback of commit f1f24fc4b5aa83b7a4b872ec8f1c3a369799c081. *** Reason... *** -- MOS_MIGRATED_REVID=121665313
-rw-r--r--tools/cpp/BUILD.tpl9
-rw-r--r--tools/cpp/cc_configure.bzl27
-rw-r--r--tools/cpp/linux_cc_wrapper.sh.tpl25
-rw-r--r--tools/cpp/osx_cc_wrapper.sh.tpl3
4 files changed, 9 insertions, 55 deletions
diff --git a/tools/cpp/BUILD.tpl b/tools/cpp/BUILD.tpl
index a67d0495e0..036c7ec85c 100644
--- a/tools/cpp/BUILD.tpl
+++ b/tools/cpp/BUILD.tpl
@@ -13,11 +13,6 @@ filegroup(
srcs = [],
)
-filegroup(
- name = "cc_wrapper",
- srcs = ["cc_wrapper.sh"],
-)
-
# This is the entry point for --crosstool_top. Toolchains are found
# by lopping off the name of --crosstool_top and searching for
# the "${CPU}" entry in the toolchains attribute.
@@ -32,11 +27,11 @@ cc_toolchain_suite(
cc_toolchain(
name = "cc-compiler-%{name}",
all_files = ":empty",
- compiler_files = ":cc_wrapper",
+ compiler_files = ":empty",
cpu = "local",
dwp_files = ":empty",
dynamic_runtime_libs = [":empty"],
- linker_files = ":cc_wrapper",
+ linker_files = ":empty",
objcopy_files = ":empty",
static_runtime_libs = [":empty"],
strip_files = ":empty",
diff --git a/tools/cpp/cc_configure.bzl b/tools/cpp/cc_configure.bzl
index 18b8130c4f..1250d2357d 100644
--- a/tools/cpp/cc_configure.bzl
+++ b/tools/cpp/cc_configure.bzl
@@ -50,7 +50,7 @@ def _which(repository_ctx, cmd, default):
return default if result == None else str(result)
-def _get_tool_paths(repository_ctx, darwin):
+def _get_tool_paths(repository_ctx, darwin, cc):
"""Compute the path to the various tools."""
return {k: _which(repository_ctx, k, "/usr/bin/" + k)
for k in [
@@ -63,7 +63,7 @@ def _get_tool_paths(repository_ctx, darwin):
"objdump",
"strip",
]} + {
- "gcc": "cc_wrapper.sh",
+ "gcc": cc,
"ar": "/usr/bin/libtool"
if darwin else _which(repository_ctx, "ar", "/usr/bin/ar")
}
@@ -289,24 +289,13 @@ def _find_cc(repository_ctx):
return cc
-def _tpl(repository_ctx, tpl, substitutions={}, out=None):
- if not out:
- out = tpl
+def _tpl(repository_ctx, tpl, substitutions={}):
repository_ctx.template(
- out,
+ tpl,
Label("@bazel_tools//tools/cpp:%s.tpl" % tpl),
substitutions)
-def _get_env(repository_ctx):
- """Convert the environment in a list of export."""
- env = repository_ctx.os.environ
- return "\n".join([
- "export %s='%s'" % (k, env[k].replace("'", "'\\''"))
- for k in env
- if k != "_" and k.find(".") == -1
- ])
-
def _impl(repository_ctx):
repository_ctx.file("tools/cpp/empty.cc")
cpu_value = _get_cpu_value(repository_ctx)
@@ -322,8 +311,9 @@ def _impl(repository_ctx):
else:
darwin = cpu_value == "darwin"
cc = _find_cc(repository_ctx)
+ crosstool_cc = "osx_cc_wrapper.sh" if darwin else str(cc)
darwin = cpu_value == "darwin"
- tool_paths = _get_tool_paths(repository_ctx, darwin)
+ tool_paths = _get_tool_paths(repository_ctx, darwin, crosstool_cc)
crosstool_content = _crosstool_content(repository_ctx, cc, cpu_value, darwin)
opt_content = _opt_content(darwin)
dbg_content = _dbg_content()
@@ -331,10 +321,7 @@ def _impl(repository_ctx):
"%{name}": cpu_value,
"%{supports_param_files}": "0" if darwin else "1"
})
- _tpl(repository_ctx,
- "osx_cc_wrapper.sh" if darwin else "linux_cc_wrapper.sh",
- {"%{cc}": str(cc), "%{env}": _get_env(repository_ctx)},
- "cc_wrapper.sh")
+ _tpl(repository_ctx, "osx_cc_wrapper.sh", {"%{cc}": str(cc)})
_tpl(repository_ctx, "CROSSTOOL", {
"%{cpu}": cpu_value,
"%{content}": _build_crosstool(crosstool_content) + "\n" +
diff --git a/tools/cpp/linux_cc_wrapper.sh.tpl b/tools/cpp/linux_cc_wrapper.sh.tpl
deleted file mode 100644
index a83be50655..0000000000
--- a/tools/cpp/linux_cc_wrapper.sh.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2015 The Bazel Authors. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# Ship the environment to the C++ action
-#
-set -eu
-
-# Set-up the environment
-%{env}
-
-# Call the C++ compiler
-%{cc} "$@"
diff --git a/tools/cpp/osx_cc_wrapper.sh.tpl b/tools/cpp/osx_cc_wrapper.sh.tpl
index 5ea4b52c1b..5e66680f6a 100644
--- a/tools/cpp/osx_cc_wrapper.sh.tpl
+++ b/tools/cpp/osx_cc_wrapper.sh.tpl
@@ -52,9 +52,6 @@ for i in "$@"; do
fi
done
-# Set-up the environment
-%{env}
-
# Call the C++ compiler
%{cc} "$@"