1# This file is part of ICU4X. For terms of use, please see the file
2# called LICENSE at the top level of the ICU4X source tree
3# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4
5[package]
6name = "icu_locid"
7description = "API for managing Unicode Language and Locale Identifiers"
8
9authors.workspace = true
10categories.workspace = true
11edition.workspace = true
12homepage.workspace = true
13include.workspace = true
14license.workspace = true
15repository.workspace = true
16rust-version.workspace = true
17version.workspace = true
18
19[package.metadata.docs.rs]
20all-features = true
21
22[dependencies]
23displaydoc = { workspace = true }
24litemap = { workspace = true, features = ["alloc"] }
25tinystr = { workspace = true, features = ["alloc"] }
26writeable = { workspace = true }
27
28databake = { workspace = true, features = ["derive"], optional = true}
29serde = { workspace = true, features = ["alloc", "derive"], optional = true }
30zerovec = { workspace = true, optional = true }
31
32[dev-dependencies]
33iai = { workspace = true }
34icu = { path = "../../components/icu", default-features = false }
35icu_benchmark_macros = { path = "../../tools/benchmark/macros" }
36litemap = { path = "../../utils/litemap", features = ["testing"]}
37postcard = { workspace = true, features = ["use-std"] }
38serde = { workspace = true, features = ["derive"] }
39serde_json = { workspace = true }
40
41
42[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
43criterion = { workspace = true }
44
45[features]
46std = []
47databake = ["dep:databake"]
48serde = ["dep:serde", "tinystr/serde"]
49zerovec = ["dep:zerovec"]
50bench = ["serde"]
51
52[lib]
53bench = false # This option is required for Benchmark CI
54
55[package.metadata.cargo-all-features]
56# Bench feature gets tested separately and is only relevant for CI
57denylist = ["bench"]
58
59[[bench]]
60name = "subtags"
61harness = false
62required-features = ["bench"]
63
64[[bench]]
65name = "langid"
66harness = false
67
68[[bench]]
69name = "locale"
70harness = false
71
72[[bench]]
73name = "iai_langid"
74harness = false
75required-features = ["bench"]
76
77[[example]]
78name = "filter_langids"
79test = true
80
81[[example]]
82name = "syntatically_canonicalize_locales"
83test = true
84