# 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/crypto.rs",
    "src/ffi.rs",
    "src/frame.rs",
    "src/h3/ffi.rs",
    "src/h3/frame.rs",
    "src/h3/mod.rs",
    "src/h3/qpack/decoder.rs",
    "src/h3/qpack/encoder.rs",
    "src/h3/qpack/huffman/mod.rs",
    "src/h3/qpack/huffman/table.rs",
    "src/h3/qpack/mod.rs",
    "src/h3/stream.rs",
    "src/lib.rs",
    "src/minmax.rs",
    "src/octets.rs",
    "src/packet.rs",
    "src/rand.rs",
    "src/ranges.rs",
    "src/recovery.rs",
    "src/recovery/cubic.rs",
    "src/recovery/delivery_rate.rs",
    "src/recovery/hystart.rs",
    "src/recovery/reno.rs",
    "src/stream.rs",
    "src/tls.rs",
  ]
}
