# 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 = "windows-targets"
version = "0.48.5"
authors = ["Microsoft"]
description = "Import libs for Windows"
readme = "readme.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/microsoft/windows-rs"

[target.aarch64-pc-windows-gnullvm.dependencies.windows_aarch64_gnullvm]
version = "0.48.5"

[target."cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_aarch64_msvc]
version = "0.48.5"

[target."cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))".dependencies.windows_i686_gnu]
version = "0.48.5"

[target."cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_i686_msvc]
version = "0.48.5"

[target."cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))".dependencies.windows_x86_64_gnu]
version = "0.48.5"

[target."cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))".dependencies.windows_x86_64_msvc]
version = "0.48.5"

[target.x86_64-pc-windows-gnullvm.dependencies.windows_x86_64_gnullvm]
version = "0.48.5"
