| # Copyright 2022 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/components.gni") |
| import("//build/fuzz.gni") |
| import("//build/rust/rustc_staticlib.gni") |
| |
| source_set("rust_url") { |
| sources = [ |
| "rust_url.cc", |
| "rust_url.h", |
| ] |
| deps = [ ":rust_url_c_api" ] |
| } |
| |
| rustc_staticlib("rust_url_c_api") { |
| edition = "2021" |
| sources = [ "src/lib.rs" ] |
| deps = [ |
| "//src/lib/zircon/rust:fuchsia-zircon", |
| "//third_party/rust_crates:url", |
| ] |
| } |
| |
| executable("rust_url_unittests_bin") { |
| testonly = true |
| sources = [ "rust_url_unittests.cc" ] |
| deps = [ |
| ":rust_url", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| } |
| |
| fuchsia_unittest_package("rust_url_unittests") { |
| deps = [ ":rust_url_unittests_bin" ] |
| } |
| |
| fuchsia_fuzzer_component("rust-url-fuzzer-component") { |
| manifest = "meta/rust_url_fuzzer.cml" |
| deps = [ ":rust_url_fuzzer" ] |
| } |
| |
| fuchsia_fuzzer_package("rust-url-fuzzers") { |
| cpp_fuzzer_components = [ ":rust-url-fuzzer-component" ] |
| } |
| |
| fuchsia_library_fuzzer("rust_url_fuzzer") { |
| sources = [ "rust_url_fuzztest.cc" ] |
| deps = [ ":rust_url" ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":rust-url-fuzzers", |
| ":rust_url_unittests", |
| ] |
| } |