# Copyright 2022 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

load(
    "//build:source_list.bzl",
    "balsa_hdrs",
    "balsa_srcs",
    "binary_http_hdrs",
    "binary_http_srcs",
    "default_platform_impl_hdrs",
    "default_platform_impl_srcs",
    "default_platform_impl_test_support_hdrs",
    "default_platform_impl_test_support_srcs",
    "default_platform_impl_tool_support_hdrs",
    "default_platform_impl_tool_support_srcs",
    "io_test_support_hdrs",
    "io_test_support_srcs",
    "io_tests_srcs",
    "io_tool_support_hdrs",
    "io_tool_support_srcs",
    "masque_support_hdrs",
    "masque_support_srcs",
    "moqt_hdrs",
    "moqt_srcs",
    "moqt_test_srcs",
    "moqt_test_support_hdrs",
    "moqt_test_support_srcs",
    "oblivious_http_hdrs",
    "oblivious_http_srcs",
    "quiche_core_hdrs",
    "quiche_core_srcs",
    "quiche_test_support_hdrs",
    "quiche_test_support_srcs",
    "quiche_tests_srcs",
    "quiche_tool_support_hdrs",
    "quiche_tool_support_srcs",
)
load("//build:test.bzl", "test_suite_from_source_list")

licenses(["notice"])

package(
    default_visibility = ["//visibility:private"],
    features = [
        "parse_headers",
        "layering_check",
    ],
)

cc_library(
    name = "quiche_flags_list",
    textual_hdrs = [
        "common/quiche_protocol_flags_list.h",
        "common/quiche_feature_flags_list.h",
    ],
)

cc_library(
    name = "binary_http",
    srcs = binary_http_srcs,
    hdrs = binary_http_hdrs,
    deps = [
        ":quiche_core",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/types:span",
    ],
)

cc_library(
    name = "oblivious_http",
    srcs = oblivious_http_srcs,
    hdrs = oblivious_http_hdrs,
    deps = [
        ":quiche_core",
        "@boringssl//:crypto",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/container:btree",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
    ],
)

proto_library(
    name = "quiche_protobufs",
    srcs = [
        "quic/core/proto/cached_network_parameters.proto",
        "quic/core/proto/crypto_server_config.proto",
        "quic/core/proto/source_address_token.proto",
    ],
)

cc_proto_library(
    name = "quiche_protobufs_cc_proto",
    deps = [":quiche_protobufs"],
)

proto_library(
    name = "quiche_protobufs_testonly",
    srcs = [
        "quic/test_tools/send_algorithm_test_result.proto",
    ],
)

cc_proto_library(
    name = "quiche_protobufs_testonly_cc_proto",
    deps = [":quiche_protobufs_testonly"],
)

cc_library(
    name = "quiche_core",
    srcs = quiche_core_srcs + default_platform_impl_srcs,
    hdrs = quiche_core_hdrs + default_platform_impl_hdrs,
    includes = ["common/platform/default"],
    deps = [
        ":quiche_flags_list",
        ":quiche_protobufs_cc_proto",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:log_severity",
        "@com_google_absl//absl/base:nullability",
        "@com_google_absl//absl/base:prefetch",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:btree",
        "@com_google_absl//absl/container:fixed_array",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/container:inlined_vector",
        "@com_google_absl//absl/container:node_hash_map",
        "@com_google_absl//absl/debugging:stacktrace",
        "@com_google_absl//absl/debugging:symbolize",
        "@com_google_absl//absl/flags:flag",
        "@com_google_absl//absl/functional:any_invocable",
        "@com_google_absl//absl/functional:function_ref",
        "@com_google_absl//absl/functional:overload",
        "@com_google_absl//absl/hash",
        "@com_google_absl//absl/log:absl_check",
        "@com_google_absl//absl/log:absl_log",
        "@com_google_absl//absl/log:flags",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/numeric:bits",
        "@com_google_absl//absl/numeric:int128",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
        "@com_google_googleurl//url",
        "@zlib",
    ],
)

cc_library(
    name = "balsa",
    srcs = balsa_srcs,
    hdrs = balsa_hdrs,
    deps = [
        ":quiche_core",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/container:inlined_vector",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
    ],
)

cc_library(
    name = "quiche_tool_support",
    srcs = quiche_tool_support_srcs + default_platform_impl_tool_support_srcs,
    hdrs = quiche_tool_support_hdrs + default_platform_impl_tool_support_hdrs,
    includes = ["common/platform/default"],
    deps = [
        ":quiche_core",
        "@boringssl//:crypto",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/flags:flag",
        "@com_google_absl//absl/flags:parse",
        "@com_google_absl//absl/flags:usage",
        "@com_google_absl//absl/functional:bind_front",
        "@com_google_absl//absl/log:initialize",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/types:span",
        "@com_google_googletest//:gtest",
        "@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
    ],
)

cc_library(
    name = "quiche_test_support",
    testonly = 1,
    srcs = quiche_test_support_srcs + default_platform_impl_test_support_srcs,
    hdrs = quiche_test_support_hdrs + default_platform_impl_test_support_hdrs,
    includes = ["common/platform/default"],
    deps = [
        ":binary_http",
        ":quiche_core",
        ":quiche_protobufs_testonly_cc_proto",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:nullability",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/flags:flag",
        "@com_google_absl//absl/flags:parse",
        "@com_google_absl//absl/flags:usage",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:cord",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
        "@com_google_googletest//:gtest",
        "@fuzztest//fuzztest",
    ],
)

cc_library(
    name = "quic_toy_client",
    srcs = [
        "quic/tools/quic_toy_client.cc",
    ],
    hdrs = [
        "quic/tools/quic_toy_client.h",
    ],
    deps = [
        ":io_tool_support",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "quic_toy_server",
    srcs = [
        "quic/tools/quic_toy_server.cc",
    ],
    hdrs = [
        "quic/tools/quic_toy_server.h",
    ],
    deps = [
        ":io_tool_support",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/strings",
    ],
)

cc_library(
    name = "quic_server_factory",
    srcs = [
        "quic/tools/quic_server_factory.cc",
    ],
    hdrs = [
        "quic/tools/quic_server_factory.h",
    ],
    deps = [
        ":io_tool_support",
        ":quic_toy_server",
    ],
)

test_suite_from_source_list(
    name = "quiche_tests",
    srcs = quiche_tests_srcs,
    data = glob([
        "common/platform/api/testdir/**",
        "quic/test_tools/quic_http_response_cache_data/**",
    ]),
    deps = [
        ":balsa",
        ":binary_http",
        ":oblivious_http",
        ":quiche_core",
        ":quiche_protobufs_testonly_cc_proto",
        ":quiche_test_support",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:log_severity",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/container:node_hash_map",
        "@com_google_absl//absl/flags:flag",
        "@com_google_absl//absl/functional:bind_front",
        "@com_google_absl//absl/functional:overload",
        "@com_google_absl//absl/hash",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/numeric:int128",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/types:span",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "io_tool_support",
    srcs = io_tool_support_srcs,
    hdrs = io_tool_support_hdrs,
    deps = [
        ":quiche_core",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:nullability",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:btree",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
    ],
)

cc_library(
    name = "masque_support",
    srcs = masque_support_srcs,
    hdrs = masque_support_hdrs,
    deps = [
        ":binary_http",
        ":io_tool_support",
        ":oblivious_http",
        ":quiche_core",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:nullability",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:btree",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
    ],
)

cc_library(
    name = "moqt_core",
    srcs = moqt_srcs,
    hdrs = moqt_hdrs,
    deps = [
        ":io_tool_support",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/base:nullability",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:btree",
        "@com_google_absl//absl/container:fixed_array",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/container:inlined_vector",
        "@com_google_absl//absl/container:node_hash_map",
        "@com_google_absl//absl/functional:bind_front",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
        "@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
    ],
)

cc_library(
    name = "io_test_support",
    testonly = 1,
    srcs = io_test_support_srcs,
    hdrs = io_test_support_hdrs,
    deps = [
        ":io_tool_support",
        ":quiche_core",
        ":quiche_test_support",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
        "@com_google_googletest//:gtest",
    ],
)

test_suite_from_source_list(
    name = "io_tests",
    srcs = io_tests_srcs,
    data = glob([
        "common/platform/api/testdir/**",
        "quic/test_tools/quic_http_response_cache_data/**",
    ]),
    deps = [
        ":binary_http",
        ":io_test_support",
        ":io_tool_support",
        ":quiche_core",
        ":quiche_protobufs_testonly_cc_proto",
        ":quiche_test_support",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@boringssl//:ssl",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/cleanup",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/container:node_hash_map",
        "@com_google_absl//absl/functional:bind_front",
        "@com_google_absl//absl/hash",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/numeric:int128",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/synchronization",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:span",
        "@com_google_absl//absl/types:variant",
        "@com_google_googletest//:gtest",
        "@com_google_googletest//:gtest_main",
    ],
)

cc_library(
    name = "moqt_test_support",
    testonly = 1,
    srcs = moqt_test_support_srcs,
    hdrs = moqt_test_support_hdrs,
    deps = [
        ":moqt_core",
        ":quiche_core",
        ":quiche_test_support",
        "@com_google_absl//absl/algorithm:container",
        "@com_google_absl//absl/base",
        "@com_google_absl//absl/base:core_headers",
        "@com_google_absl//absl/container:flat_hash_map",
        "@com_google_absl//absl/container:flat_hash_set",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/strings:str_format",
        "@com_google_absl//absl/time",
        "@com_google_absl//absl/types:span",
    ],
)

test_suite_from_source_list(
    name = "moqt_tests",
    srcs = moqt_test_srcs,
    deps = [
        ":io_tool_support",
        ":moqt_core",
        ":moqt_test_support",
        ":quiche_core",
        ":quiche_test_support",
        ":quiche_tool_support",
        "@com_google_absl//absl/functional:bind_front",
        "@com_google_absl//absl/hash",
        "@com_google_absl//absl/memory",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
        "@com_google_absl//absl/types:span",
        "@com_google_googletest//:gtest_main",
        "@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
    ],
)

# TODO(vasilvv): make a rule that generates cc_binary rules for all _bin targets.
cc_binary(
    name = "quic_packet_printer",
    srcs = ["quic/tools/quic_packet_printer_bin.cc"],
    deps = [
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "crypto_message_printer",
    srcs = ["quic/tools/crypto_message_printer_bin.cc"],
    deps = [
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "quic_client",
    srcs = ["quic/tools/quic_client_bin.cc"],
    deps = [
        ":io_tool_support",
        ":quic_toy_client",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "quic_server",
    srcs = ["quic/tools/quic_server_bin.cc"],
    deps = [
        ":io_tool_support",
        ":quic_server_factory",
        ":quic_toy_server",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "masque_client",
    srcs = ["quic/masque/masque_client_bin.cc"],
    deps = [
        ":io_tool_support",
        ":masque_support",
        ":quiche_core",
        ":quiche_tool_support",
        "@boringssl//:crypto",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "masque_server",
    srcs = ["quic/masque/masque_server_bin.cc"],
    deps = [
        ":io_tool_support",
        ":masque_support",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "web_transport_test_server",
    srcs = ["quic/tools/web_transport_test_server.cc"],
    deps = [
        ":io_tool_support",
        ":quic_server_factory",
        ":quic_toy_server",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/status",
        "@com_google_absl//absl/status:statusor",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "moqt_relay",
    srcs = ["quic/moqt/tools/moqt_relay_bin.cc"],
    deps = [
        ":moqt_core",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

cc_binary(
    name = "moq_chat",
    srcs = ["quic/moqt/tools/chat_client_bin.cc"],
    deps = [
        ":io_tool_support",
        ":moqt_core",
        ":quiche_core",
        ":quiche_tool_support",
        "@com_google_absl//absl/strings",
    ],
)

# Indicate that QUICHE APIs are explicitly unstable by providing only
# appropriately named aliases as publicly visible targets.
alias(
    name = "quiche_unstable_api",
    actual = ":quiche_core",
    visibility = ["//visibility:public"],
)

alias(
    name = "binary_http_unstable_api",
    actual = ":binary_http",
    visibility = ["//visibility:public"],
)

alias(
    name = "oblivious_http_unstable_api",
    actual = ":oblivious_http",
    visibility = ["//visibility:public"],
)

alias(
    name = "quiche_unstable_api_tool_support",
    actual = ":quiche_tool_support",
    visibility = ["//visibility:public"],
)

alias(
    name = "quiche_unstable_api_test_support",
    actual = ":quiche_test_support",
    visibility = ["//visibility:public"],
)
