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

import("//build/rust/rustc_library.gni")

# Ignore warnings because this is third-party code.
config("ignore_rust_warnings") {
  rustflags = [ "-Awarnings" ]
}

rustc_library("quiche") {
  name = "quiche"
  edition = "2018"
  configs -= [
    "//build/config:rust_2018_idioms",
    "//build/config:werror",
  ]
  configs += [ ":ignore_rust_warnings" ]
  deps = [
    "//third_party/rust_crates:lazy_static",
    "//third_party/rust_crates:libc",
    "//third_party/rust_crates:libm",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:ring",
  ]
  non_rust_deps = [ "//third_party/boringssl" ]

  sources = [
    "src/packet.rs",
    "src/rand.rs",
    "src/minmax.rs",
    "src/h3/qpack/huffman/table.rs",
    "src/stream.rs",
    "src/frame.rs",
    "src/h3/stream.rs",
    "src/recovery/reno.rs",
    "src/recovery/mod.rs",
    "src/recovery/cubic.rs",
    "src/octets.rs",
    "src/h3/qpack/encoder.rs",
    "src/h3/qpack/static_table.rs",
    "src/h3/qpack/mod.rs",
    "src/h3/ffi.rs",
    "src/tls.rs",
    "src/lib.rs",
    "src/h3/mod.rs",
    "src/recovery/hystart.rs",
    "src/h3/qpack/decoder.rs",
    "src/ranges.rs",
    "src/crypto.rs",
    "src/h3/qpack/huffman/mod.rs",
    "src/ffi.rs",
    "src/dgram.rs",
    "src/h3/frame.rs",
    "src/recovery/delivery_rate.rs",
  ]
}
