# 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]
name = "libssh2-sys"
version = "0.3.0"
authors = [
    "Alex Crichton <alex@alexcrichton.com>",
    "Wez Furlong <wez@wezfurlong.org>",
    "Matteo Bigoi <bigo@crisidev.org>",
]
build = "build.rs"
links = "ssh2"
description = "Native bindings to the libssh2 library"
documentation = "https://docs.rs/libssh2-sys"
license = "MIT/Apache-2.0"
repository = "https://github.com/alexcrichton/ssh2-rs"

[lib]
name = "libssh2_sys"
path = "lib.rs"

[dependencies.libc]
version = "0.2"

[dependencies.libz-sys]
version = "1.1.0"
features = ["libc"]
default-features = false

[build-dependencies.cc]
version = "1.0.25"

[build-dependencies.pkg-config]
version = "0.3.11"

[features]
openssl-on-win32 = ["openssl-sys"]
vendored-openssl = ["openssl-sys/vendored"]
zlib-ng-compat = ["libz-sys/zlib-ng"]

[target."cfg(target_env = \"msvc\")".build-dependencies.vcpkg]
version = "0.2"

[target."cfg(unix)".dependencies.openssl-sys]
version = "0.9.35"

[target."cfg(windows)".dependencies.openssl-sys]
version = "0.9.35"
optional = true
