56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
# Copyright 2021 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/cargo_crate.gni")
|
|
|
|
cargo_crate("target1") {
|
|
crate_name = "test_rlib_crate"
|
|
crate_root = "crate/src/lib.rs"
|
|
sources = [ "crate/src/lib.rs" ]
|
|
build_sources = [ "crate/build.rs" ]
|
|
build_root = "crate/build.rs"
|
|
build_script_outputs = [ "generated/generated.rs" ]
|
|
epoch = "0.2"
|
|
features = [
|
|
"my-feature_a",
|
|
"my-feature_b",
|
|
]
|
|
rustflags = [
|
|
"--cfg",
|
|
"test_a_and_b",
|
|
]
|
|
rustenv = [ "ENV_VAR_FOR_BUILD_SCRIPT=42" ]
|
|
}
|
|
|
|
# Test that we can build the same crate in multiple ways under different GN
|
|
# rules without conflicts.
|
|
cargo_crate("target2") {
|
|
crate_name = "test_rlib_crate"
|
|
crate_root = "crate/src/lib.rs"
|
|
sources = [ "crate/src/lib.rs" ]
|
|
build_sources = [ "crate/build.rs" ]
|
|
build_root = "crate/build.rs"
|
|
build_script_outputs = [ "generated/generated.rs" ]
|
|
epoch = "0.2"
|
|
features = [ "my-feature_a" ]
|
|
rustenv = [ "ENV_VAR_FOR_BUILD_SCRIPT=42" ]
|
|
}
|
|
|
|
# Exists to test the case that a single crate has both a library
|
|
# and a binary, to ensure that shared build products (e.g. the
|
|
# build script) don't conflict.
|
|
cargo_crate("test_rlib_crate_associated_bin") {
|
|
crate_root = "crate/src/main.rs"
|
|
crate_type = "bin"
|
|
sources = [ "crate/src/main.rs" ]
|
|
build_sources = [ "crate/build.rs" ]
|
|
build_root = "crate/build.rs"
|
|
features = [
|
|
"my-feature_a",
|
|
"my-feature_b",
|
|
]
|
|
rustenv = [ "ENV_VAR_FOR_BUILD_SCRIPT=42" ]
|
|
deps = [ ":target1" ]
|
|
}
|