| # Copyright 2022 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/rust/rust_target.gni") |
| |
| # Defines a shared_library containing just Rust code. Has the same variables |
| # available as a rust_static_library. See rust_static_library.gni for |
| # documentation. |
| template("rust_shared_library") { |
| exclude_forwards = TESTONLY_AND_VISIBILITY + [ "configs" ] |
| rust_target(target_name) { |
| forward_variables_from(invoker, "*", exclude_forwards) |
| forward_variables_from(invoker, TESTONLY_AND_VISIBILITY) |
| if (defined(invoker.configs)) { |
| library_configs = [] |
| library_configs = invoker.configs |
| } |
| target_type = "shared_library" |
| crate_type = "cdylib" |
| } |
| } |
| |
| set_defaults("rust_shared_library") { |
| configs = default_shared_library_configs |
| } |