summaryrefslogtreecommitdiff
path: root/build_extra/rust/BUILD.gn
blob: f5f0b9bb602aa16bf75aff23e8cfd637255691a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
import("rust.gni")

# Dependencies between third party crates is mapped out here manually.  This is
# not so difficult and having it be tedious to add dependencies might help us
# avoid dependency hell later on.
# Versioning for third party rust crates is controlled in //gclient_config.py
# TODO(ry) Use Cargo for versioning?

crates = "//third_party/rust_crates"

rust_component("libc") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/libc-0.2.42/src/lib.rs"
  cfg = [ "feature=\"use_std\"" ]
}

rust_component("url") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/url-1.7.1/src/lib.rs"
  extern = [
    ":matches",
    ":idna",
    ":percent_encoding",
  ]
}

rust_component("percent_encoding") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/percent-encoding-1.0.1/lib.rs"
  args = [
    # TODO: Suppress some warnings at this moment
    # This should be removed when it's fixed in servo/rust-url repository
    # https://github.com/servo/rust-url/issues/455
    "-Aunused-imports",
    "-Adeprecated",
  ]
}

rust_component("matches") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/matches-0.1.6/lib.rs"
}

rust_component("idna") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/idna-0.1.5/src/lib.rs"
  extern = [
    ":matches",
    ":unicode_bidi",
    ":unicode_normalization",
  ]
}

rust_component("unicode_bidi") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/unicode-bidi-0.3.4/src/lib.rs"
  extern = [ ":matches" ]
}

rust_component("unicode_normalization") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/unicode-normalization-0.1.7/src/lib.rs"
}

rust_component("log") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/log-0.4.3/src/lib.rs"
  extern = [ ":cfg_if" ]
}

rust_component("cfg_if") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.4/src/lib.rs"
}

rust_component("sha1") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/sha1-0.6.0/src/lib.rs"
}

rust_component("tempfile") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/tempfile-3.0.3/src/lib.rs"
  extern = [
    ":libc",
    ":rand",
    ":remove_dir_all",
  ]
}

rust_component("rand") {
  source_root =
      "$crates/registry/src/github.com-1ecc6299db9ec823/rand-0.5.4/src/lib.rs"
  extern = [
    ":libc",
    ":rand_core",
  ]
  cfg = [
    "feature=\"std\"",
    "feature=\"alloc\"",
  ]
  if (is_mac) {
    libs = [ "Security.framework" ]
  }
}

rust_component("rand_core") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/rand_core-0.2.1/src/lib.rs"
}

rust_component("remove_dir_all") {
  source_root = "$crates/registry/src/github.com-1ecc6299db9ec823/remove_dir_all-0.5.1/src/lib.rs"
}