# 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]
name = "security-framework"
version = "0.4.4"
authors = ["Steven Fackler <sfackler@gmail.com>", "Kornel <kornel@geekhood.net>"]
exclude = ["test/*"]
description = "Security.framework bindings for macOS and iOS"
homepage = "https://lib.rs/crates/security_framework"
documentation = "https://kornelski.github.io/rust-security-framework/doc/security_framework/"
readme = "README.md"
keywords = ["iOS", "TLS", "SSL", "crypto", "keychain"]
categories = ["os::macos-apis", "cryptography", "api-bindings"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/kornelski/rust-security-framework"
[package.metadata.docs.rs]
targets = ["x86_64-apple-darwin", "aarch64-apple-ios"]

[[example]]
name = "client"

[[example]]
name = "find_internet_password"

[[example]]
name = "set_internet_password"
[dependencies.bitflags]
version = "1.2.1"

[dependencies.core-foundation]
version = "0.7"

[dependencies.core-foundation-sys]
version = "0.7"

[dependencies.libc]
version = "0.2.68"

[dependencies.security-framework-sys]
version = "0.4.3"
[dev-dependencies.hex]
version = "0.4.2"

[dev-dependencies.tempdir]
version = "0.3.7"

[features]
OSX_10_10 = ["OSX_10_9", "security-framework-sys/OSX_10_10"]
OSX_10_11 = ["OSX_10_10", "security-framework-sys/OSX_10_11"]
OSX_10_12 = ["OSX_10_11", "security-framework-sys/OSX_10_12"]
OSX_10_13 = ["OSX_10_12", "security-framework-sys/OSX_10_13", "alpn", "session-tickets"]
OSX_10_9 = ["security-framework-sys/OSX_10_9"]
alpn = []
nightly = []
session-tickets = []
[badges.maintenance]
status = "passively-maintained"
