Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 20 additions & 16 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ build --host_javabase=@bazel_tools//tools/jdk:remote_jdk11
build --javabase=@bazel_tools//tools/jdk:remote_jdk11
build --enable_platform_specific_config

# Enable position independent code, this option is not supported on Windows and default on on macOS.
# Enable position independent code (this is the default on macOS and Windows)
# (Workaround for https://github.com/bazelbuild/rules_foreign_cc/issues/421)
build:linux --copt=-fPIC
build:linux --cxxopt=-std=c++17
build:linux --conlyopt=-fexceptions
Expand Down Expand Up @@ -117,7 +118,8 @@ build:libc++ --config=clang
build:libc++ --action_env=CXXFLAGS=-stdlib=libc++
build:libc++ --action_env=LDFLAGS=-stdlib=libc++
build:libc++ --action_env=BAZEL_CXXOPTS=-stdlib=libc++
build:libc++ --action_env=BAZEL_LINKLIBS=-l%:libc++.a:-l%:libc++abi.a:-lm
build:libc++ --action_env=BAZEL_LINKLIBS=-l%:libc++.a:-l%:libc++abi.a
build:libc++ --action_env=BAZEL_LINKOPTS=-lm:-pthread
build:libc++ --define force_libcpp=enabled

# Optimize build for binary size reduction.
Expand Down Expand Up @@ -199,6 +201,8 @@ build:remote --spawn_strategy=remote,sandboxed,local
build:remote --strategy=Javac=remote,sandboxed,local
build:remote --strategy=Closure=remote,sandboxed,local
build:remote --strategy=Genrule=remote,sandboxed,local
# rules_rust is not remote runnable (yet)
build:remote --strategy=Rustc=sandboxed,local
build:remote --remote_timeout=7200
build:remote --auth_enabled=true
build:remote --remote_download_toplevel
Expand Down Expand Up @@ -235,7 +239,7 @@ build:remote-clang-cl --config=rbe-toolchain-clang-cl

# Docker sandbox
# NOTE: Update this from https://github.com/envoyproxy/envoy-build-tools/blob/master/toolchains/rbe_toolchains_config.bzl#L8
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:1526786b8f5cfce7a40829a0c527b5a27570889c
build:docker-sandbox --experimental_docker_image=envoyproxy/envoy-build-ubuntu:b480535e8423b5fd7c102fd30c92f4785519e33a
build:docker-sandbox --spawn_strategy=docker
build:docker-sandbox --strategy=Javac=docker
build:docker-sandbox --strategy=Closure=docker
Expand Down Expand Up @@ -292,27 +296,27 @@ build:windows --define signal_trace=disabled
build:windows --define hot_restart=disabled
build:windows --define tcmalloc=disabled
build:windows --define manual_stamp=manual_stamp
build:windows --cxxopt="/std:c++17"

# Should not be required after upstream fix to bazel,
# and already a no-op to linux/macos builds
# see issue https://github.com/bazelbuild/rules_foreign_cc/issues/301
# TODO(wrowe,sunjayBhatia): Resolve bugs upstream in curl and rules_foreign_cc
# See issue https://github.com/bazelbuild/rules_foreign_cc/issues/301
build:windows --copt="-DCARES_STATICLIB"
build:windows --copt="-DNGHTTP2_STATICLIB"
build:windows --copt="-DCURL_STATICLIB"
build:windows --cxxopt="/std:c++17"

# Required to work around build defects on Windows MSVC cl
# Unguarded gcc pragmas in quiche are not recognized by MSVC
build:msvc-cl --copt="/wd4068"
# Allows 'nodiscard' function return values to be discarded
build:msvc-cl --copt="/wd4834"
# Allows inline functions to be undefined
build:msvc-cl --copt="/wd4506"
build:msvc-cl --copt="-D_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING"
# Override any clang preference if building msvc-cl
# Drop the determinism feature (-DDATE etc are a no-op in msvc-cl)
build:msvc-cl --action_env=USE_CLANG_CL=""
build:msvc-cl --define clang_cl=0
build:msvc-cl --features=-determinism

# Windows build behaviors when using clang-cl
build:clang-cl --action_env=USE_CLANG_CL=1
build:clang-cl --define clang_cl=1

# Required to work around Windows clang-cl build defects
# Ignore conflicting definitions of _WIN32_WINNT
# Overriding __TIME__ etc is problematic (and is actually an invalid no-op)
# Override determinism flags (DATE etc) is valid on clang-cl compiler
build:clang-cl --copt="-Wno-macro-redefined"
build:clang-cl --copt="-Wno-builtin-macro-redefined"
build:clang-cl --action_env=USE_CLANG_CL=1
Expand Down
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
references:
envoy-build-image: &envoy-build-image # October 2nd, 2020
envoyproxy/envoy-build-ubuntu:1526786b8f5cfce7a40829a0c527b5a27570889c
envoy-build-image: &envoy-build-image # October 12th, 2020
envoyproxy/envoy-build-ubuntu:b480535e8423b5fd7c102fd30c92f4785519e33a
version: 2
jobs:
build:
Expand Down
8 changes: 4 additions & 4 deletions bazel/repositories.bzl
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

ENVOY_COMMIT = "c318156496edc46c844822a3d1f107ee496fa449" # October 2nd, 2020
ENVOY_SHA = "dc4ee70d317f0310b96cb803a5c02b42589f5d1dfbfb2989f4bf72800aaa799a"
ENVOY_COMMIT = "2097fe908f2abb718757dbd4087d793c861d7c5a" # October 12th, 2020
ENVOY_SHA = "323360544ee355f0eddea742b31a80a94899090db1d64029cd22880083b311c0"

HDR_HISTOGRAM_C_VERSION = "0.11.1" # September 17th, 2020
HDR_HISTOGRAM_C_SHA = "8550071d4ae5c8229448f9b68469d6d42c620cd25111b49c696d00185e5f8329"
HDR_HISTOGRAM_C_VERSION = "0.11.2" # October 12th, 2020
HDR_HISTOGRAM_C_SHA = "637f28b5f64de2e268131e4e34e6eef0b91cf5ff99167db447d9b2825eae6bad"

def nighthawk_dependencies():
http_archive(
Expand Down
1 change: 1 addition & 0 deletions benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ bazel test \
--compilation_mode=opt \
--cxxopt=-g \
--cxxopt=-ggdb3 \
--define tcmalloc=gperftools \
//benchmarks:*
```

Expand Down
5 changes: 3 additions & 2 deletions ci/do_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ function do_build () {
}

function do_opt_build () {
bazel build $BAZEL_BUILD_OPTIONS -c opt //:nighthawk
bazel build $BAZEL_BUILD_OPTIONS -c opt //benchmarks:benchmarks
bazel build $BAZEL_BUILD_OPTIONS -c opt --define tcmalloc=gperftools //:nighthawk
bazel build $BAZEL_BUILD_OPTIONS -c opt --define tcmalloc=gperftools //benchmarks:benchmarks
}

function do_test() {
Expand Down Expand Up @@ -127,6 +127,7 @@ function do_benchmark_with_own_binaries() {
--compilation_mode=opt \
--cxxopt=-g \
--cxxopt=-ggdb3 \
--define tcmalloc=gperftools \
//benchmarks:*
}

Expand Down
6 changes: 3 additions & 3 deletions source/client/process_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ class ClusterManagerFactory : public Envoy::Upstream::ProdClusterManagerFactory
const Envoy::Network::ConnectionSocket::OptionsSharedPtr& options,
const Envoy::Network::TransportSocketOptionsSharedPtr& transport_socket_options) override {
if (protocol == Envoy::Http::Protocol::Http11 || protocol == Envoy::Http::Protocol::Http10) {
auto* h1_pool =
new Http1PoolImpl(dispatcher, random_, host, priority, options, transport_socket_options);
auto* h1_pool = new Http1PoolImpl(dispatcher, api_.randomGenerator(), host, priority, options,
transport_socket_options);
h1_pool->setConnectionReuseStrategy(connection_reuse_strategy_);
h1_pool->setPrefetchConnections(prefetch_connections_);
return Envoy::Http::ConnectionPool::InstancePtr{h1_pool};
Expand Down Expand Up @@ -471,7 +471,7 @@ bool ProcessImpl::runInternal(OutputCollector& collector, const std::vector<UriP
std::make_unique<Envoy::Extensions::TransportSockets::Tls::ContextManagerImpl>(
time_system_);
cluster_manager_factory_ = std::make_unique<ClusterManagerFactory>(
admin_, Envoy::Runtime::LoaderSingleton::get(), store_root_, tls_, generator_,
admin_, Envoy::Runtime::LoaderSingleton::get(), store_root_, tls_,
dispatcher_->createDnsResolver({}, false), *ssl_context_manager_, *dispatcher_,
*local_info_, secret_manager_, validation_context_, *api_, http_context_, grpc_context_,
access_log_manager_, *singleton_manager_);
Expand Down