15f9996aaSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License. 45f9996aaSopenharmony_ci# You may obtain a copy of the License at 55f9996aaSopenharmony_ci# 65f9996aaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75f9996aaSopenharmony_ci# 85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and 125f9996aaSopenharmony_ci# limitations under the License. 135f9996aaSopenharmony_ci 145f9996aaSopenharmony_ciimport("//build/ohos.gni") 155f9996aaSopenharmony_ci 165f9996aaSopenharmony_ciohos_cargo_crate("target") { 175f9996aaSopenharmony_ci crate_name = "test_rlib_crate" 185f9996aaSopenharmony_ci crate_root = "crate/src/lib.rs" 195f9996aaSopenharmony_ci sources = [ "crate/src/lib.rs" ] 205f9996aaSopenharmony_ci 215f9996aaSopenharmony_ci #To generate the build_script binary 225f9996aaSopenharmony_ci build_root = "crate/build.rs" 235f9996aaSopenharmony_ci build_sources = [ "crate/build.rs" ] 245f9996aaSopenharmony_ci build_script_outputs = [ "generated/generated.rs" ] 255f9996aaSopenharmony_ci 265f9996aaSopenharmony_ci features = [ 275f9996aaSopenharmony_ci "my-feature_a", 285f9996aaSopenharmony_ci "my-feature_b", 295f9996aaSopenharmony_ci "std", 305f9996aaSopenharmony_ci ] 315f9996aaSopenharmony_ci rustflags = [ 325f9996aaSopenharmony_ci "--cfg", 335f9996aaSopenharmony_ci "test_a_and_b", 345f9996aaSopenharmony_ci ] 355f9996aaSopenharmony_ci rustenv = [ "ENV_VAR_FOR_BUILD_SCRIPT=45" ] 365f9996aaSopenharmony_ci} 375f9996aaSopenharmony_ci 385f9996aaSopenharmony_ci# Exists to test the case that a single crate has both a library and a binary 395f9996aaSopenharmony_ciohos_cargo_crate("test_rlib_crate_associated_bin") { 405f9996aaSopenharmony_ci crate_root = "crate/src/main.rs" 415f9996aaSopenharmony_ci crate_type = "bin" 425f9996aaSopenharmony_ci sources = [ "crate/src/main.rs" ] 435f9996aaSopenharmony_ci 445f9996aaSopenharmony_ci #To generate the build_script binary 455f9996aaSopenharmony_ci build_root = "crate/build.rs" 465f9996aaSopenharmony_ci build_sources = [ "crate/build.rs" ] 475f9996aaSopenharmony_ci features = [ 485f9996aaSopenharmony_ci "my-feature_a", 495f9996aaSopenharmony_ci "my-feature_b", 505f9996aaSopenharmony_ci "std", 515f9996aaSopenharmony_ci ] 525f9996aaSopenharmony_ci rustenv = [ "ENV_VAR_FOR_BUILD_SCRIPT=45" ] 535f9996aaSopenharmony_ci deps = [ ":target" ] 545f9996aaSopenharmony_ci} 55