|  | cc_library( | 
|  | name = "roughtime_logging", | 
|  | hdrs = ["logging.h"], | 
|  | deps = ["@com_google_protobuf//:protobuf"], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "protocol", | 
|  | srcs = ["protocol.cc"], | 
|  | hdrs = ["protocol.h"], | 
|  | deps = [ | 
|  | ":roughtime_logging", | 
|  | "@boringssl//:crypto", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_test( | 
|  | name = "protocol_test", | 
|  | srcs = ["protocol_test.cc"], | 
|  | copts = ["-Iexternal/gtest/include"], | 
|  | deps = [ | 
|  | ":protocol", | 
|  | "@gtest//:main", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "client", | 
|  | srcs = ["client.cc"], | 
|  | hdrs = ["client.h"], | 
|  | deps = [ | 
|  | ":protocol", | 
|  | ":roughtime_logging", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_test( | 
|  | name = "client_test", | 
|  | srcs = ["client_test.cc"], | 
|  | copts = ["-Iexternal/gtest/include"], | 
|  | deps = [ | 
|  | ":client", | 
|  | ":open_source_fillins", | 
|  | "@gtest//:main", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "time_source", | 
|  | hdrs = ["time_source.h"], | 
|  | deps = [":protocol"], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "server", | 
|  | srcs = ["server.cc"], | 
|  | hdrs = ["server.h"], | 
|  | deps = [ | 
|  | ":protocol", | 
|  | ":time_source", | 
|  | ":roughtime_logging", | 
|  | "@boringssl//:crypto", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_proto_library( | 
|  | name = "config_cc_proto", | 
|  | deps = [":config_proto"], | 
|  | ) | 
|  |  | 
|  | proto_library( | 
|  | name = "config_proto", | 
|  | srcs = ["config.proto"], | 
|  | ) | 
|  |  | 
|  | cc_binary( | 
|  | name = "simple_client", | 
|  | srcs = [ | 
|  | "clock_linux.cc", | 
|  | "clock_macos.cc", | 
|  | "simple_client.cc", | 
|  | ], | 
|  | deps = [ | 
|  | ":client", | 
|  | ":config_cc_proto", | 
|  | "@boringssl//:crypto", | 
|  | "@com_google_protobuf//:protobuf", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "simple_server_lib", | 
|  | srcs = ["simple_server.cc"], | 
|  | hdrs = ["simple_server.h"], | 
|  | deps = [ | 
|  | ":server", | 
|  | ":sys_time", | 
|  | ":udp_processor", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_binary( | 
|  | name = "simple_server", | 
|  | srcs = ["simple_server_main.cc"], | 
|  | deps = [":simple_server_lib"], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "open_source_fillins", | 
|  | hdrs = ["open_source_fillins.h"], | 
|  | deps = [":roughtime_logging"], | 
|  | defines = ["ROUGHTIME_OPEN_SOURCE"], | 
|  | ) | 
|  |  | 
|  | cc_test( | 
|  | name = "server_test", | 
|  | srcs = ["server_test.cc"], | 
|  | copts = ["-Iexternal/gtest/include"], | 
|  | deps = [ | 
|  | ":open_source_fillins", | 
|  | ":server", | 
|  | "@boringssl//:crypto", | 
|  | "@gtest//:main", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "udp_processor", | 
|  | srcs = ["udp_processor.cc"], | 
|  | hdrs = ["udp_processor.h"], | 
|  | deps = [ | 
|  | ":open_source_fillins", | 
|  | ":protocol", | 
|  | ":server", | 
|  | ":time_source", | 
|  | ":roughtime_logging", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | cc_library( | 
|  | name = "sys_time", | 
|  | srcs = ["sys_time.cc"], | 
|  | hdrs = ["sys_time.h"], | 
|  | deps = [ | 
|  | ":time_source", | 
|  | ":roughtime_logging", | 
|  | ], | 
|  | ) |