diff options
author | 2015-02-25 16:45:20 +0100 | |
---|---|---|
committer | 2015-02-25 16:45:20 +0100 | |
commit | d08b27fa9701fecfdb69e1b0d1ac2459efc2129b (patch) | |
tree | 5d50963026239ca5aebfb47ea5b8db7e814e57c8 /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/BUILD | 70 | ||||
-rw-r--r-- | base_workspace/tools/cpp/CROSSTOOL | 193 | ||||
-rw-r--r-- | base_workspace/tools/cpp/empty.cc | 19 |
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. +// |