Update rules_go (#7202)

* Update rules_go

* go 1.15

* try with v0.24.2

* Update Mac OS X SDK

* gaz

* update SDK in toolchain config

* -I flag

* another -I flag

* Update rules_go, gazelle, bazel version

* regen, update rules_docker

* Revert "another -I flag"

This reverts commit 9255133d99.

* Revert "-I flag"

This reverts commit 2954a41d76.

* giving up

* Use OS X 10.12

* Use OS X 10.12

* Revert "Use OS X 10.12"

This reverts commit 4f60d5cb80.

* Revert "Use OS X 10.12"

This reverts commit a79177fab7.

* osx toolchain tweaks necessary to work with 10.15 mac sdk

* Update docker image, regen

* gaz

* test using custom image

* Revert "test using custom image"

This reverts commit 95b8666810.

* explicit go version

* Clean up docker image rules with new definitions. gazelle

* please the linter

* Update protobuf compiler to 3.13.0, run gazelle

* Update gazelle to fix empty build files. https://github.com/bazelbuild/bazel-gazelle/pull/926

* update skylib

* fix herumi fuzz build

* remove comment from tools/cross-toolchain/regenerate.sh

Co-authored-by: rkapka <rkapka@wp.pl>
Co-authored-by: SuburbanDad <gts.mobile@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
Preston Van Loon
2020-11-09 19:01:56 -08:00
committed by GitHub
parent 1b9911ccc3
commit 93c11e0e53
69 changed files with 8851 additions and 488 deletions

View File

@@ -35,43 +35,10 @@ go_library(
go_image(
name = "image",
srcs = ["bootnode.go"],
base = "//tools:cc_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/bootnode",
race = "off",
binary = ":bootnode",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//beacon-chain/core/helpers:go_default_library",
"//proto/beacon/p2p/v1:go_default_library",
"//shared/iputils:go_default_library",
"//shared/logutil:go_default_library",
"//shared/params:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/runutil:go_default_library",
"//shared/version:go_default_library",
"@com_github_ethereum_go_ethereum//crypto:go_default_library",
"@com_github_btcsuite_btcd//btcec:go_default_library",
"@com_github_ethereum_go_ethereum//log:go_default_library",
"@com_github_ethereum_go_ethereum//p2p/discover:go_default_library",
"@com_github_ethereum_go_ethereum//p2p/enode:go_default_library",
"@com_github_ethereum_go_ethereum//p2p/enr:go_default_library",
"@com_github_ipfs_go_datastore//:go_default_library",
"@com_github_ipfs_go_datastore//sync:go_default_library",
"@com_github_ipfs_go_log//:go_default_library",
"@com_github_libp2p_go_libp2p//:go_default_library",
"@com_github_libp2p_go_libp2p_core//crypto:go_default_library",
"@com_github_multiformats_go_multiaddr//:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prometheus_client_golang//prometheus:go_default_library",
"@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
"@com_github_prysmaticlabs_go_ssz//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
go_binary(

View File

@@ -26,24 +26,10 @@ go_binary(
go_image(
name = "image",
srcs = ["main.go"],
base = "//tools:cc_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/cluster-pk-manager/client",
pure = "off",
race = "off",
binary = ":client",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//proto/cluster:go_default_library",
"//shared/bls:go_default_library",
"//shared/keystore:go_default_library",
"//shared/params:go_default_library",
"@com_github_bazelbuild_buildtools//file:go_default_library",
"@org_golang_google_grpc//:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
container_bundle(

View File

@@ -66,55 +66,10 @@ go_test(
go_image(
name = "image",
srcs = [
"allocations.go",
"db.go",
"keyChecker.go",
"logger.go",
"main.go",
"server.go",
"watchtower.go",
],
base = "//tools:cc_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/cluster-pk-manager/server",
pure = "off", # depends on cgo for go-ethereum crypto
race = "off",
static = "off",
binary = ":server",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//contracts/deposit-contract:go_default_library",
"//proto/cluster:go_default_library",
"//shared/bls:go_default_library",
"//shared/bytesutil:go_default_library",
"//shared/depositutil:go_default_library",
"//shared/keystore:go_default_library",
"//shared/params:go_default_library",
"//shared/prometheus:go_default_library",
"@com_github_ethereum_go_ethereum//:go_default_library",
"@com_github_ethereum_go_ethereum//accounts/abi/bind:go_default_library",
"@com_github_ethereum_go_ethereum//common:go_default_library",
"@com_github_ethereum_go_ethereum//core/types:go_default_library",
"@com_github_ethereum_go_ethereum//crypto:go_default_library",
"@com_github_ethereum_go_ethereum//ethclient:go_default_library",
"@com_github_ethereum_go_ethereum//rpc:go_default_library",
"@com_github_gogo_protobuf//proto:go_default_library",
"@com_github_pkg_errors//:go_default_library",
"@com_github_prometheus_client_golang//prometheus:go_default_library",
"@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@io_etcd_go_bbolt//:go_default_library",
"@io_k8s_api//core/v1:go_default_library",
"@io_k8s_apimachinery//pkg/apis/meta/v1:go_default_library",
"@io_k8s_client_go//kubernetes:go_default_library",
"@io_k8s_client_go//rest:go_default_library",
"@io_opencensus_go//plugin/ocgrpc:go_default_library",
"@org_golang_google_grpc//:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
container_bundle(

View File

@@ -20,16 +20,10 @@ go_binary(
go_image(
name = "image",
srcs = ["main.go"],
base = "//tools:go_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/contract-addr",
pure = "on",
race = "off",
binary = ":contract-addr",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = ["//shared/maxprocs:go_default_library"],
)
container_bundle(

View File

@@ -25,7 +25,7 @@ RUN apt-get update && \
pkg-config make docker.io gnupg2 libgmp-dev python
# install llvm/clang cross-build toolchains
ENV INSTALL_LLVM_VERSION=10.0.0-rc2
ENV INSTALL_LLVM_VERSION=10.0.0
ADD install_clang_cross10.sh /tmp/install_clang_cross.sh
RUN /tmp/install_clang_cross.sh

View File

@@ -28,18 +28,13 @@ def _impl(ctx):
target_libc = "macosx"
target_cpu = "x86_64"
osxcross = install + "osxcross/"
osxcross_binprefix = osxcross + "bin/x86_64-apple-darwin14-"
sdkroot = osxcross + "SDK/MacOSX10.10.sdk/"
osxcross_binprefix = osxcross + "bin/x86_64-apple-darwin19-"
sdkroot = osxcross + "SDK/MacOSX10.15.sdk/"
cross_system_include_dirs = [
"/usr/lib/clang/10.0.0/include",
osxcross + "include",
sdkroot + "usr/include",
]
cross_system_lib_dirs = [
"/usr/x86_64-apple-darwin/lib",
sdkroot + "usr/lib",
osxcross + "/lib",
]
opt_feature = feature(name = "opt")
dbg_feature = feature(name = "dbg")
@@ -138,7 +133,6 @@ def _impl(ctx):
"-v",
"-lm",
"-no-canonical-prefixes",
"-fuse-ld=lld",
"-lc++",
"-lc++abi",
"-F" + sdkroot + "System/Library/Frameworks/",

View File

@@ -19,13 +19,13 @@
# Specifically, it includes all toolchain/platform flags
# This file is used for testing purposes.
build:remote --host_javabase=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/java:jdk
build:remote --javabase=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/java:jdk
build:remote --crosstool_top=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/cc:toolchain
build:remote --extra_toolchains=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/config:cc-toolchain
build:remote --extra_execution_platforms=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/config:platform
build:remote --host_platform=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/config:platform
build:remote --platforms=//tools/cross-toolchain/configs/gcc/bazel_3.2.0/config:platform
build:remote --host_javabase=//tools/cross-toolchain/configs/clang/bazel_3.7.0/java:jdk
build:remote --javabase=//tools/cross-toolchain/configs/clang/bazel_3.7.0/java:jdk
build:remote --crosstool_top=//tools/cross-toolchain/configs/clang/bazel_3.7.0/cc:toolchain
build:remote --extra_toolchains=//tools/cross-toolchain/configs/clang/bazel_3.7.0/config:cc-toolchain
build:remote --extra_execution_platforms=//tools/cross-toolchain/configs/clang/bazel_3.7.0/config:platform
build:remote --host_platform=//tools/cross-toolchain/configs/clang/bazel_3.7.0/config:platform
build:remote --platforms=//tools/cross-toolchain/configs/clang/bazel_3.7.0/config:platform
# Import the default bazelrc file in bazel-toolchains repo.
# This will only work for tests executed from bazel-toolchains

View File

@@ -59,8 +59,6 @@ cc_toolchain_suite(
cc_toolchain(
name = "cc-compiler-k8",
toolchain_identifier = "local",
toolchain_config = ":local",
all_files = ":compiler_deps",
ar_files = ":compiler_deps",
as_files = ":compiler_deps",
@@ -70,18 +68,30 @@ cc_toolchain(
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local",
toolchain_identifier = "local",
)
cc_toolchain_config(
name = "local",
cpu = "k8",
compiler = "clang",
toolchain_identifier = "local",
host_system_name = "local",
target_system_name = "local",
target_libc = "local",
abi_version = "local",
abi_libc_version = "local",
abi_version = "local",
compile_flags = [
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
"-fcolor-diagnostics",
"-fno-omit-frame-pointer",
],
compiler = "clang",
coverage_compile_flags = [
"-fprofile-instr-generate",
"-fcoverage-mapping",
],
coverage_link_flags = ["-fprofile-instr-generate"],
cpu = "k8",
cxx_builtin_include_directories = [
"/usr/local/include",
"/usr/lib/clang/10.0.0/include",
@@ -92,6 +102,30 @@ cc_toolchain_config(
"/usr/include/x86_64-linux-gnu/c++/8",
"/usr/include/c++/8/backward",
],
cxx_flags = ["-std=c++0x"],
dbg_compile_flags = ["-g"],
host_system_name = "local",
link_flags = [
"-fuse-ld=/usr/bin/ld.gold",
"-Wl,-no-as-needed",
"-Wl,-z,relro,-z,now",
"-B/usr/bin",
"-lm",
"-static-libgcc",
],
link_libs = ["-l:libstdc++.a"],
opt_compile_flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
opt_link_flags = ["-Wl,--gc-sections"],
supports_start_end_lib = True,
target_libc = "local",
target_system_name = "local",
tool_paths = {
"ar": "/usr/bin/ar",
"ld": "/usr/bin/ld",
@@ -104,35 +138,7 @@ cc_toolchain_config(
"objdump": "/usr/bin/objdump",
"strip": "/usr/bin/strip",
},
compile_flags = [
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
"-fcolor-diagnostics",
"-fno-omit-frame-pointer",
],
opt_compile_flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
dbg_compile_flags = ["-g"],
cxx_flags = ["-std=c++0x"],
link_flags = [
"-fuse-ld=/usr/bin/ld.gold",
"-Wl,-no-as-needed",
"-Wl,-z,relro,-z,now",
"-B/usr/bin",
"-lm",
"-static-libgcc",
],
link_libs = ["-l:libstdc++.a"],
opt_link_flags = ["-Wl,--gc-sections"],
toolchain_identifier = "local",
unfiltered_compile_flags = [
"-no-canonical-prefixes",
"-Wno-builtin-macro-redefined",
@@ -140,19 +146,11 @@ cc_toolchain_config(
"-D__TIMESTAMP__=\"redacted\"",
"-D__TIME__=\"redacted\"",
],
coverage_compile_flags = [
"-fprofile-instr-generate",
"-fcoverage-mapping",
],
coverage_link_flags = ["-fprofile-instr-generate"],
supports_start_end_lib = True,
)
# Android tooling requires a default toolchain for the armeabi-v7a cpu.
cc_toolchain(
name = "cc-compiler-armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
toolchain_config = ":stub_armeabi-v7a",
all_files = ":empty",
ar_files = ":empty",
as_files = ":empty",
@@ -162,6 +160,8 @@ cc_toolchain(
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":stub_armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
)
armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")

View File

@@ -41,7 +41,7 @@ platform(
"@bazel_tools//tools/cpp:clang",
],
exec_properties = {
"container-image": "docker://gcr.io/prysmaticlabs/rbe-worker@sha256:fdd160ed95406580948fb93c2618ca12fbd3fa93afabb84bf4bfbb2e6bdd7dbd",
"container-image": "docker://gcr.io/prysmaticlabs/rbe-worker@sha256:0175024b0968eee56a50d4d813c4b2fc68dca90e7ecc453cdae6e82e112b845d",
"OSFamily": "Linux",
},
)

View File

@@ -0,0 +1,168 @@
# Copyright 2016 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.
# This becomes the BUILD file for @local_config_cc// under non-BSD unixes.
package(default_visibility = ["//visibility:public"])
load(":cc_toolchain_config.bzl", "cc_toolchain_config")
load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config")
load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite")
licenses(["notice"]) # Apache 2.0
cc_library(
name = "malloc",
)
filegroup(
name = "empty",
srcs = [],
)
filegroup(
name = "cc_wrapper",
srcs = ["cc_wrapper.sh"],
)
filegroup(
name = "compiler_deps",
srcs = glob(
["extra_tools/**"],
allow_empty = True,
) + [":builtin_include_directory_paths"],
)
# 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.
cc_toolchain_suite(
name = "toolchain",
toolchains = {
"k8|clang": ":cc-compiler-k8",
"k8": ":cc-compiler-k8",
"armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
"armeabi-v7a": ":cc-compiler-armeabi-v7a",
},
)
cc_toolchain(
name = "cc-compiler-k8",
all_files = ":compiler_deps",
ar_files = ":compiler_deps",
as_files = ":compiler_deps",
compiler_files = ":compiler_deps",
dwp_files = ":empty",
linker_files = ":compiler_deps",
module_map = ":module.modulemap",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local",
toolchain_identifier = "local",
)
cc_toolchain_config(
name = "local",
abi_libc_version = "local",
abi_version = "local",
compile_flags = [
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
"-fcolor-diagnostics",
"-fno-omit-frame-pointer",
],
compiler = "clang",
coverage_compile_flags = [
"-fprofile-instr-generate",
"-fcoverage-mapping",
],
coverage_link_flags = ["-fprofile-instr-generate"],
cpu = "k8",
cxx_builtin_include_directories = [
"/usr/local/include",
"/usr/lib/clang/10.0.0/include",
"/usr/include/x86_64-linux-gnu",
"/usr/include",
"/usr/lib/clang/10.0.0/share",
"/usr/include/c++/8",
"/usr/include/x86_64-linux-gnu/c++/8",
"/usr/include/c++/8/backward",
],
cxx_flags = ["-std=c++0x"],
dbg_compile_flags = ["-g"],
host_system_name = "local",
link_flags = [
"-fuse-ld=/usr/bin/ld.gold",
"-Wl,-no-as-needed",
"-Wl,-z,relro,-z,now",
"-B/usr/bin",
"-lm",
"-static-libgcc",
],
link_libs = ["-l:libstdc++.a"],
opt_compile_flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
opt_link_flags = ["-Wl,--gc-sections"],
supports_start_end_lib = True,
target_libc = "local",
target_system_name = "local",
tool_paths = {
"ar": "/usr/bin/ar",
"ld": "/usr/bin/ld",
"cpp": "/usr/bin/cpp",
"gcc": "/usr/bin/clang",
"dwp": "/usr/bin/dwp",
"gcov": "/usr/bin/llvm-profdata",
"nm": "/usr/bin/nm",
"objcopy": "/usr/bin/objcopy",
"objdump": "/usr/bin/objdump",
"strip": "/usr/bin/strip",
},
toolchain_identifier = "local",
unfiltered_compile_flags = [
"-no-canonical-prefixes",
"-Wno-builtin-macro-redefined",
"-D__DATE__=\"redacted\"",
"-D__TIMESTAMP__=\"redacted\"",
"-D__TIME__=\"redacted\"",
],
)
# Android tooling requires a default toolchain for the armeabi-v7a cpu.
cc_toolchain(
name = "cc-compiler-armeabi-v7a",
all_files = ":empty",
ar_files = ":empty",
as_files = ":empty",
compiler_files = ":empty",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":stub_armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
)
armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")

View File

@@ -0,0 +1,82 @@
# Copyright 2019 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.
"""A Starlark cc_toolchain configuration rule"""
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
"feature",
"tool_path",
)
def _impl(ctx):
toolchain_identifier = "stub_armeabi-v7a"
host_system_name = "armeabi-v7a"
target_system_name = "armeabi-v7a"
target_cpu = "armeabi-v7a"
target_libc = "armeabi-v7a"
compiler = "compiler"
abi_version = "armeabi-v7a"
abi_libc_version = "armeabi-v7a"
cc_target_os = None
builtin_sysroot = None
action_configs = []
supports_pic_feature = feature(name = "supports_pic", enabled = True)
supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True)
features = [supports_dynamic_linker_feature, supports_pic_feature]
cxx_builtin_include_directories = []
artifact_name_patterns = []
make_variables = []
tool_paths = [
tool_path(name = "ar", path = "/bin/false"),
tool_path(name = "compat-ld", path = "/bin/false"),
tool_path(name = "cpp", path = "/bin/false"),
tool_path(name = "dwp", path = "/bin/false"),
tool_path(name = "gcc", path = "/bin/false"),
tool_path(name = "gcov", path = "/bin/false"),
tool_path(name = "ld", path = "/bin/false"),
tool_path(name = "nm", path = "/bin/false"),
tool_path(name = "objcopy", path = "/bin/false"),
tool_path(name = "objdump", path = "/bin/false"),
tool_path(name = "strip", path = "/bin/false"),
]
return cc_common.create_cc_toolchain_config_info(
ctx = ctx,
features = features,
action_configs = action_configs,
artifact_name_patterns = artifact_name_patterns,
cxx_builtin_include_directories = cxx_builtin_include_directories,
toolchain_identifier = toolchain_identifier,
host_system_name = host_system_name,
target_system_name = target_system_name,
target_cpu = target_cpu,
target_libc = target_libc,
compiler = compiler,
abi_version = abi_version,
abi_libc_version = abi_libc_version,
tool_paths = tool_paths,
make_variables = make_variables,
builtin_sysroot = builtin_sysroot,
cc_target_os = cc_target_os,
)
armeabi_cc_toolchain_config = rule(
implementation = _impl,
attrs = {},
provides = [CcToolchainConfigInfo],
)

View File

@@ -0,0 +1,14 @@
This file is generated by cc_configure and contains builtin include directories
that /usr/bin/clang reported. This file is a dependency of every compilation action and
changes to it will be reflected in the action cache key. When some of these
paths change, Bazel will make sure to rerun the action, even though none of
declared action inputs or the action commandline changes.
/usr/local/include
/usr/lib/clang/10.0.0/include
/usr/include/x86_64-linux-gnu
/usr/include
/usr/lib/clang/10.0.0/share
/usr/include/c++/8
/usr/include/x86_64-linux-gnu/c++/8
/usr/include/c++/8/backward

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
#!/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
# Call the C++ compiler
/usr/bin/clang "$@"

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,47 @@
# Copyright 2016 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.
# This file is auto-generated by an rbe_autoconfig repository rule
# and should not be modified directly.
# See @bazel_toolchains//rules:rbe_repo.bzl
package(default_visibility = ["//visibility:public"])
toolchain(
name = "cc-toolchain",
exec_compatible_with = [
"@bazel_tools//platforms:x86_64",
"@bazel_tools//platforms:linux",
"@bazel_tools//tools/cpp:clang",
],
target_compatible_with = [
"@bazel_tools//platforms:linux",
"@bazel_tools//platforms:x86_64",
],
toolchain = "//tools/cross-toolchain/configs/clang/bazel_3.7.0/cc:cc-compiler-k8",
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
platform(
name = "platform",
constraint_values = [
"@bazel_tools//platforms:x86_64",
"@bazel_tools//platforms:linux",
"@bazel_tools//tools/cpp:clang",
],
exec_properties = {
"container-image": "docker://gcr.io/prysmaticlabs/rbe-worker@sha256:d5fa14154811dff0886e4c808dc15f18c4bb8545a1ef3c53805a0db13564bdad",
"OSFamily": "Linux",
},
)

View File

@@ -0,0 +1,25 @@
# Copyright 2016 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.
# This file is auto-generated by an rbe_autoconfig repository rule
# and should not be modified directly.
# See @bazel_toolchains//rules:rbe_repo.bzl
package(default_visibility = ["//visibility:public"])
java_runtime(
name = "jdk",
srcs = [],
java_home = "/usr/lib/jvm/java-8-openjdk-amd64",
)

View File

@@ -0,0 +1,147 @@
package(default_visibility = ["//visibility:public"])
load(":cc_toolchain_config_osx.bzl", "osx_cc_toolchain_config")
load(":cc_toolchain_config_linux_arm64.bzl", "arm64_cc_toolchain_config")
load(":cc_toolchain_config_windows.bzl", "windows_cc_toolchain_config")
cc_toolchain_suite(
name = "multiarch_toolchain",
toolchains = {
"k8|osxcross": ":cc-clang-osx",
"k8|clang": "cc-clang-amd64",
"aarch64|clang": ":cc-clang-arm64",
"k8": "cc-clang-amd64",
"aarch64": ":cc-clang-arm64",
"k8|mingw-w64": ":cc-mingw-amd64",
},
)
cc_toolchain_suite(
name = "hostonly_toolchain",
toolchains = {
"k8": "cc-clang-amd64",
},
)
filegroup(
name = "empty",
srcs = [],
)
config_setting(
name = "osx_amd64",
constraint_values = [
"@platforms//os:osx",
"@platforms//cpu:x86_64",
],
)
config_setting(
name = "linux_arm64",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:aarch64",
],
)
config_setting(
name = "linux_amd64",
constraint_values = [
"@platforms//os:linux",
"@platforms//cpu:x86_64",
],
)
config_setting(
name = "windows_amd64",
constraint_values = [
"@platforms//os:windows",
"@platforms//cpu:x86_64",
],
)
arm64_cc_toolchain_config(
name = "local-arm64",
target = "aarch64-linux-gnu",
)
arm64_cc_toolchain_config(
name = "local-amd64",
target = "x86_64-unknown-linux-gnu",
)
osx_cc_toolchain_config(
name = "local-osxcross",
target = "darwin_x86_64",
)
windows_cc_toolchain_config(
name = "local-windows",
target = "x86_64-w64",
)
cc_toolchain(
name = "cc-mingw-amd64",
all_files = ":empty",
ar_files = ":empty",
as_files = ":mingw_compiler_files",
compiler_files = ":mingw_compiler_files",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 0,
toolchain_config = ":local-windows",
)
cc_toolchain(
name = "cc-clang-arm64",
all_files = ":empty",
compiler_files = ":empty",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local-arm64",
)
cc_toolchain(
name = "cc-clang-osx",
all_files = ":empty",
compiler_files = ":empty",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local-osxcross",
)
cc_toolchain(
name = "cc-clang-amd64",
all_files = ":empty",
compiler_files = ":empty",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local-amd64",
)
toolchain(
name = "cc-toolchain-multiarch",
exec_compatible_with = [
"@platforms//os:linux",
"@platforms//cpu:x86_64",
],
target_compatible_with = [],
toolchain = select({
":linux_arm64": ":cc-clang-arm64",
":linux_amd64": ":cc-clang-amd64",
":osx_amd64": ":cc-clang-osx",
":windows_amd64": ":cc-mingw-amd64",
}),
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)

View File

@@ -0,0 +1,2 @@
# DO NOT EDIT: automatically generated WORKSPACE file for prysm_toolchains rule
workspace(name = "prysm_toolchains")

View File

@@ -0,0 +1,305 @@
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
"action_config",
"feature",
"feature_set",
"flag_group",
"flag_set",
"make_variable",
"tool",
"tool_path",
"with_feature_set",
)
load(
"@bazel_tools//tools/cpp:cc_toolchain_config.bzl",
ALL_COMPILE_ACTIONS = "all_compile_actions",
ALL_CPP_COMPILE_ACTIONS = "all_cpp_compile_actions",
ALL_LINK_ACTIONS = "all_link_actions",
)
def _impl(ctx):
toolchain_identifier = "clang-linux-cross"
compiler = "clang"
abi_version = "clang"
abi_libc_version = "glibc_unknown"
target_libc = "glibc_unknown"
target_cpu = ctx.attr.target.split("-")[0]
if (target_cpu == "aarch64"):
sysroot = "/usr/aarch64-linux-gnu"
include_path_prefix = sysroot
elif (target_cpu == "x86_64"):
sysroot = "/"
include_path_prefix = "/usr"
else:
fail("Unreachable")
if (target_cpu == "aarch64"):
cross_system_include_dirs = [
include_path_prefix + "/include/c++/v1",
include_path_prefix + "/lib/clang/10.0.0/include",
]
else:
cross_system_include_dirs = [
include_path_prefix + "/include/c++/v1",
include_path_prefix + "/lib/clang/10.0.0/include",
include_path_prefix + "/include/x86_64-linux-gnu",
]
cross_system_include_dirs += [
include_path_prefix + "/include/",
include_path_prefix + "/include/linux",
include_path_prefix + "/include/asm",
include_path_prefix + "/include/asm-generic",
]
if (target_cpu == "aarch64"):
cross_system_lib_dirs = [
"/usr/" + ctx.attr.target + "/lib",
]
else:
cross_system_lib_dirs = [
"/usr/lib/x86_64-linux-gnu/",
]
cross_system_lib_dirs += [
"/usr/lib/gcc/x86_64-linux-gnu/8",
]
opt_feature = feature(name = "opt")
dbg_feature = feature(name = "dbg")
fastbuild_feature = feature(name = "fastbuild")
random_seed_feature = feature(name = "random_seed", enabled = True)
supports_pic_feature = feature(name = "supports_pic", enabled = True)
supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True)
unfiltered_compile_flags_feature = feature(
name = "unfiltered_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-no-canonical-prefixes",
"-Wno-builtin-macro-redefined",
"-D__DATE__=\"redacted\"",
"-D__TIMESTAMP__=\"redacted\"",
"-D__TIME__=\"redacted\"",
],
),
],
),
],
)
# explicit arch specific system includes
system_include_flags = []
for d in cross_system_include_dirs:
system_include_flags += ["-idirafter", d]
default_compile_flags_feature = feature(
name = "default_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"--target=" + ctx.attr.target,
"-nostdinc",
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-fno-omit-frame-pointer",
"-fcolor-diagnostics",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
] + system_include_flags,
),
],
),
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [flag_group(flags = ["-g", "-fstandalone-debug"])],
with_features = [with_feature_set(features = ["dbg"])],
),
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
),
],
with_features = [with_feature_set(features = ["opt"])],
),
flag_set(
actions = ALL_CPP_COMPILE_ACTIONS,
flag_groups = [flag_group(flags = ["-std=c++17", "-nostdinc++"])],
),
],
)
additional_link_flags = [
"-l:libc++.a",
"-l:libc++abi.a",
"-l:libunwind.a",
"-lpthread",
"-ldl",
"-rtlib=compiler-rt",
]
default_link_flags_feature = feature(
name = "default_link_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = [
flag_group(
flags = additional_link_flags + [
"--target=" + ctx.attr.target,
"-lm",
"-no-canonical-prefixes",
"-fuse-ld=lld",
"-Wl,--build-id=md5",
"-Wl,--hash-style=gnu",
"-Wl,-z,relro,-z,now",
] + ["-L" + d for d in cross_system_lib_dirs],
),
],
),
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = [flag_group(flags = ["-Wl,--gc-sections"])],
with_features = [with_feature_set(features = ["opt"])],
),
],
)
objcopy_embed_flags_feature = feature(
name = "objcopy_embed_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ["objcopy_embed_data"],
flag_groups = [flag_group(flags = ["-I", "binary"])],
),
],
)
user_compile_flags_feature = feature(
name = "user_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
expand_if_available = "user_compile_flags",
flags = ["%{user_compile_flags}"],
iterate_over = "user_compile_flags",
),
],
),
],
)
sysroot_feature = feature(
name = "sysroot",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS + ALL_LINK_ACTIONS,
flag_groups = [
flag_group(
expand_if_available = "sysroot",
flags = ["--sysroot=%{sysroot}"],
),
],
),
],
)
coverage_feature = feature(
name = "coverage",
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = ["-fprofile-instr-generate", "-fcoverage-mapping"],
),
],
),
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = [flag_group(flags = ["-fprofile-instr-generate"])],
),
],
provides = ["profile"],
)
features = [
opt_feature,
fastbuild_feature,
dbg_feature,
random_seed_feature,
supports_pic_feature,
supports_dynamic_linker_feature,
unfiltered_compile_flags_feature,
default_link_flags_feature,
default_compile_flags_feature,
objcopy_embed_flags_feature,
user_compile_flags_feature,
sysroot_feature,
coverage_feature,
]
tool_paths = [
tool_path(name = "ld", path = "/usr/bin/ld.lld"),
tool_path(name = "cpp", path = "/usr/bin/clang-cpp"),
tool_path(name = "dwp", path = "/usr/bin/llvm-dwp"),
tool_path(name = "gcov", path = "/usr/bin/llvm-profdata"),
tool_path(name = "nm", path = "/usr/bin/llvm-nm"),
tool_path(name = "objcopy", path = "/usr/bin/llvm-objcopy"),
tool_path(name = "objdump", path = "/usr/bin/llvm-objdump"),
tool_path(name = "strip", path = "/usr/bin/strip"),
tool_path(name = "gcc", path = "/usr/bin/clang"),
tool_path(name = "ar", path = "/usr/bin/llvm-ar"),
]
return cc_common.create_cc_toolchain_config_info(
ctx = ctx,
features = features,
abi_version = abi_version,
abi_libc_version = abi_libc_version,
builtin_sysroot = sysroot,
compiler = compiler,
cxx_builtin_include_directories = cross_system_include_dirs,
host_system_name = "x86_64-unknown-linux-gnu",
target_cpu = target_cpu,
target_libc = target_libc,
target_system_name = ctx.attr.target,
tool_paths = tool_paths,
toolchain_identifier = toolchain_identifier,
)
arm64_cc_toolchain_config = rule(
implementation = _impl,
attrs = {
"target": attr.string(mandatory = True),
"stdlib": attr.string(),
},
provides = [CcToolchainConfigInfo],
)

View File

@@ -0,0 +1,245 @@
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
"action_config",
"feature",
"feature_set",
"flag_group",
"flag_set",
"make_variable",
"tool",
"tool_path",
"with_feature_set",
)
load(
"@bazel_tools//tools/cpp:cc_toolchain_config.bzl",
ALL_COMPILE_ACTIONS = "all_compile_actions",
ALL_CPP_COMPILE_ACTIONS = "all_cpp_compile_actions",
ALL_LINK_ACTIONS = "all_link_actions",
)
def _impl(ctx):
toolchain_identifier = "osxcross"
compiler = "clang"
abi_version = "darwin_x86_64"
abi_libc_version = "darwin_x86_64"
install = "/usr/x86_64-apple-darwin/"
clang_version = "10.0.0"
target_libc = "macosx"
target_cpu = "x86_64"
osxcross = install + "osxcross/"
osxcross_binprefix = osxcross + "bin/x86_64-apple-darwin19-"
sdkroot = osxcross + "SDK/MacOSX10.15.sdk/"
cross_system_include_dirs = [
"/usr/lib/clang/10.0.0/include",
osxcross + "include",
sdkroot + "usr/include",
]
opt_feature = feature(name = "opt")
dbg_feature = feature(name = "dbg")
fastbuild_feature = feature(name = "fastbuild")
random_seed_feature = feature(name = "random_seed", enabled = True)
supports_pic_feature = feature(name = "supports_pic", enabled = True)
supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True)
unfiltered_compile_flags_feature = feature(
name = "unfiltered_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-stdlib=libc++",
"-no-canonical-prefixes",
"-Wno-builtin-macro-redefined",
"-D__DATE__=\"redacted\"",
"-D__TIMESTAMP__=\"redacted\"",
"-D__TIME__=\"redacted\"",
],
),
],
),
],
)
# explicit arch specific system includes
system_include_flags = []
for d in cross_system_include_dirs:
system_include_flags += ["-idirafter", d]
default_compile_flags_feature = feature(
name = "default_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-mlinker-version=400",
"-B " + osxcross + "bin",
"-nostdinc",
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-fno-omit-frame-pointer",
"-fcolor-diagnostics",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
] + system_include_flags,
),
],
),
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [flag_group(flags = ["-g", "-fstandalone-debug"])],
with_features = [with_feature_set(features = ["dbg"])],
),
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
),
],
with_features = [with_feature_set(features = ["opt"])],
),
flag_set(
actions = ALL_CPP_COMPILE_ACTIONS,
flag_groups = [flag_group(flags = ["-std=c++17", "-nostdinc++"])],
),
],
)
default_link_flags_feature = feature(
name = "default_link_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = [
flag_group(
flags = [
"-v",
"-lm",
"-no-canonical-prefixes",
"-lc++",
"-lc++abi",
"-F" + sdkroot + "System/Library/Frameworks/",
"-L"+ sdkroot + "usr/lib",
"-undefined",
"dynamic_lookup",
],
),
],
),
],
)
objcopy_embed_flags_feature = feature(
name = "objcopy_embed_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ["objcopy_embed_data"],
flag_groups = [flag_group(flags = ["-I", "binary"])],
),
],
)
user_compile_flags_feature = feature(
name = "user_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
expand_if_available = "user_compile_flags",
flags = ["%{user_compile_flags}"],
iterate_over = "user_compile_flags",
),
],
),
],
)
coverage_feature = feature(
name = "coverage",
flag_sets = [
flag_set(
actions = ALL_COMPILE_ACTIONS,
flag_groups = [
flag_group(
flags = ["-fprofile-instr-generate", "-fcoverage-mapping"],
),
],
),
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = [flag_group(flags = ["-fprofile-instr-generate"])],
),
],
provides = ["profile"],
)
features = [
opt_feature,
fastbuild_feature,
dbg_feature,
random_seed_feature,
supports_pic_feature,
supports_dynamic_linker_feature,
unfiltered_compile_flags_feature,
default_link_flags_feature,
default_compile_flags_feature,
objcopy_embed_flags_feature,
user_compile_flags_feature,
coverage_feature,
]
tool_paths = [
tool_path(name = "ld", path = osxcross_binprefix + "ld"),
tool_path(name = "cpp", path = osxcross + "bin/o64-clang++"),
tool_path(name = "dwp", path = "/usr/bin/dwp"),
tool_path(name = "gcov", path = "/usr/bin/gcov"),
tool_path(name = "nm", path = osxcross_binprefix + "nm"),
tool_path(name = "objdump", path = osxcross_binprefix + "ObjectDump"),
tool_path(name = "strip", path = osxcross_binprefix + "strip"),
tool_path(name = "gcc", path = osxcross + "bin/o64-clang"),
tool_path(name = "ar", path = osxcross_binprefix + "libtool"),
]
return cc_common.create_cc_toolchain_config_info(
ctx = ctx,
features = features,
abi_version = abi_version,
abi_libc_version = abi_libc_version,
compiler = compiler,
cxx_builtin_include_directories = cross_system_include_dirs,
host_system_name = "x86_64-unknown-linux-gnu",
target_cpu = target_cpu,
target_libc = target_libc,
target_system_name = ctx.attr.target,
tool_paths = tool_paths,
toolchain_identifier = toolchain_identifier,
)
osx_cc_toolchain_config = rule(
implementation = _impl,
attrs = {
"target": attr.string(mandatory = True),
"stdlib": attr.string(),
},
provides = [CcToolchainConfigInfo],
)

View File

@@ -0,0 +1,213 @@
load(
"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl",
"action_config",
"feature",
"feature_set",
"flag_group",
"flag_set",
"make_variable",
"tool",
"tool_path",
"with_feature_set",
"artifact_name_pattern",
"env_set",
"env_entry",
)
load(
"@bazel_tools//tools/cpp:cc_toolchain_config.bzl",
ALL_COMPILE_ACTIONS = "all_compile_actions",
ALL_CPP_COMPILE_ACTIONS = "all_cpp_compile_actions",
ALL_LINK_ACTIONS = "all_link_actions",
)
load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
def _impl(ctx):
toolchain_identifier = "msys_x64_mingw"
host_system_name = "local"
target_system_name = "local"
target_cpu = "x64_windows"
target_libc = "mingw"
compiler = "mingw-gcc"
abi_version = "local"
abi_libc_version = "local"
cc_target_os = None
builtin_sysroot = None
action_configs = []
install = "/usr/x86_64-w64-mingw32/"
bin_prefix = "/usr/bin/x86_64-w64-mingw32-"
targets_windows_feature = feature(
name = "targets_windows",
implies = ["copy_dynamic_libraries_to_binary"],
enabled = True,
)
copy_dynamic_libraries_to_binary_feature = feature(name = "copy_dynamic_libraries_to_binary")
gcc_env_feature = feature(
name = "gcc_env",
enabled = True,
env_sets = [
env_set(
actions = [
ACTION_NAMES.c_compile,
ACTION_NAMES.cpp_compile,
ACTION_NAMES.cpp_module_compile,
ACTION_NAMES.cpp_module_codegen,
ACTION_NAMES.cpp_header_parsing,
ACTION_NAMES.assemble,
ACTION_NAMES.preprocess_assemble,
ACTION_NAMES.cpp_link_executable,
ACTION_NAMES.cpp_link_dynamic_library,
ACTION_NAMES.cpp_link_nodeps_dynamic_library,
ACTION_NAMES.cpp_link_static_library,
],
env_entries = [
env_entry(key = "PATH", value = "NOT_USED"),
],
),
],
)
msys_mingw_flags = [
"-B " + install + "bin",
"-nostdinc",
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-fno-omit-frame-pointer",
"-fcolor-diagnostics",
"-Wall",
"-Wthread-safety",
"-Wself-assign",
"-x c++",
"-lstdc++",
"-lpthread"
]
msys_mingw_link_flags = [
"-l:libstdc++.a",
"-L" + install + "lib",
"-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-w32",
"-v",
"-lm",
"-no-canonical-prefixes",
]
default_compile_flags_feature = feature(
name = "default_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = [
ACTION_NAMES.assemble,
ACTION_NAMES.preprocess_assemble,
ACTION_NAMES.linkstamp_compile,
ACTION_NAMES.c_compile,
ACTION_NAMES.cpp_compile,
ACTION_NAMES.cpp_header_parsing,
ACTION_NAMES.cpp_module_compile,
ACTION_NAMES.cpp_module_codegen,
ACTION_NAMES.lto_backend,
ACTION_NAMES.clif_match,
],
),
flag_set(
actions = [
ACTION_NAMES.linkstamp_compile,
ACTION_NAMES.cpp_compile,
ACTION_NAMES.cpp_header_parsing,
ACTION_NAMES.cpp_module_compile,
ACTION_NAMES.cpp_module_codegen,
ACTION_NAMES.lto_backend,
ACTION_NAMES.clif_match,
],
flag_groups = ([flag_group(flags = msys_mingw_flags)] if msys_mingw_flags else []),
),
],
)
compiler_param_file_feature = feature(
name = "compiler_param_file",
)
default_link_flags_feature = feature(
name = "default_link_flags",
enabled = True,
flag_sets = [
flag_set(
actions = ALL_LINK_ACTIONS,
flag_groups = ([flag_group(flags = msys_mingw_link_flags)] if msys_mingw_link_flags else []),
),
],
)
supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True)
features = [
targets_windows_feature,
copy_dynamic_libraries_to_binary_feature,
gcc_env_feature,
default_compile_flags_feature,
compiler_param_file_feature,
default_link_flags_feature,
supports_dynamic_linker_feature,
]
cxx_builtin_include_directories = [
install +"include"
]
artifact_name_patterns = [
artifact_name_pattern(
category_name = "executable",
prefix = "",
extension = ".exe",
),
]
make_variables = []
tool_paths = [
tool_path(name = "ld", path = bin_prefix + "ld"),
tool_path(name = "cpp", path = bin_prefix + "cpp"),
tool_path(name = "gcov", path = "/usr/bin/gcov"),
tool_path(name = "nm", path = bin_prefix + "nm"),
tool_path(name = "objcopy", path = bin_prefix + "objcopy"),
tool_path(name = "objdump", path = bin_prefix + "objdump"),
tool_path(name = "strip", path = bin_prefix + "strip"),
tool_path(name = "gcc", path = bin_prefix + "gcc"),
tool_path(name = "ar", path = bin_prefix + "ar"),
]
return cc_common.create_cc_toolchain_config_info(
ctx = ctx,
features = features,
action_configs = action_configs,
artifact_name_patterns = artifact_name_patterns,
cxx_builtin_include_directories = cxx_builtin_include_directories,
toolchain_identifier = toolchain_identifier,
host_system_name = host_system_name,
target_system_name = target_system_name,
target_cpu = target_cpu,
target_libc = target_libc,
compiler = compiler,
abi_version = abi_version,
abi_libc_version = abi_libc_version,
tool_paths = tool_paths,
make_variables = make_variables,
builtin_sysroot = builtin_sysroot,
cc_target_os = cc_target_os,
)
windows_cc_toolchain_config = rule(
implementation = _impl,
attrs = {
"target": attr.string(mandatory = True),
"stdlib": attr.string(),
},
provides = [CcToolchainConfigInfo],
)

View File

@@ -59,8 +59,6 @@ cc_toolchain_suite(
cc_toolchain(
name = "cc-compiler-k8",
toolchain_identifier = "local",
toolchain_config = ":local",
all_files = ":compiler_deps",
ar_files = ":compiler_deps",
as_files = ":compiler_deps",
@@ -70,18 +68,26 @@ cc_toolchain(
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":local",
toolchain_identifier = "local",
)
cc_toolchain_config(
name = "local",
cpu = "k8",
compiler = "gcc",
toolchain_identifier = "local",
host_system_name = "local",
target_system_name = "local",
target_libc = "local",
abi_version = "local",
abi_libc_version = "local",
abi_version = "local",
compile_flags = [
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-Wall",
"-Wunused-but-set-parameter",
"-Wno-free-nonheap-object",
"-fno-omit-frame-pointer",
],
compiler = "gcc",
coverage_compile_flags = ["--coverage"],
coverage_link_flags = ["--coverage"],
cpu = "k8",
cxx_builtin_include_directories = [
"/usr/lib/gcc/x86_64-linux-gnu/8/include",
"/usr/local/include",
@@ -92,6 +98,31 @@ cc_toolchain_config(
"/usr/include/x86_64-linux-gnu/c++/8",
"/usr/include/c++/8/backward",
],
cxx_flags = ["-std=c++0x"],
dbg_compile_flags = ["-g"],
host_system_name = "local",
link_flags = [
"-fuse-ld=gold",
"-Wl,-no-as-needed",
"-Wl,-z,relro,-z,now",
"-B/usr/bin",
"-pass-exit-codes",
"-lm",
"-static-libgcc",
],
link_libs = ["-l:libstdc++.a"],
opt_compile_flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
opt_link_flags = ["-Wl,--gc-sections"],
supports_start_end_lib = True,
target_libc = "local",
target_system_name = "local",
tool_paths = {
"ar": "/usr/bin/ar",
"ld": "/usr/bin/ld",
@@ -104,35 +135,7 @@ cc_toolchain_config(
"objdump": "/usr/bin/objdump",
"strip": "/usr/bin/strip",
},
compile_flags = [
"-U_FORTIFY_SOURCE",
"-fstack-protector",
"-Wall",
"-Wunused-but-set-parameter",
"-Wno-free-nonheap-object",
"-fno-omit-frame-pointer",
],
opt_compile_flags = [
"-g0",
"-O2",
"-D_FORTIFY_SOURCE=1",
"-DNDEBUG",
"-ffunction-sections",
"-fdata-sections",
],
dbg_compile_flags = ["-g"],
cxx_flags = ["-std=c++0x"],
link_flags = [
"-fuse-ld=gold",
"-Wl,-no-as-needed",
"-Wl,-z,relro,-z,now",
"-B/usr/bin",
"-pass-exit-codes",
"-lm",
"-static-libgcc",
],
link_libs = ["-l:libstdc++.a"],
opt_link_flags = ["-Wl,--gc-sections"],
toolchain_identifier = "local",
unfiltered_compile_flags = [
"-fno-canonical-system-headers",
"-Wno-builtin-macro-redefined",
@@ -140,16 +143,11 @@ cc_toolchain_config(
"-D__TIMESTAMP__=\"redacted\"",
"-D__TIME__=\"redacted\"",
],
coverage_compile_flags = ["--coverage"],
coverage_link_flags = ["--coverage"],
supports_start_end_lib = True,
)
# Android tooling requires a default toolchain for the armeabi-v7a cpu.
cc_toolchain(
name = "cc-compiler-armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
toolchain_config = ":stub_armeabi-v7a",
all_files = ":empty",
ar_files = ":empty",
as_files = ":empty",
@@ -159,6 +157,8 @@ cc_toolchain(
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
toolchain_config = ":stub_armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
)
armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")

View File

@@ -41,7 +41,7 @@ platform(
"@bazel_tools//tools/cpp:gcc",
],
exec_properties = {
"container-image": "docker://gcr.io/prysmaticlabs/rbe-worker@sha256:fdd160ed95406580948fb93c2618ca12fbd3fa93afabb84bf4bfbb2e6bdd7dbd",
"container-image": "docker://gcr.io/prysmaticlabs/rbe-worker@sha256:0175024b0968eee56a50d4d813c4b2fc68dca90e7ecc453cdae6e82e112b845d",
"OSFamily": "Linux",
},
)

View File

@@ -1,12 +1,11 @@
# Generated file, do not modify by hand
# Generated by 'rbe_ubuntu_gcc_gen' rbe_autoconfig rule
# Generated by 'rbe_ubuntu_clang_gen' rbe_autoconfig rule
"""Definitions to be used in rbe_repo attr of an rbe_autoconf rule """
toolchain_config_spec0 = struct(config_repos = ["prysm_toolchains"], create_cc_configs = True, create_java_configs = True, env = {"BAZEL_COMPILER": "clang", "BAZEL_LINKLIBS": "-l%:libstdc++.a", "BAZEL_LINKOPTS": "-lm:-static-libgcc", "BAZEL_USE_LLVM_NATIVE_COVERAGE": "1", "GCOV": "llvm-profdata", "CC": "clang", "CXX": "clang++"}, java_home = "/usr/lib/jvm/java-8-openjdk-amd64", name = "clang")
toolchain_config_spec1 = struct(config_repos = ["prysm_toolchains"], create_cc_configs = True, create_java_configs = True, env = {"BAZEL_COMPILER": "gcc", "BAZEL_LINKLIBS": "-l%:libstdc++.a", "BAZEL_LINKOPTS": "-lm:-static-libgcc", "CC": "gcc", "CXX": "g++"}, java_home = "/usr/lib/jvm/java-8-openjdk-amd64", name = "gcc")
_TOOLCHAIN_CONFIG_SPECS = [toolchain_config_spec0,toolchain_config_spec1]
_BAZEL_TO_CONFIG_SPEC_NAMES = {"3.2.0": ["clang", "gcc"]}
LATEST = "sha256:fdd160ed95406580948fb93c2618ca12fbd3fa93afabb84bf4bfbb2e6bdd7dbd"
CONTAINER_TO_CONFIG_SPEC_NAMES = {"sha256:fdd160ed95406580948fb93c2618ca12fbd3fa93afabb84bf4bfbb2e6bdd7dbd": ["clang", "gcc"]}
_TOOLCHAIN_CONFIG_SPECS = [toolchain_config_spec0]
_BAZEL_TO_CONFIG_SPEC_NAMES = {"3.7.0": ["clang"]}
LATEST = "sha256:d5fa14154811dff0886e4c808dc15f18c4bb8545a1ef3c53805a0db13564bdad"
CONTAINER_TO_CONFIG_SPEC_NAMES = {"sha256:d5fa14154811dff0886e4c808dc15f18c4bb8545a1ef3c53805a0db13564bdad": ["clang"]}
_DEFAULT_TOOLCHAIN_CONFIG_SPEC = toolchain_config_spec0
TOOLCHAIN_CONFIG_AUTOGEN_SPEC = struct(
bazel_to_config_spec_names_map = _BAZEL_TO_CONFIG_SPEC_NAMES,

View File

@@ -3,9 +3,9 @@
set -eu
OSXCROSS_REPO=tpoechtrager/osxcross
OSXCROSS_SHA1=bee9df6
OSX_SDK=MacOSX10.10.sdk
OSX_SDK_SUM=631b4144c6bf75bf7a4d480d685a9b5bda10ee8d03dbf0db829391e2ef858789
OSXCROSS_SHA1=2733413b6847c1489d6230f062d3293e6f42a021
OSX_SDK=MacOSX10.15.sdk
OSX_SDK_SUM=f1703b980d479b367d5bddd299fcad7e0ade2fe5019e571359f52ef2c58872a9
# darwin
mkdir -p /usr/x86_64-apple-darwin/osxcross
@@ -13,18 +13,19 @@ mkdir -p /tmp/osxcross && cd "/tmp/osxcross"
curl -sLo osxcross.tar.gz "https://codeload.github.com/${OSXCROSS_REPO}/tar.gz/${OSXCROSS_SHA1}"
tar --strip=1 -xzf osxcross.tar.gz
rm -f osxcross.tar.gz
curl -sLo tarballs/${OSX_SDK}.tar.xz "https://s3.dockerproject.org/darwin/v2/${OSX_SDK}.tar.xz"
curl -sLo tarballs/${OSX_SDK}.tar.xz "https://prysmaticlabs.com/uploads/${OSX_SDK}.tar.xz"
echo "${OSX_SDK_SUM}" "tarballs/${OSX_SDK}.tar.xz" | sha256sum -c -
yes "" | SDK_VERSION=10.10 OSX_VERSION_MIN=10.10 OCDEBUG=1 ./build.sh
yes "" | SDK_VERSION=10.15 OSX_VERSION_MIN=10.12 OCDEBUG=1 ./build.sh
mv target/* /usr/x86_64-apple-darwin/osxcross/
mv tools /usr/x86_64-apple-darwin/osxcross/
cd /usr/x86_64-apple-darwin/osxcross/include
ln -s ../SDK/MacOSX10.10.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/ CarbonCore
ln -s ../SDK/MacOSX10.10.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/ CoreFoundation
ln -s ../SDK/MacOSX10.10.sdk/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/ Frameworks
ln -s ../SDK/MacOSX10.10.sdk/System/Library/Frameworks/Security.framework/Versions/A/Headers/ Security
ln -s ../SDK/${OSX_SDK}/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/ CarbonCore
ln -s ../SDK/${OSX_SDK}/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers/ CoreFoundation
ln -s ../SDK/${OSX_SDK}/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/ Frameworks
ln -s ../SDK/${OSX_SDK}/System/Library/Frameworks/Security.framework/Versions/A/Headers/ Security
rm -rf /tmp/osxcross
rm -rf "/usr/x86_64-apple-darwin/osxcross/SDK/MacOSX10.10.sdk/usr/share/man"
rm -rf "/usr/x86_64-apple-darwin/osxcross/SDK/${OSX_SDK}/usr/share/man"
# symlink ld64.lld
ln -s /usr/x86_64-apple-darwin/osxcross/bin/x86_64-apple-darwin14-ld /usr/x86_64-apple-darwin/osxcross/bin/ld64.lld
ln -s /usr/x86_64-apple-darwin/osxcross/bin/x86_64-apple-darwin19-ld /usr/x86_64-apple-darwin/osxcross/bin/ld64.lld
ln -s /usr/x86_64-apple-darwin/osxcross/lib/libxar.so.1 /usr/lib
ln -s /usr/x86_64-apple-darwin/osxcross/lib/libtapi.so* /usr/lib

View File

@@ -3,7 +3,7 @@ load("@prysm//tools/cross-toolchain:configs/versions.bzl", _generated_toolchain_
_PRYSM_BUILD_IMAGE_REGISTRY = "gcr.io"
_PRYSM_BUILD_IMAGE_REPOSITORY = "prysmaticlabs/rbe-worker"
_PRYSM_BUILD_IMAGE_DIGEST = "sha256:fdd160ed95406580948fb93c2618ca12fbd3fa93afabb84bf4bfbb2e6bdd7dbd"
_PRYSM_BUILD_IMAGE_DIGEST = "sha256:d5fa14154811dff0886e4c808dc15f18c4bb8545a1ef3c53805a0db13564bdad"
_PRYSM_BUILD_IMAGE_JAVA_HOME = "/usr/lib/jvm/java-8-openjdk-amd64"
_CONFIGS_OUTPUT_BASE = "tools/cross-toolchain/configs"

View File

@@ -9,4 +9,3 @@ cp -vf "${RBE_AUTOCONF_ROOT}/tools/cross-toolchain/empty.bzl" "${RBE_AUTOCONF_RO
# Bazel query is the right command so bazel won't fail itself.
bazel query "@rbe_ubuntu_clang_gen//..."
bazel query "@rbe_ubuntu_gcc_gen//..."

View File

@@ -27,24 +27,10 @@ go_binary(
go_image(
name = "image",
srcs = ["main.go"],
base = "//tools:go_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/enr-calculator",
pure = "on",
race = "off",
binary = "enr-calculator",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"@com_github_btcsuite_btcd//btcec:go_default_library",
"@com_github_ethereum_go_ethereum//p2p/enode:go_default_library",
"@com_github_ethereum_go_ethereum//p2p/enr:go_default_library",
"@com_github_libp2p_go_libp2p_core//crypto:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
container_bundle(

View File

@@ -26,22 +26,10 @@ go_binary(
go_image(
name = "image",
srcs = ["main.go"],
base = "//tools:go_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/eth1exporter",
race = "off",
static = "off",
binary = ":eth1exporter",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"@com_github_ethereum_go_ethereum//common:go_default_library",
"@com_github_ethereum_go_ethereum//ethclient:go_default_library",
"@com_github_ethereum_go_ethereum//params:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
container_bundle(

View File

@@ -43,16 +43,9 @@ go_binary(
go_image(
name = "image",
srcs = SRCS,
base = "//tools:go_image",
goarch = "amd64",
goos = "linux",
importpath = IMPORT_PATH,
pure = "off", # depends on cgo for go-ethereum crypto
race = "off",
static = "off", # go-ethereum is bad about static
binary = ":faucet",
tags = ["manual"],
deps = DEPS,
)
container_bundle(

View File

@@ -27,28 +27,14 @@ go_binary(
go_image(
name = "image",
srcs = ["main.go"],
base = select({
"//tools:base_image_alpine": "//tools:alpine_cc_image",
"//tools:base_image_cc": "//tools:cc_image",
"//conditions:default": "//tools:cc_image",
}),
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/genesis-state-gen",
pure = "off",
static = "off", # Static enabled binary seems to cause issues with DNS lookup with cgo.
race = "off",
binary = ":genesis-state-gen",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//proto/beacon/p2p/v1:go_default_library",
"//shared/fileutil:go_default_library",
"//shared/interop:go_default_library",
"//shared/params:go_default_library",
"@com_github_ghodss_yaml//:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
],
)
container_bundle(

View File

@@ -26,28 +26,10 @@ go_library(
go_image(
name = "image",
srcs = ["main.go"],
base = "//tools:cc_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/pcli",
race = "off",
binary = ":pcli",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//beacon-chain/core/state:go_default_library",
"//beacon-chain/state:go_default_library",
"//beacon-chain/state/stateutil:go_default_library",
"//proto/beacon/p2p/v1:go_default_library",
"//shared/version:go_default_library",
"@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
"@com_github_prysmaticlabs_go_ssz//:go_default_library",
"@com_github_sirupsen_logrus//:go_default_library",
"@com_github_urfave_cli_v2//:go_default_library",
"@com_github_kr_pretty//:go_default_library",
"@com_github_x_cray_logrus_prefixed_formatter//:go_default_library",
"@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
],
)
go_binary(

View File

@@ -22,24 +22,10 @@ go_library(
go_image(
name = "image",
srcs = ["relaynode.go"],
base = "//tools:go_image",
goarch = "amd64",
goos = "linux",
importpath = "github.com/prysmaticlabs/prysm/tools/relaynode",
pure = "on",
race = "off",
binary = ":relaynode",
tags = ["manual"],
visibility = ["//visibility:private"],
deps = [
"//shared/version:go_default_library",
"@com_github_ipfs_go_log//:go_default_library",
"@com_github_libp2p_go_libp2p//:go_default_library",
"@com_github_libp2p_go_libp2p_circuit//:go_default_library",
"@com_github_libp2p_go_libp2p_crypto//:go_default_library",
"@com_github_multiformats_go_multiaddr//:go_default_library",
"//shared/maxprocs:go_default_library",
],
)
go_binary(