• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15
16ohos_cargo_crate("lib") {
17  crate_name = "rustix"
18  crate_type = "rlib"
19  crate_root = "src/lib.rs"
20
21  sources = [ "src/lib.rs" ]
22  edition = "2018"
23  cargo_pkg_version = "0.36.8"
24  cargo_pkg_authors = "Dan Gohman <dev@sunfishcode.online>,  Jakub Konka <kubkon@jakubkonka.com>"
25  cargo_pkg_name = "rustix"
26  cargo_pkg_description =
27      "Safe Rust bindings to POSIX/Unix/Linux/Winsock2-like syscalls"
28  deps = [
29    "//third_party/rust/crates/bitflags:lib",
30    "//third_party/rust/crates/io-lifetimes:lib",
31    "//third_party/rust/crates/libc:lib",
32    "//third_party/rust/crates/linux-raw-sys:lib",
33  ]
34  features = [
35    "io-lifetimes",
36    "libc",
37    "std",
38    "use-libc-auxv",
39    "termios",
40  ]
41  rustenv = [ string_join("", [ "CARGO_CFG_TARGET_OS=linux" ]) ]
42  rustenv += [ string_join("", [ "CARGO_CFG_TARGET_ARCH=x86_64" ]) ]
43  rustenv += [ string_join("", [ "CARGO_CFG_TARGET_POINTER_WIDTH=64" ]) ]
44  rustenv += [ string_join("", [ "CARGO_CFG_TARGET_ENDIAN=little" ]) ]
45  build_root = "build.rs"
46  build_sources = [ "build.rs" ]
47  build_script_outputs = [ "librust_out.rmeta" ]
48}
49