# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You 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. load("@rules_proto//proto:defs.bzl", "proto_library") load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_proto_library") COPTS = [ "-D__STDC_FORMAT_MACROS", "-DBTHREAD_USE_FAST_PTHREAD_MUTEX", "-D__const__=__unused__", "-D_GNU_SOURCE", "-DUSE_SYMBOLIZE", "-DNO_TCMALLOC", "-D__STDC_LIMIT_MACROS", "-D__STDC_CONSTANT_MACROS", "-fPIC", "-Wno-unused-parameter", "-fno-omit-frame-pointer", "-DGFLAGS_NS=google", ] + select({ "//bazel/config:brpc_with_glog": ["-DBRPC_WITH_GLOG=1"], "//conditions:default": ["-DBRPC_WITH_GLOG=0"], }) + select({ "//bazel/config:brpc_with_rdma": ["-DBRPC_WITH_RDMA=1"], "//conditions:default": [""], }) proto_library( name = "echo_c++_proto", srcs = [ "echo_c++/echo.proto", ], ) proto_library( name = "rdma_performance_proto", srcs = [ "rdma_performance/test.proto", ], ) cc_proto_library( name = "cc_echo_c++_proto", deps = [ ":echo_c++_proto", ], ) cc_proto_library( name = "cc_rdma_performance_proto", deps = [ ":rdma_performance_proto", ], ) cc_binary( name = "echo_c++_server", srcs = [ "echo_c++/server.cpp", ], copts = COPTS, includes = [ "echo_c++", ], deps = [ ":cc_echo_c++_proto", "//:brpc", ], ) cc_binary( name = "echo_c++_client", srcs = [ "echo_c++/client.cpp", ], copts = COPTS, includes = [ "echo_c++", ], deps = [ ":cc_echo_c++_proto", "//:brpc", ], ) cc_binary( name = "rdma_performance_server", srcs = [ "rdma_performance/server.cpp", ], includes = [ "rdma_performance", ], copts = COPTS + ["-DBRPC_WITH_RDMA=1"], deps = [ ":cc_rdma_performance_proto", "//:brpc", ], ) cc_binary( name = "rdma_performance_client", srcs = [ "rdma_performance/client.cpp", ], includes = [ "rdma_performance", ], copts = COPTS + ["-DBRPC_WITH_RDMA=1"], deps = [ ":cc_rdma_performance_proto", "//:brpc", ], )