blob: 881f159f6498c6254c6a842cd6e365a29dca3b67 [file]
# Copyright 2026 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.
load("@rules_rust//rust:rust_static_library.bzl", "rust_static_library")
load("//build/bazel/rules/cc:fx_cc_binary.bzl", "fx_cc_binary")
load("//build/bazel/rules/cc:fx_cc_library.bzl", "fx_cc_library")
load("//build/bazel/rules/testing:fx_unittest_package.bzl", "fx_unittest_package")
package(default_applicable_licenses = ["//:license"])
fx_cc_library(
name = "rust_url",
srcs = ["rust_url.cc"],
hdrs = ["rust_url.h"],
implementation_deps = [":rust_url_c_api"],
visibility = ["//vendor/google:__subpackages__"],
alwayslink = True,
)
# LINT.IfChange(rust_url_c_api)
# bazel2gn does not support rust_static_library; kept in BUILD.gn for :rust_url.
# @bazel2gn:skip
rust_static_library(
name = "rust_url_c_api",
srcs = ["src/lib.rs"],
edition = "2024",
deps = [
"//sdk/rust/zx",
"//third_party/rust_crates/vendor:url",
],
)
# LINT.ThenChange(BUILD.gn:rust_url_c_api)
fx_cc_binary(
name = "rust_url_unittests_bin",
testonly = True,
srcs = ["rust_url_unittests.cc"],
tags = ["manual"],
deps = [
":rust_url",
"//src/lib/fxl/test:gtest_main",
],
)
fx_unittest_package(
name = "rust_url_unittests",
package_name = "rust_url_unittests",
unit_tests = [":rust_url_unittests_bin"],
visibility = ["//src/lib:__pkg__"],
)