# 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 are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "encoding_rs"
version = "0.8.32"
authors = ["Henri Sivonen <hsivonen@hsivonen.fi>"]
description = "A Gecko-oriented implementation of the Encoding Standard"
homepage = "https://docs.rs/encoding_rs/"
documentation = "https://docs.rs/encoding_rs/"
readme = "README.md"
keywords = [
    "encoding",
    "web",
    "unicode",
    "charset",
]
categories = [
    "text-processing",
    "encoding",
    "web-programming",
    "internationalization",
]
license = "(Apache-2.0 OR MIT) AND BSD-3-Clause"
repository = "https://github.com/hsivonen/encoding_rs"

[profile.release]
lto = true

[dependencies.cfg-if]
version = "1.0"

[dependencies.packed_simd]
version = "0.3.4"
optional = true
package = "packed_simd_2"

[dependencies.serde]
version = "1.0"
optional = true

[dev-dependencies.bincode]
version = "1.0"

[dev-dependencies.serde_derive]
version = "1.0"

[dev-dependencies.serde_json]
version = "1.0"

[features]
alloc = []
default = ["alloc"]
fast-big5-hanzi-encode = []
fast-gb-hanzi-encode = []
fast-hangul-encode = []
fast-hanja-encode = []
fast-kanji-encode = []
fast-legacy-encode = [
    "fast-hangul-encode",
    "fast-hanja-encode",
    "fast-kanji-encode",
    "fast-gb-hanzi-encode",
    "fast-big5-hanzi-encode",
]
less-slow-big5-hanzi-encode = []
less-slow-gb-hanzi-encode = []
less-slow-kanji-encode = []
simd-accel = [
    "packed_simd",
    "packed_simd/into_bits",
]

[badges.travis-ci]
repository = "hsivonen/encoding_rs"
