aboutsummaryrefslogtreecommitdiffhomepage
path: root/base_workspace/tools/cpp
diff options
context:
space:
mode:
authorGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-25 16:45:20 +0100
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-25 16:45:20 +0100
commitd08b27fa9701fecfdb69e1b0d1ac2459efc2129b (patch)
tree5d50963026239ca5aebfb47ea5b8db7e814e57c8 /base_workspace/tools/cpp
Update from Google.
-- MOE_MIGRATED_REVID=85702957
Diffstat (limited to 'base_workspace/tools/cpp')
-rw-r--r--base_workspace/tools/cpp/BUILD70
-rw-r--r--base_workspace/tools/cpp/CROSSTOOL193
-rw-r--r--base_workspace/tools/cpp/empty.cc19
3 files changed, 282 insertions, 0 deletions
diff --git a/base_workspace/tools/cpp/BUILD b/base_workspace/tools/cpp/BUILD
new file mode 100644
index 0000000000..b3f32c9609
--- /dev/null
+++ b/base_workspace/tools/cpp/BUILD
@@ -0,0 +1,70 @@
+package(default_visibility = ["//visibility:public"])
+
+# TODO(bazel-team): The MacOS tools give an error if there is no object file on
+# the command line to libtool, so we use an empty .cc file here. We should find
+# a better way to handle this case.
+cc_library(
+ name = "malloc",
+ srcs = ["empty.cc"],
+)
+
+cc_library(
+ name = "stl",
+ srcs = ["empty.cc"],
+)
+
+filegroup(
+ name = "empty",
+ srcs = [],
+)
+
+filegroup(
+ name = "toolchain",
+ srcs = [
+ ":cc-compiler-local",
+ ":cc-compiler-darwin",
+ ":empty",
+ ],
+)
+
+cc_toolchain(
+ name = "cc-compiler-local",
+ all_files = ":empty",
+ compiler_files = ":empty",
+ cpu = "local",
+ dwp_files = ":empty",
+ dynamic_runtime_libs = [":empty"],
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ static_runtime_libs = [":empty"],
+ strip_files = ":empty",
+ supports_param_files = 0,
+)
+
+cc_toolchain(
+ name = "cc-compiler-k8",
+ all_files = ":empty",
+ compiler_files = ":empty",
+ cpu = "local",
+ dwp_files = ":empty",
+ dynamic_runtime_libs = [":empty"],
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ static_runtime_libs = [":empty"],
+ strip_files = ":empty",
+ supports_param_files = 0,
+)
+
+cc_toolchain(
+ name = "cc-compiler-darwin",
+ all_files = ":empty",
+ compiler_files = ":empty",
+ cpu = "darwin",
+ dwp_files = ":empty",
+ dynamic_runtime_libs = [":empty"],
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ static_runtime_libs = [":empty"],
+ strip_files = ":empty",
+ supports_param_files = 0,
+)
diff --git a/base_workspace/tools/cpp/CROSSTOOL b/base_workspace/tools/cpp/CROSSTOOL
new file mode 100644
index 0000000000..7287bc49ba
--- /dev/null
+++ b/base_workspace/tools/cpp/CROSSTOOL
@@ -0,0 +1,193 @@
+major_version: "local"
+minor_version: ""
+default_target_cpu: "k8"
+default_toolchain {
+ cpu: "k8"
+ toolchain_identifier: "local_linux"
+}
+default_toolchain {
+ cpu: "darwin"
+ toolchain_identifier: "local_darwin"
+}
+
+toolchain {
+ abi_version: "local"
+ abi_libc_version: "local"
+ builtin_sysroot: ""
+ compiler: "compiler"
+ host_system_name: "local"
+ needsPic: true
+ supports_gold_linker: false
+ supports_incremental_linker: false
+ supports_fission: false
+ supports_interface_shared_objects: false
+ supports_normalizing_ar: false
+ supports_start_end_lib: false
+ supports_thin_archives: false
+ target_libc: "local"
+ target_cpu: "local"
+ target_system_name: "local"
+ toolchain_identifier: "local_linux"
+
+ tool_path { name: "ar" path: "/usr/bin/ar" }
+ tool_path { name: "compat-ld" path: "/usr/bin/ld" }
+ tool_path { name: "cpp" path: "/usr/bin/cpp" }
+ tool_path { name: "dwp" path: "/usr/bin/dwp" }
+ tool_path { name: "gcc" path: "/usr/bin/gcc" }
+ cxx_flag: "-std=c++0x"
+ linker_flag: "-lstdc++"
+ # TODO(bazel-team): In theory, the path here ought to exactly match the path
+ # used by gcc. That works because bazel currently doesn't track files at
+ # absolute locations and has no remote execution, yet. However, this will need
+ # to be fixed, maybe with auto-detection?
+ cxx_builtin_include_directory: "/usr/lib/gcc/"
+ cxx_builtin_include_directory: "/usr/local/include"
+ cxx_builtin_include_directory: "/usr/include"
+ tool_path { name: "gcov" path: "/usr/bin/gcov" }
+ tool_path { name: "ld" path: "/usr/bin/ld" }
+ tool_path { name: "nm" path: "/usr/bin/nm" }
+ tool_path { name: "objcopy" path: "/usr/bin/objcopy" }
+ objcopy_embed_flag: "-I"
+ objcopy_embed_flag: "binary"
+ tool_path { name: "objdump" path: "/usr/bin/objdump" }
+ tool_path { name: "strip" path: "/usr/bin/strip" }
+}
+
+toolchain {
+ abi_version: "local"
+ abi_libc_version: "local"
+ builtin_sysroot: ""
+ compiler: "compiler"
+ host_system_name: "local"
+ needsPic: true
+ target_libc: "macosx"
+ target_cpu: "darwin"
+ target_system_name: "local"
+ toolchain_identifier: "local_darwin"
+
+ tool_path { name: "ar" path: "/usr/bin/libtool" }
+ tool_path { name: "compat-ld" path: "/usr/bin/ld" }
+ tool_path { name: "cpp" path: "/usr/bin/cpp" }
+ tool_path { name: "dwp" path: "/usr/bin/dwp" }
+ tool_path { name: "gcc" path: "/usr/bin/gcc" }
+ cxx_flag: "-std=c++0x"
+ ar_flag: "-static"
+ ar_flag: "-s"
+ ar_flag: "-o"
+ linker_flag: "-lstdc++"
+ cxx_builtin_include_directory: "/usr/include"
+ cxx_builtin_include_directory: "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain"
+ cxx_builtin_include_directory: "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
+ cxx_builtin_include_directory: "/opt/local/include"
+ cxx_builtin_include_directory: "/Library/Developer/CommandLineTools"
+ tool_path { name: "gcov" path: "/usr/bin/gcov" }
+ tool_path { name: "ld" path: "/usr/bin/ld" }
+ tool_path { name: "nm" path: "/usr/bin/nm" }
+ tool_path { name: "objcopy" path: "/usr/bin/objcopy" }
+ objcopy_embed_flag: "-I"
+ objcopy_embed_flag: "binary"
+ tool_path { name: "objdump" path: "/usr/bin/objdump" }
+ tool_path { name: "strip" path: "/usr/bin/strip" }
+}
+
+toolchain {
+ abi_version: "local"
+ abi_libc_version: "local"
+ builtin_sysroot: ""
+ compiler: "windows_mingw"
+ host_system_name: "local"
+ needsPic: false
+ target_libc: "local"
+ target_cpu: "k8"
+ target_system_name: "local"
+ toolchain_identifier: "local_windows_mingw"
+
+ tool_path { name: "ar" path: "C:/mingw/bin/ar" }
+ tool_path { name: "compat-ld" path: "C:/mingw/bin/ld" }
+ tool_path { name: "cpp" path: "C:/mingw/bin/cpp" }
+ tool_path { name: "dwp" path: "C:/mingw/bin/dwp" }
+ tool_path { name: "gcc" path: "C:/mingw/bin/gcc" }
+ cxx_flag: "-std=c++0x"
+ # TODO(bazel-team): In theory, the path here ought to exactly match the path
+ # used by gcc. That works because bazel currently doesn't track files at
+ # absolute locations and has no remote execution, yet. However, this will need
+ # to be fixed, maybe with auto-detection?
+ cxx_builtin_include_directory: "C:/mingw/include"
+ cxx_builtin_include_directory: "C:/mingw/lib/gcc"
+ tool_path { name: "gcov" path: "C:/mingw/bin/gcov" }
+ tool_path { name: "ld" path: "C:/mingw/bin/ld" }
+ tool_path { name: "nm" path: "C:/mingw/bin/nm" }
+ tool_path { name: "objcopy" path: "C:/mingw/bin/objcopy" }
+ objcopy_embed_flag: "-I"
+ objcopy_embed_flag: "binary"
+ tool_path { name: "objdump" path: "C:/mingw/bin/objdump" }
+ tool_path { name: "strip" path: "C:/mingw/bin/strip" }
+}
+
+toolchain {
+ abi_version: "local"
+ abi_libc_version: "local"
+ builtin_sysroot: ""
+ compiler: "windows_msys64_mingw64"
+ host_system_name: "local"
+ needsPic: false
+ target_libc: "local"
+ target_cpu: "k8"
+ target_system_name: "local"
+ toolchain_identifier: "local_windows_msys64_mingw64"
+
+ tool_path { name: "ar" path: "C:/msys64/mingw64/bin/ar" }
+ tool_path { name: "compat-ld" path: "C:/msys64/mingw64/bin/ld" }
+ tool_path { name: "cpp" path: "C:/msys64/mingw64/bin/cpp" }
+ tool_path { name: "dwp" path: "C:/msys64/mingw64/bin/dwp" }
+ tool_path { name: "gcc" path: "C:/msys64/mingw64/bin/gcc" }
+ cxx_flag: "-std=c++0x"
+ # TODO(bazel-team): In theory, the path here ought to exactly match the path
+ # used by gcc. That works because bazel currently doesn't track files at
+ # absolute locations and has no remote execution, yet. However, this will need
+ # to be fixed, maybe with auto-detection?
+ cxx_builtin_include_directory: "C:/msys64/mingw64/x86_64-w64-mingw32/include"
+ tool_path { name: "gcov" path: "C:/msys64/mingw64/bin/gcov" }
+ tool_path { name: "ld" path: "C:/msys64/mingw64/bin/ld" }
+ tool_path { name: "nm" path: "C:/msys64/mingw64/bin/nm" }
+ tool_path { name: "objcopy" path: "C:/msys64/mingw64/bin/objcopy" }
+ objcopy_embed_flag: "-I"
+ objcopy_embed_flag: "binary"
+ tool_path { name: "objdump" path: "C:/msys64/mingw64/bin/objdump" }
+ tool_path { name: "strip" path: "C:/msys64/mingw64/bin/strip" }
+}
+
+toolchain {
+ abi_version: "local"
+ abi_libc_version: "local"
+ builtin_sysroot: ""
+ compiler: "windows_clang"
+ host_system_name: "local"
+ needsPic: false
+ target_libc: "local"
+ target_cpu: "k8"
+ target_system_name: "local"
+ toolchain_identifier: "local_windows_clang"
+
+ tool_path { name: "ar" path: "C:/mingw/bin/ar" }
+ tool_path { name: "compat-ld" path: "C:/Program Files (x86)/LLVM/bin/ld" }
+ tool_path { name: "cpp" path: "C:/Program Files (x86)/LLVM/bin/cpp" }
+ tool_path { name: "dwp" path: "C:/Program Files (x86)/LLVM/bin/dwp" }
+ tool_path { name: "gcc" path: "C:/Program Files (x86)/LLVM/bin/clang" }
+ cxx_flag: "-std=c++0x"
+ # TODO(bazel-team): In theory, the path here ought to exactly match the path
+ # used by gcc. That works because bazel currently doesn't track files at
+ # absolute locations and has no remote execution, yet. However, this will need
+ # to be fixed, maybe with auto-detection?
+ cxx_builtin_include_directory: "/usr/lib/gcc/"
+ cxx_builtin_include_directory: "/usr/local/include"
+ cxx_builtin_include_directory: "/usr/include"
+ tool_path { name: "gcov" path: "C:/Program Files (x86)/LLVM/bin/gcov" }
+ tool_path { name: "ld" path: "C:/Program Files (x86)/LLVM/bin/ld" }
+ tool_path { name: "nm" path: "C:/Program Files (x86)/LLVM/bin/nm" }
+ tool_path { name: "objcopy" path: "C:/Program Files (x86)/LLVM/bin/objcopy" }
+ objcopy_embed_flag: "-I"
+ objcopy_embed_flag: "binary"
+ tool_path { name: "objdump" path: "C:/Program Files (x86)/LLVM/bin/objdump" }
+ tool_path { name: "strip" path: "C:/Program Files (x86)/LLVM/bin/strip" }
+}
diff --git a/base_workspace/tools/cpp/empty.cc b/base_workspace/tools/cpp/empty.cc
new file mode 100644
index 0000000000..7309f1cff2
--- /dev/null
+++ b/base_workspace/tools/cpp/empty.cc
@@ -0,0 +1,19 @@
+// Copyright 2014 Google Inc. 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.
+//
+
+//
+// Workaround for the problem that MacOS tools give an error if there is no
+// object file on the command line.
+//