# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "rust_icu_sys"
version = "0.4.1"
authors = ["Google Inc."]
build = "build.rs"
links = "icuuc"
description = "Native bindings to the ICU4C library from Unicode.\n"
readme = "README.md"
keywords = ["icu", "unicode", "i18n", "l10n"]
license = "Apache-2.0"
repository = "https://github.com/google/rust_icu"

[lib]
doctest = false
[dependencies.libc]
version = "0.2.34"

[dependencies.paste]
version = "1.0"
[build-dependencies.anyhow]
version = "1.0"

[build-dependencies.bindgen]
version = "0.53.2"
optional = true

[build-dependencies.lazy_static]
version = "1.4"

[features]
default = ["use-bindgen", "renaming", "icu_config"]
icu_config = []
icu_version_64_plus = []
icu_version_67_plus = []
icu_version_68_plus = []
icu_version_in_env = []
renaming = []
use-bindgen = ["bindgen"]
[badges.is-it-maintained-issue-resolution]
repository = "google/rust_icu"

[badges.is-it-maintained-open-issues]
repository = "google/rust_icu"

[badges.maintenance]
status = "actively-developed"

[badges.travis-ci]
branch = "master"
repository = "google/rust_icu"
