-
Notifications
You must be signed in to change notification settings - Fork 160
/
Cargo.toml
89 lines (73 loc) · 3.37 KB
/
Cargo.toml
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
# This file is part of ICU4X. For terms of use, please see the file
# called LICENSE at the top level of the ICU4X source tree
# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
[package]
name = "icu_capi"
description = "C interface to ICU4X"
version = "0.1.0"
authors = ["The ICU4X Project Developers"]
edition = "2018"
resolver = "2"
repository = "https://github.com/unicode-org/icu4x"
license-file = "../../LICENSE"
categories = ["internationalization"]
# Keep this in sync with other crates unless there are exceptions
include = [
"src/**/*",
"examples/**/*",
"benches/**/*",
"tests/**/*",
"include/**/*",
"Cargo.toml",
"README.md"
]
[package.metadata.docs.rs]
all-features = true
[package.metadata.cargo-all-features]
# Omit most optional dependency features from permutation testing
skip_optional_dependencies = true
# Bench feature gets tested separately and is only relevant for CI.
# wearos/freertos/x86tiny/wasm_embedding are not relevant in normal environments,
# and smaller_static gets tested on the FFI job anyway
denylist = ["bench", "wearos", "freertos", "x86tiny", "smaller_static", "wasm_embedding"]
[lib]
crate-type = ["staticlib", "rlib", "cdylib"]
path = "src/lib.rs"
[features]
default = ["provider_fs", "provider_static"]
wearos = ["smaller_static", "freertos"]
provider_fs = ["icu_provider_fs"]
provider_static = ["icu_testdata"]
smaller_static = ["provider_static"]
# Only 1 of the following features can be set. Doing so disables std and
# replaces the global allocator and panic handler with something else.
# If multiple of these features are set, it is as if none of them are set.
# Enables size-optimized builds on x86_64
x86tiny = ["dlmalloc"]
# Enables no_std builds for freertos
freertos = ["freertos-rust", "cortex-m"]
# Enables things that enable Rust to be linked to C++ (etc) in WASM
wasm_embedding = []
[dependencies]
fixed_decimal = { path = "../../utils/fixed_decimal" }
icu_decimal = { path = "../../components/decimal/" }
icu_locale_canonicalizer = { path = "../../components/locale_canonicalizer" }
icu_locid = { path = "../../components/locid" }
icu_plurals = { path = "../../components/plurals/" }
icu_provider = { path = "../../provider/core", features = ["provider_serde"] }
tinystr = { version = "0.4.10", features = ["alloc"], default-features = false }
writeable = { path = "../../utils/writeable/" }
# make sure to update GitHub actions to use the appropriate revision
diplomat = { git = "https://github.com/rust-diplomat/diplomat", rev = "38cffa9bc2ef21d0aba89ed7d76236de4153248a" }
diplomat-runtime = { git = "https://github.com/rust-diplomat/diplomat", rev = "38cffa9bc2ef21d0aba89ed7d76236de4153248a" }
icu_testdata = { version = "0.3", path = "../../provider/testdata", default-features = false, features = ["static"], optional = true }
# This cfg originates in dlmalloc/lib.rs
[target.'cfg(any(target_os = "linux", target_os = "macos", target_arch = "wasm32"))'.dependencies]
dlmalloc = { version = "0.2", optional = true, features = ["global"] }
[target.'cfg(target_arch = "wasm32")'.dependencies]
log = { version = "0.4" }
[target.'cfg(not(any(target_arch = "wasm32", target_os = "none")))'.dependencies]
icu_provider_fs = { path = "../../provider/fs/", optional = true }
[target.'cfg(target_os = "none")'.dependencies]
freertos-rust = { version = "0.1.2", optional = true }
cortex-m = { version = "0.7.3", optional = true }