diff --git a/.bazelrc b/.bazelrc
deleted file mode 100644
index 4748ed8..0000000
--- a/.bazelrc
+++ /dev/null
@@ -1,8 +0,0 @@
-build --cxxopt=-std=c++17
-build --cxxopt=-fno-rtti
-
-# Enable Abseil/Googletest integration
-build --define absl=1
-
-# Don't fail on converting "0xff" to char
-build --copt=-Wno-narrowing
diff --git a/BUILD.bazel b/BUILD.bazel
deleted file mode 100644
index 044dc1f..0000000
--- a/BUILD.bazel
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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.
-
-licenses(["notice"])
-
-exports_files(["LICENSE"])
diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel
deleted file mode 100644
index 620ac8a..0000000
--- a/WORKSPACE.bazel
+++ /dev/null
@@ -1,87 +0,0 @@
-# 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.
-
-workspace(name = "com_google_quiche")
-
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
-
-# -------- Bazel tooling dependencies --------
-
-http_archive(
-    name = "bazel_skylib",
-    sha256 = "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728",  # Last updated 2022-05-18
-    urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz"],
-)
-
-# -------- Dependencies used in core QUICHE build --------
-
-http_archive(
-    name = "com_google_absl",
-    sha256 = "44634eae586a7158dceedda7d8fd5cec6d1ebae08c83399f75dd9ce76324de40",  # Last updated 2022-05-18
-    strip_prefix = "abseil-cpp-3e04aade4e7a53aebbbed1a1268117f1f522bfb0",
-    urls = ["https://github.com/abseil/abseil-cpp/archive/3e04aade4e7a53aebbbed1a1268117f1f522bfb0.zip"],
-)
-
-http_archive(
-    name = "com_google_protobuf",
-    sha256 = "8b28fdd45bab62d15db232ec404248901842e5340299a57765e48abe8a80d930",  # Last updated 2022-05-18
-    strip_prefix = "protobuf-3.20.1",
-    urls = ["https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.20.1.tar.gz"],
-)
-
-http_archive(
-    name = "boringssl",
-    sha256 = "482a59ea63d03fbb4d3cab22e40043fb4eef2cbbdc2eb944cd627675ae8b0cf3",  # Last updated 2022-05-18
-    strip_prefix = "boringssl-02c6711efbb6c9dc6236a1c3779af1bcb0274dfd",
-    urls = ["https://github.com/google/boringssl/archive/02c6711efbb6c9dc6236a1c3779af1bcb0274dfd.tar.gz"],
-)
-
-http_archive(
-    name = "com_google_quic_trace",
-    sha256 = "079331de8c3cbf145a3b57adb3ad4e73d733ecfa84d3486e1c5a9eaeef286549",  # Last updated 2022-05-18
-    strip_prefix = "quic-trace-c7b993eb750e60c307e82f75763600d9c06a6de1",
-    urls = ["https://github.com/google/quic-trace/archive/c7b993eb750e60c307e82f75763600d9c06a6de1.tar.gz"],
-)
-
-http_archive(
-    name = "com_google_googleurl",
-    sha256 = "a1bc96169d34dcc1406ffb750deef3bc8718bd1f9069a2878838e1bd905de989",
-    urls = ["https://storage.googleapis.com/quiche-envoy-integration/googleurl_9cdb1f4d1a365ebdbcbf179dadf7f8aa5ee802e7.tar.gz"],
-)
-
-http_archive(
-    name = "zlib",
-    build_file = "//build:zlib.BUILD",
-    sha256 = "d8688496ea40fb61787500e863cc63c9afcbc524468cedeb478068924eb54932",  # Last updated 2022-05-18
-    strip_prefix = "zlib-1.2.12",
-    urls = ["https://github.com/madler/zlib/archive/refs/tags/v1.2.12.tar.gz"],
-)
-
-# -------- Dependencies used by QUICHE tests and extra tooling --------
-
-http_archive(
-    name = "com_google_googletest",
-    sha256 = "7ee83802222f9392452c57b4757185697a51639b69b64590f2c2188f58618581",  # Last updated 2022-05-18
-    strip_prefix = "googletest-8d51dc50eb7e7698427fed81b85edad0e032112e",
-    urls = ["https://github.com/google/googletest/archive/8d51dc50eb7e7698427fed81b85edad0e032112e.zip"],
-)
-
-# Note this must use a commit from the `abseil` branch of the RE2 project.
-# https://github.com/google/re2/tree/abseil
-http_archive(
-    name = "com_googlesource_code_re2",
-    sha256 = "906d0df8ff48f8d3a00a808827f009a840190f404559f649cb8e4d7143255ef9",
-    strip_prefix = "re2-a276a8c738735a0fe45a6ee590fe2df69bcf4502",
-    urls = ["https://github.com/google/re2/archive/a276a8c738735a0fe45a6ee590fe2df69bcf4502.zip"],  # 2022-04-08
-)
-
-# -------- Load and call dependencies of underlying libraries --------
-
-load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
-
-bazel_skylib_workspace()
-
-load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
-
-protobuf_deps()
diff --git a/build/BUILD.bazel b/build/BUILD.bazel
deleted file mode 100644
index 0ba41e4..0000000
--- a/build/BUILD.bazel
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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.
-
-licenses(["notice"])
-
-exports_files(["source_list.json"])
diff --git a/build/test.bzl b/build/test.bzl
deleted file mode 100644
index 9beb0ca..0000000
--- a/build/test.bzl
+++ /dev/null
@@ -1,26 +0,0 @@
-"""Tools for building QUICHE tests."""
-
-load("@bazel_skylib//lib:paths.bzl", "paths")
-
-def test_suite_from_source_list(name, srcs, **kwargs):
-    """
-    Generates a test target for every individual test source file specified.
-
-    Args:
-        name: the name of the resulting test_suite target.
-        srcs: the list of source files from which the test targets are generated.
-        **kwargs: other arguments that are passed to the cc_test rule directly.s
-    """
-
-    tests = []
-    for sourcefile in srcs:
-        if not sourcefile.endswith("_test.cc"):
-            fail("All source files passed to test_suite_from_source_list() must end with _test.cc")
-        test_name, _ = paths.split_extension(paths.basename(sourcefile))
-        native.cc_test(
-            name = test_name,
-            srcs = [sourcefile],
-            **kwargs
-        )
-        tests.append(test_name)
-    native.test_suite(name = name, tests = tests)
diff --git a/build/zlib.BUILD b/build/zlib.BUILD
deleted file mode 100644
index 61a5507..0000000
--- a/build/zlib.BUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# 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.
-
-licenses(["notice"])
-
-cc_library(
-    name = "zlib",
-    srcs = glob(
-        include = [
-            "*.c",
-            "*.h",
-        ],
-        exclude = [
-            "zlib.h",
-            "zconf.h",
-        ],
-    ),
-    hdrs = [
-        "zconf.h",
-        "zlib.h",
-    ],
-    copts = ["-Wno-implicit-function-declaration"],
-    visibility = ["//visibility:public"],
-)
diff --git a/quiche/BUILD.bazel b/quiche/BUILD.bazel
deleted file mode 100644
index 6650f84..0000000
--- a/quiche/BUILD.bazel
+++ /dev/null
@@ -1,270 +0,0 @@
-# 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",
-    "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",
-    "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 = "quic_flags_list",
-    textual_hdrs = [
-        "quic/core/quic_flags_list.h",
-        "quic/core/quic_protocol_flags_list.h",
-    ],
-)
-
-# QUICHE_EXPORT is used by all platform definitions, and thus needs to be handled separately.
-cc_library(
-    name = "quiche_platform_default_quiche_export",
-    hdrs = [
-        "common/platform/default/quiche_platform_impl/quiche_export_impl.h",
-    ],
-    strip_include_prefix = "common/platform/default",
-)
-
-cc_library(
-    name = "quiche_platform_quiche_export",
-    hdrs = [
-        "common/platform/api/quiche_export.h",
-    ],
-    deps = [":quiche_platform_default_quiche_export"],
-)
-
-cc_library(
-    name = "quiche_platform_default",
-    srcs = default_platform_impl_srcs,
-    hdrs = default_platform_impl_hdrs,
-    strip_include_prefix = "common/platform/default",
-    deps = [
-        ":quic_flags_list",
-        ":quiche_platform_quiche_export",
-        "@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/debugging:stacktrace",
-        "@com_google_absl//absl/debugging:symbolize",
-        "@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:optional",
-        "@com_google_googleurl//url",
-    ],
-)
-
-cc_library(
-    name = "quiche_platform_default_tools",
-    srcs = default_platform_impl_tool_support_srcs,
-    hdrs = default_platform_impl_tool_support_hdrs,
-    strip_include_prefix = "common/platform/default",
-    deps = [
-        ":quiche_core",
-        "@com_google_absl//absl/flags:flag",
-        "@com_google_absl//absl/flags:parse",
-        "@com_google_absl//absl/flags:usage",
-        "@com_google_absl//absl/strings",
-        "@com_google_absl//absl/types:optional",
-        "@com_google_googletest//:gtest",
-    ],
-)
-
-cc_library(
-    name = "quiche_platform_default_testonly",
-    testonly = 1,
-    srcs = default_platform_impl_test_support_srcs,
-    hdrs = default_platform_impl_test_support_hdrs,
-    strip_include_prefix = "common/platform/default",
-    deps = [
-        ":quiche_core",
-        "@com_google_absl//absl/flags:flag",
-        "@com_google_absl//absl/flags:parse",
-        "@com_google_absl//absl/flags:usage",
-        "@com_google_googletest//:gtest",
-    ],
-)
-
-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,
-    hdrs = quiche_core_hdrs,
-    textual_hdrs = ["http2/hpack/hpack_static_table_entries.inc"],
-    deps = [
-        ":quiche_platform_default",
-        ":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/container:btree",
-        "@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/hash",
-        "@com_google_absl//absl/memory",
-        "@com_google_absl//absl/numeric:int128",
-        "@com_google_absl//absl/strings",
-        "@com_google_absl//absl/strings:str_format",
-        "@com_google_absl//absl/types:optional",
-        "@com_google_absl//absl/types:span",
-        "@com_google_googleurl//url",
-        "@com_google_quic_trace//quic_trace:quic_trace_cc_proto",
-        "@zlib",
-    ],
-)
-
-cc_library(
-    name = "quiche_tool_support",
-    srcs = quiche_tool_support_srcs,
-    hdrs = quiche_tool_support_hdrs,
-    deps = [
-        ":quiche_core",
-        ":quiche_platform_default_tools",
-        "@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/memory",
-        "@com_google_absl//absl/strings",
-        "@com_google_absl//absl/strings:str_format",
-        "@com_google_absl//absl/types:optional",
-        "@com_google_googletest//:gtest",
-        "@com_google_googleurl//url",
-    ],
-)
-
-cc_library(
-    name = "quiche_test_support",
-    testonly = 1,
-    srcs = quiche_test_support_srcs,
-    hdrs = quiche_test_support_hdrs,
-    deps = [
-        ":quiche_core",
-        ":quiche_platform_default_testonly",
-        ":quiche_protobufs_testonly_cc_proto",
-        ":quiche_tool_support",
-        "@boringssl//:crypto",
-        "@boringssl//:ssl",
-        "@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/memory",
-        "@com_google_absl//absl/strings",
-        "@com_google_absl//absl/strings:str_format",
-        "@com_google_absl//absl/types:optional",
-        "@com_google_googletest//:gtest",
-    ],
-)
-
-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 = [
-        ":quiche_core",
-        ":quiche_platform_default_testonly",
-        ":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/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/strings",
-        "@com_google_absl//absl/strings:str_format",
-        "@com_google_absl//absl/types:optional",
-        "@com_google_googletest//:gtest_main",
-    ],
-)
-
-# 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",
-    ],
-)
-
-# 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 = "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"],
-)
