# 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 = "regex-automata"
version = "0.2.0"
authors = ["Andrew Gallant <jamslam@gmail.com>"]
exclude = [
    "/.github",
    "/scripts/*",
    "/regex-cli",
    "/regex-test",
]
autoexamples = false
autotests = false
description = "Automata construction and matching using regular expressions."
homepage = "https://github.com/BurntSushi/regex-automata"
documentation = "https://docs.rs/regex-automata"
readme = "README.md"
keywords = [
    "regex",
    "dfa",
    "automata",
    "automaton",
    "nfa",
]
categories = ["text-processing"]
license = "Unlicense/MIT"
repository = "https://github.com/BurntSushi/regex-automata"
resolver = "2"

[profile.bench]
debug = true

[profile.dev]
opt-level = 3
debug = true

[profile.release]
debug = true

[profile.test]
opt-level = 3
debug = true

[lib]
bench = false

[[test]]
name = "integration"
path = "tests/tests.rs"

[dependencies.fst]
version = "0.4.5"
optional = true

[dependencies.log]
version = "0.4.14"
optional = true

[dependencies.memchr]
version = "2.4.0"
default-features = false

[dependencies.regex-syntax]
version = "0.6.24"
optional = true

[features]
alloc = ["syntax"]
default = [
    "std",
    "alloc",
    "syntax",
]
logging = ["log"]
std = []
syntax = ["regex-syntax"]
transducer = ["fst"]
