# 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 = "libgit2-sys"
version = "0.17.0+1.8.1"
authors = [
    "Josh Triplett <josh@joshtriplett.org>",
    "Alex Crichton <alex@alexcrichton.com>",
]
build = "build.rs"
links = "git2"
exclude = [
    "libgit2/ci/*",
    "libgit2/docs/*",
    "libgit2/examples/*",
    "libgit2/fuzzers/*",
    "libgit2/tests/*",
]
description = "Native bindings to the libgit2 library"
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/git2-rs"

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

[dependencies.libc]
version = "0.2"

[dependencies.libssh2-sys]
version = "0.3.0"
optional = true

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

[build-dependencies.cc]
version = "1.0.43"
features = ["parallel"]

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

[features]
https = ["openssl-sys"]
ssh = ["libssh2-sys"]
ssh_key_from_memory = []
vendored = []
vendored-openssl = ["openssl-sys/vendored"]
zlib-ng-compat = [
    "libz-sys/zlib-ng",
    "libssh2-sys?/zlib-ng-compat",
]

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