@ -1069,6 +1069,7 @@ interop_test: $(BINDIR)/$(CONFIG)/interop_test
json_run_localhost : $( BINDIR ) /$( CONFIG ) /json_run_localhost
metrics_client : $( BINDIR ) /$( CONFIG ) /metrics_client
mock_test : $( BINDIR ) /$( CONFIG ) /mock_test
noop-benchmark : $( BINDIR ) /$( CONFIG ) /noop -benchmark
proto_server_reflection_test : $( BINDIR ) /$( CONFIG ) /proto_server_reflection_test
qps_interarrival_test : $( BINDIR ) /$( CONFIG ) /qps_interarrival_test
qps_json_driver : $( BINDIR ) /$( CONFIG ) /qps_json_driver
@ -1142,7 +1143,6 @@ bad_ssl_cert_server: $(BINDIR)/$(CONFIG)/bad_ssl_cert_server
bad_ssl_cert_test : $( BINDIR ) /$( CONFIG ) /bad_ssl_cert_test
h2_census_test : $( BINDIR ) /$( CONFIG ) /h 2_census_test
h2_compress_test : $( BINDIR ) /$( CONFIG ) /h 2_compress_test
h2_fake_resolver_test : $( BINDIR ) /$( CONFIG ) /h 2_fake_resolver_test
h2_fakesec_test : $( BINDIR ) /$( CONFIG ) /h 2_fakesec_test
h2_fd_test : $( BINDIR ) /$( CONFIG ) /h 2_fd_test
h2_full_test : $( BINDIR ) /$( CONFIG ) /h 2_full_test
@ -1161,7 +1161,6 @@ h2_ssl_proxy_test: $(BINDIR)/$(CONFIG)/h2_ssl_proxy_test
h2_uds_test : $( BINDIR ) /$( CONFIG ) /h 2_uds_test
h2_census_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_census_nosec_test
h2_compress_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_compress_nosec_test
h2_fake_resolver_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_fake_resolver_nosec_test
h2_fd_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_fd_nosec_test
h2_full_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_full_nosec_test
h2_full+pipe_nosec_test : $( BINDIR ) /$( CONFIG ) /h 2_full +pipe_nosec_test
@ -1237,9 +1236,9 @@ pc_cxx: $(LIBDIR)/$(CONFIG)/pkgconfig/grpc++.pc
pc_cxx_unsecure : $( LIBDIR ) /$( CONFIG ) /pkgconfig /grpc ++_unsecure .pc
i f e q ( $( EMBED_OPENSSL ) , t r u e )
privatelibs_cxx : $( LIBDIR ) /$( CONFIG ) /libgrpc ++_proto_reflection_desc_db .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_config .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc_cli_libs .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_main .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_lib .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_main .a $( LIBDIR ) /$( CONFIG ) /libqps .a $( LIBDIR ) /$( CONFIG ) /libboringssl_test_util .a $( LIBDIR ) /$( CONFIG ) /libboringssl_aes_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_asn 1_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_base 64_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bio_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bn_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bytestring_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_aead_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_cipher_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_cmac_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ed 25519_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_x 25519_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_dh_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_digest_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ec_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ecdsa_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_err_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_evp_extra_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_evp_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pbkdf_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_hmac_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pkcs 12_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pkcs 8_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_poly 1305_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_rsa_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_x 509_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ssl_test_lib .a
privatelibs_cxx : $( LIBDIR ) /$( CONFIG ) /libgrpc ++_proto_reflection_desc_db .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_config .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc_cli_libs .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_main .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_lib .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_main .a $( LIBDIR ) /$( CONFIG ) /libqps .a $( LIBDIR ) /$( CONFIG ) /libboringssl_test_util .a $( LIBDIR ) /$( CONFIG ) /libboringssl_aes_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_asn 1_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_base 64_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bio_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bn_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_bytestring_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_aead_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_cipher_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_cmac_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ed 25519_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_x 25519_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_dh_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_digest_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ec_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ecdsa_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_err_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_evp_extra_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_evp_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pbkdf_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_hmac_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pkcs 12_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_pkcs 8_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_poly 1305_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_rsa_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_x 509_test_lib .a $( LIBDIR ) /$( CONFIG ) /libboringssl_ssl_test_lib .a $( LIBDIR ) /$( CONFIG ) /libgoogle_benchmark .a
e l s e
privatelibs_cxx : $( LIBDIR ) /$( CONFIG ) /libgrpc ++_proto_reflection_desc_db .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_config .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc_cli_libs .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_main .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_lib .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_main .a $( LIBDIR ) /$( CONFIG ) /libqps .a
privatelibs_cxx : $( LIBDIR ) /$( CONFIG ) /libgrpc ++_proto_reflection_desc_db .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_config .a $( LIBDIR ) /$( CONFIG ) /libgrpc ++_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc_cli_libs .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_client_main .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_helper .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_lib .a $( LIBDIR ) /$( CONFIG ) /libinterop_server_main .a $( LIBDIR ) /$( CONFIG ) /libqps .a $( LIBDIR ) /$( CONFIG ) /libgoogle_benchmark .a
e n d i f
@ -1372,7 +1371,6 @@ buildtests_c: privatelibs_c \
$( BINDIR) /$( CONFIG) /bad_ssl_cert_test \
$( BINDIR) /$( CONFIG) /h2_census_test \
$( BINDIR) /$( CONFIG) /h2_compress_test \
$( BINDIR) /$( CONFIG) /h2_fake_resolver_test \
$( BINDIR) /$( CONFIG) /h2_fakesec_test \
$( BINDIR) /$( CONFIG) /h2_fd_test \
$( BINDIR) /$( CONFIG) /h2_full_test \
@ -1391,7 +1389,6 @@ buildtests_c: privatelibs_c \
$( BINDIR) /$( CONFIG) /h2_uds_test \
$( BINDIR) /$( CONFIG) /h2_census_nosec_test \
$( BINDIR) /$( CONFIG) /h2_compress_nosec_test \
$( BINDIR) /$( CONFIG) /h2_fake_resolver_nosec_test \
$( BINDIR) /$( CONFIG) /h2_fd_nosec_test \
$( BINDIR) /$( CONFIG) /h2_full_nosec_test \
$( BINDIR) /$( CONFIG) /h2_full+pipe_nosec_test \
@ -1448,6 +1445,7 @@ buildtests_cxx: privatelibs_cxx \
$( BINDIR) /$( CONFIG) /json_run_localhost \
$( BINDIR) /$( CONFIG) /metrics_client \
$( BINDIR) /$( CONFIG) /mock_test \
$( BINDIR) /$( CONFIG) /noop-benchmark \
$( BINDIR) /$( CONFIG) /proto_server_reflection_test \
$( BINDIR) /$( CONFIG) /qps_interarrival_test \
$( BINDIR) /$( CONFIG) /qps_json_driver \
@ -1538,6 +1536,7 @@ buildtests_cxx: privatelibs_cxx \
$( BINDIR) /$( CONFIG) /json_run_localhost \
$( BINDIR) /$( CONFIG) /metrics_client \
$( BINDIR) /$( CONFIG) /mock_test \
$( BINDIR) /$( CONFIG) /noop-benchmark \
$( BINDIR) /$( CONFIG) /proto_server_reflection_test \
$( BINDIR) /$( CONFIG) /qps_interarrival_test \
$( BINDIR) /$( CONFIG) /qps_json_driver \
@ -1851,6 +1850,8 @@ test_cxx: buildtests_cxx
$( Q) $( BINDIR) /$( CONFIG) /interop_test || ( echo test interop_test failed ; exit 1 )
$( E) "[RUN] Testing mock_test"
$( Q) $( BINDIR) /$( CONFIG) /mock_test || ( echo test mock_test failed ; exit 1 )
$( E) "[RUN] Testing noop-benchmark"
$( Q) $( BINDIR) /$( CONFIG) /noop-benchmark || ( echo test noop-benchmark failed ; exit 1 )
$( E) "[RUN] Testing proto_server_reflection_test"
$( Q) $( BINDIR) /$( CONFIG) /proto_server_reflection_test || ( echo test proto_server_reflection_test failed ; exit 1 )
$( E) "[RUN] Testing qps_openloop_test"
@ -6742,6 +6743,55 @@ ifneq ($(NO_DEPS),true)
e n d i f
LIBGOOGLE_BENCHMARK_SRC = \
third_party/google_benchmark/src/benchmark.cc \
third_party/google_benchmark/src/benchmark_register.cc \
third_party/google_benchmark/src/colorprint.cc \
third_party/google_benchmark/src/commandlineflags.cc \
third_party/google_benchmark/src/complexity.cc \
third_party/google_benchmark/src/console_reporter.cc \
third_party/google_benchmark/src/csv_reporter.cc \
third_party/google_benchmark/src/json_reporter.cc \
third_party/google_benchmark/src/reporter.cc \
third_party/google_benchmark/src/sleep.cc \
third_party/google_benchmark/src/string_util.cc \
third_party/google_benchmark/src/sysinfo.cc \
third_party/google_benchmark/src/timers.cc \
PUBLIC_HEADERS_CXX += \
LIBGOOGLE_BENCHMARK_OBJS = $( addprefix $( OBJDIR) /$( CONFIG) /, $( addsuffix .o, $( basename $( LIBGOOGLE_BENCHMARK_SRC) ) ) )
$(LIBGOOGLE_BENCHMARK_OBJS) : CPPFLAGS += -Ithird_party /google_benchmark /include -DHAVE_POSIX_REGEX
i f e q ( $( NO_PROTOBUF ) , t r u e )
# You can't build a C++ library if you don't have protobuf - a bit overreached, but still okay.
$(LIBDIR)/$(CONFIG)/libgoogle_benchmark.a : protobuf_dep_error
e l s e
$(LIBDIR)/$(CONFIG)/libgoogle_benchmark.a : $( ZLIB_DEP ) $( PROTOBUF_DEP ) $( LIBGOOGLE_BENCHMARK_OBJS )
$( E) " [AR] Creating $@ "
$( Q) mkdir -p ` dirname $@ `
$( Q) rm -f $( LIBDIR) /$( CONFIG) /libgoogle_benchmark.a
$( Q) $( AR) $( AROPTS) $( LIBDIR) /$( CONFIG) /libgoogle_benchmark.a $( LIBGOOGLE_BENCHMARK_OBJS)
i f e q ( $( SYSTEM ) , D a r w i n )
$( Q) ranlib -no_warning_for_no_symbols $( LIBDIR) /$( CONFIG) /libgoogle_benchmark.a
e n d i f
e n d i f
i f n e q ( $( NO_DEPS ) , t r u e )
-include $(LIBGOOGLE_BENCHMARK_OBJS : .o =.dep )
e n d i f
LIBZ_SRC = \
third_party/zlib/adler32.c \
third_party/zlib/compress.c \
@ -12676,6 +12726,49 @@ endif
e n d i f
NOOP-BENCHMARK_SRC = \
test/cpp/microbenchmarks/noop-benchmark.cc \
NOOP-BENCHMARK_OBJS = $( addprefix $( OBJDIR) /$( CONFIG) /, $( addsuffix .o, $( basename $( NOOP-BENCHMARK_SRC) ) ) )
i f e q ( $( NO_SECURE ) , t r u e )
# You can't build secure targets if you don't have OpenSSL.
$(BINDIR)/$(CONFIG)/noop-benchmark : openssl_dep_error
e l s e
i f e q ( $( NO_PROTOBUF ) , t r u e )
# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.0.0+.
$(BINDIR)/$(CONFIG)/noop-benchmark : protobuf_dep_error
e l s e
$(BINDIR)/$(CONFIG)/noop-benchmark : $( PROTOBUF_DEP ) $( NOOP -BENCHMARK_OBJS ) $( LIBDIR ) /$( CONFIG ) /libgoogle_benchmark .a
$( E) " [LD] Linking $@ "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( LDXX) $( LDFLAGS) $( NOOP-BENCHMARK_OBJS) $( LIBDIR) /$( CONFIG) /libgoogle_benchmark.a $( LDLIBSXX) $( LDLIBS_PROTOBUF) $( LDLIBS) $( LDLIBS_SECURE) $( GTEST_LIB) -o $( BINDIR) /$( CONFIG) /noop-benchmark
e n d i f
e n d i f
$(OBJDIR)/$(CONFIG)/test/cpp/microbenchmarks/noop-benchmark.o : $( LIBDIR ) /$( CONFIG ) /libgoogle_benchmark .a
deps_noop-benchmark : $( NOOP -BENCHMARK_OBJS :.o =.dep )
i f n e q ( $( NO_SECURE ) , t r u e )
i f n e q ( $( NO_DEPS ) , t r u e )
-include $(NOOP-BENCHMARK_OBJS : .o =.dep )
e n d i f
e n d i f
PROTO_SERVER_REFLECTION_TEST_SRC = \
test/cpp/end2end/proto_server_reflection_test.cc \
@ -14975,38 +15068,6 @@ endif
e n d i f
H2_FAKE_RESOLVER_TEST_SRC = \
test/core/end2end/fixtures/h2_fake_resolver.c \
H2_FAKE_RESOLVER_TEST_OBJS = $( addprefix $( OBJDIR) /$( CONFIG) /, $( addsuffix .o, $( basename $( H2_FAKE_RESOLVER_TEST_SRC) ) ) )
i f e q ( $( NO_SECURE ) , t r u e )
# You can't build secure targets if you don't have OpenSSL.
$(BINDIR)/$(CONFIG)/h2_fake_resolver_test : openssl_dep_error
e l s e
$(BINDIR)/$(CONFIG)/h2_fake_resolver_test : $( H 2_FAKE_RESOLVER_TEST_OBJS ) $( LIBDIR ) /$( CONFIG ) /libend 2end_tests .a $( LIBDIR ) /$( CONFIG ) /libgrpc_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc .a $( LIBDIR ) /$( CONFIG ) /libgpr_test_util .a $( LIBDIR ) /$( CONFIG ) /libgpr .a
$( E) " [LD] Linking $@ "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( LD) $( LDFLAGS) $( H2_FAKE_RESOLVER_TEST_OBJS) $( LIBDIR) /$( CONFIG) /libend2end_tests.a $( LIBDIR) /$( CONFIG) /libgrpc_test_util.a $( LIBDIR) /$( CONFIG) /libgrpc.a $( LIBDIR) /$( CONFIG) /libgpr_test_util.a $( LIBDIR) /$( CONFIG) /libgpr.a $( LDLIBS) $( LDLIBS_SECURE) -o $( BINDIR) /$( CONFIG) /h2_fake_resolver_test
e n d i f
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fake_resolver.o : $( LIBDIR ) /$( CONFIG ) /libend 2end_tests .a $( LIBDIR ) /$( CONFIG ) /libgrpc_test_util .a $( LIBDIR ) /$( CONFIG ) /libgrpc .a $( LIBDIR ) /$( CONFIG ) /libgpr_test_util .a $( LIBDIR ) /$( CONFIG ) /libgpr .a
deps_h2_fake_resolver_test : $( H 2_FAKE_RESOLVER_TEST_OBJS :.o =.dep )
i f n e q ( $( NO_SECURE ) , t r u e )
i f n e q ( $( NO_DEPS ) , t r u e )
-include $(H2_FAKE_RESOLVER_TEST_OBJS : .o =.dep )
e n d i f
e n d i f
H2_FAKESEC_TEST_SRC = \
test/core/end2end/fixtures/h2_fakesec.c \
@ -15559,26 +15620,6 @@ ifneq ($(NO_DEPS),true)
e n d i f
H2_FAKE_RESOLVER_NOSEC_TEST_SRC = \
test/core/end2end/fixtures/h2_fake_resolver.c \
H2_FAKE_RESOLVER_NOSEC_TEST_OBJS = $( addprefix $( OBJDIR) /$( CONFIG) /, $( addsuffix .o, $( basename $( H2_FAKE_RESOLVER_NOSEC_TEST_SRC) ) ) )
$(BINDIR)/$(CONFIG)/h2_fake_resolver_nosec_test : $( H 2_FAKE_RESOLVER_NOSEC_TEST_OBJS ) $( LIBDIR ) /$( CONFIG ) /libend 2end_nosec_tests .a $( LIBDIR ) /$( CONFIG ) /libgrpc_test_util_unsecure .a $( LIBDIR ) /$( CONFIG ) /libgrpc_unsecure .a $( LIBDIR ) /$( CONFIG ) /libgpr_test_util .a $( LIBDIR ) /$( CONFIG ) /libgpr .a
$( E) " [LD] Linking $@ "
$( Q) mkdir -p ` dirname $@ `
$( Q) $( LD) $( LDFLAGS) $( H2_FAKE_RESOLVER_NOSEC_TEST_OBJS) $( LIBDIR) /$( CONFIG) /libend2end_nosec_tests.a $( LIBDIR) /$( CONFIG) /libgrpc_test_util_unsecure.a $( LIBDIR) /$( CONFIG) /libgrpc_unsecure.a $( LIBDIR) /$( CONFIG) /libgpr_test_util.a $( LIBDIR) /$( CONFIG) /libgpr.a $( LDLIBS) -o $( BINDIR) /$( CONFIG) /h2_fake_resolver_nosec_test
$(OBJDIR)/$(CONFIG)/test/core/end2end/fixtures/h2_fake_resolver.o : $( LIBDIR ) /$( CONFIG ) /libend 2end_nosec_tests .a $( LIBDIR ) /$( CONFIG ) /libgrpc_test_util_unsecure .a $( LIBDIR ) /$( CONFIG ) /libgrpc_unsecure .a $( LIBDIR ) /$( CONFIG ) /libgpr_test_util .a $( LIBDIR ) /$( CONFIG ) /libgpr .a
deps_h2_fake_resolver_nosec_test : $( H 2_FAKE_RESOLVER_NOSEC_TEST_OBJS :.o =.dep )
i f n e q ( $( NO_DEPS ) , t r u e )
-include $(H2_FAKE_RESOLVER_NOSEC_TEST_OBJS : .o =.dep )
e n d i f
H2_FD_NOSEC_TEST_SRC = \
test/core/end2end/fixtures/h2_fd.c \