# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# -------------- READ BEFORE EDITING ---------------
# This file describes the third-party packages used by Rust code and
# how they should be built.
#
# Every edit to this file should be followed by:
# - fx update-rustc-third-party
#
# Always request non-default features you use. This can sometimes get
# missed if another third-party crate in our build requests the same
# feature you use: your builds will usually work, but `fx rustdoc` will
# fail.
#
# More information is available in
# docs/development/languages/rust/third_party.md.

[package]
name = "fuchsia-third-party"
version = "0.1.0"

[dependencies]
# Keep this sorted alphabetically, please.
ansi_term = "0.11.0"
anyhow = "1.0.38"
arbitrary = { version = "0.4.0", features = ["derive"] }
argh = "0.1.5"
async-channel = "1.6.1"
async-lock = "2.3"
async-trait = "0.1.40"
atomic-waker = "1.0.0"
base64 = "0.9"
bincode = "1"
bitfield = "0.13"
bitflags = "1"
blocking = "1.0.2"
bumpalo = "3.2.1"
byteorder = { version = "1", features = ["i128"] }
bytes = "1.0.1"
cargo_metadata = "0.9.1"
chrono = "0.4.11"
chrono-english = "0.1.4"
clap = "2.33"
crc = "1.8.1"
criterion = { version = "0.2", default-features = false }
crossbeam = "0.8.0"
csv = "1.0.7"
cxx = "1.0.50"
cxxbridge-cmd = "1.0.49"
darling = "0.12.0"
dashmap = "4.0.2"
data-encoding = "2.1.2"
derivative = "2.1.1"
derp = "0.0.13"
difference = "2.0.0"
event-listener = "2.5.1"
fatfs = { path = "forks/fatfs" }
flate2 = { version = "1.0.14", default-features = false, features = ["rust_backend"] }
futures = "=0.3.15"
futures-channel = "=0.3.15"
futures-core = "=0.3.15"
futures-executor = "=0.3.15"
futures-io = "=0.3.15"
futures-lite = "1.11.3"
futures-macro = "=0.3.15"
futures-sink = "=0.3.15"
futures-task = "=0.3.15"
futures-test = "=0.3.15"
futures-util = "=0.3.15"
glob = "0.3.0"
gpt = "2.0.0"
heck = "0.3.1"
hex = "0.3.2"
humansize = "1.1.1"
http = "0.2.4"
hyper = { version = "0.14.11", default-features = false, features = ["stream","http1","http2","client","server"] }
itertools = "0.8"
itoa = "0.4"
json5format = "0.2.0"
lazy_static = "1.4"
libc = "0.2.84"
libm = "0.2.1"
linked-hash-map = "0.5.3"
log = { version = "0.4.11", features = ["std"] }
maplit = "1.0"
matches = "0.1.8"
maybe-owned = "0.3.2"
memchr = "2.0"
# TODO(fxbug.dev/66092) limit to tests
mockall = "0.9"
nom = { version = "5.0.0", default-features = false, features = ["std", "regexp_macros"] }
nom_locate = "2.0.0"
nonzero_ext = "0.3.0"
num-derive = "0.2.4"
num-traits= "0.2.14"
numtoa = "0.1.0"
once_cell = { version = "1.2.0", features = ["parking_lot"] }
parking_lot = "0.9"
paste = "1.0"
percent-encoding = "2.1"
pest = "2.1.3"
pest_derive = "2.1"
pest_generator = "2.1.3"
pin-project = "1.0.4"
pin-utils = "0.1.0"
png = "0.14" # saved for future use
pretty_assertions = "0.5.1"
prettytable-rs = "0.8.0"
proc-macro-hack = "0.5.19"
proptest = "0.9.3"
proptest-derive = "0.1.1"
rand = "0.6"
rand_core = "0.4.0"
rand_os = "0.1.2"
rand_xorshift = "0.1.1"
rayon = "1.2.1"
regex = "1.0.6"
regex-syntax = "0.6.5"
ring = "0.16"
rouille = "3.0.0"
rust-crypto = "0.2"
rustc-demangle = "0.1.16"
rustc-hash = "1.0.1"
rustls = { version = "0.19.1", features = ["dangerous_configuration"] }
scopeguard = "1.1.0"
semver = "0.9.0"
serde = { version = "1.0.116", features = ["derive"] }
serde_cbor = "0.11.1"
serde_derive = "1.0.116"
serde_json = "1.0.59"
serde_json5 = { path = "mirrors/serde_json5" }
serde_repr = "0.1.3"
slab = "0.4"
socket2 = { version = "0.4.0", features = ["all"] }
splines = "2.2.0"
static_assertions = "1.1.0"
streaming-stats = "0.2.3"
strsim = "0.10.0"
structopt = "0.2.14"
tempfile = "3.1"
termion = "1.5.3"
test-case = "1.1.0"
textwrap = "0.11.0"
thiserror = "1.0.23"
timebomb = "0.1.2"
tokio = { version = "1.10.0", default-features = false, features = ["rt", "rt-multi-thread"] }
toml = "0.5"
toml_edit = "0.2.1"
tracing = { version = "0.1.25", features = ["log"] }
tracing-core = "0.1.17"
tracing-futures = "0.2.5"
tracing-log = "0.1.2"
unicase = "2.2.0"
untrusted = "0.7"
url = "2.1"
uuid = { version = "0.7.2", features = ["serde", "v4"] } # move ?
valico = "2.4.2"
vte = "0.3"
wasm-bindgen = "0.2.60"
webpki = "0.21"
xml-rs = "0.8"
# move once target-side tests of host-side code have been removed
# in wayland/scanner:lib and unicode_block_generator :
num = "0.2"
unic-char-range = "0.9"
unic-ucd-block = "0.9"
unicode-segmentation = "1.0"
unicode-width = "0.1.3"
utf8parse = "0.1"
walkdir = "2.2.7"
zstd = "0.8.0+zstd.1.4.9"
zstd-safe = "4.0.0+zstd.1.4.9"

[dependencies.tracing-subscriber]
version = "0.2.7"
default-features = false
features = ["chrono", "registry", "tracing-log"]

# Target-side only dependencies
[target.'cfg(target_os = "fuchsia")'.dependencies]
# do not add back without verifying certificate transparency is ready to use - see fxbug.dev/25100
# ct-logs = "0.6"
euclid = { version = "0.22.1", features = [ "serde" ] }
eui48 = { version = "0.4.6", features = ["serde", "disp_hexstring"] }
getopts = "0.2"
hyper-rustls = { version = "0.22.1", default-features = false }
lipsum = "0.6.0"
num-bigint = { version = "0.2", features = ["rand"] }
openat = "0.1.17"
owning_ref = "0.4.0"
pretty = "0.5.2"
proc-macro-nested = "0.1.7"
rust_icu_common = { version = "1.0.0", default-features = false, features = ["renaming"] }
rust_icu_sys = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ucal = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udat = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_udata = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uenum = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
rust_icu_uloc = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env", "icu_version_67_plus"] }
rust_icu_ustring = { version = "1.0.0", default-features = false, features = ["renaming", "icu_version_in_env"] }
smallvec = "1.2"
time = "0.1"
tokio-rustls = "0.22.0"
trust-dns-proto = { version = "0.19.2", default-features = false, features = ["testing"] }
trust-dns-resolver = { version = "0.19.2", default-features = false, features = ["testing"] }
ttf-parser = "0.10.1"
unicode-normalization = "0.1"
vk-sys = "0.4.0"
void = "1.0.2"

# Host-side only dependencies
[target.'cfg(not(target_os = "fuchsia"))'.dependencies]
async-broadcast = "0.2.0"
async-executor = "1.4.1"
async-fs = "1.5"
async-io = "1.4.1"
async-net = "1.6.0"
crossterm = "0.19"
concurrent-queue = "1.2.2"
easy-parallel = "3.1"
handlebars = "3.5.4"
home = "0.5.3"
hyper-rustls = { version = "0.22.1", default-features = false, features = ["rustls-native-certs"] }
indoc = "0.3.3"
# TODO(http://fxbug.dev/70292): Not for use on Fuchsia, this pulls in the
# latest Tokio, which we're not ready to update yet.
inotify = { version = "0.9.3", default-features = false }
# TODO(https://github.com/rust-lang/rust/issues/58590): nix is not generally
# visible in fuchsia so we don't depend on #[cfg(unix)] things on target
nix = "0.20"
notify = "5.0.0-pre.10"
pathdiff = "0.2.0"
parking = "2"
pem = "0.8.3"
proc-macro2 = "1.0.28"
polling = "2.0.2"
pulldown-cmark = "0.6.0"
quote = "1.0.2"
serial_test = "0.5.1" # Not for use on Fuchsia, only for a single process.
shared_child = "0.3.5"
signal-hook = "0.3.8"
simplelog = "0.8.0"
syn = { version = "1.0.5", features = ["full", "visit-mut", "extra-traits"] }
synstructure = "0.12.1"
tar = "0.4.25"
termios = "0.3.2"
waker-fn = "1.1"
zip = { version = "0.5.5", default-features = false, features = ["deflate"] }

# For crates we don't want to vendor, follow instructions at
# //docs/development/languages/rust/external_crates.md.
[patch.crates-io]
# Keep each section sorted alphabetically, please.

### In-tree Crates: crates which are on crates.io but which we build from our in-tree copy
fuchsia-cprng = { path = "../../src/lib/zircon/rust/fuchsia-cprng" }

### Ask to Patch: crates which require a policy exception to contribute to.
aho-corasick = { path = "ask2patch/aho-corasick" }
byteorder = { path = "ask2patch/byteorder" }
csv = { path = "ask2patch/csv" }
csv-core = { path = "ask2patch/csv-core" }
memchr = { path = "ask2patch/memchr" }
regex-automata = { path = "ask2patch/regex-automata" }
same-file = { path = "ask2patch/same-file" }
streaming-stats = { path = "ask2patch/streaming-stats" }
termcolor = { path = "ask2patch/termcolor" }
walkdir = { path = "ask2patch/walkdir" }

### Empty Forks: empty forks kept only for satisfying cargo's resolution
backtrace-sys = { path = "empty/backtrace-sys" }
cmake = { path = "empty/cmake"}
crossterm_winapi = { path = "empty/crossterm_winapi" }
futures-timer = { path = "empty/futures-timer" }
js-sys = { path = "empty/js-sys" }
miow = { path = "empty/miow" }
ntapi = { path = "empty/ntapi" }
pkg-config = { path = "empty/pkg-config" }
wasm-bindgen-futures = { path = "empty/wasm-bindgen-futures" }
web-sys = { path = "empty/web-sys" }
wepoll-binding = { path = "empty/wepoll-binding" }
wepoll-sys = { path = "empty/wepoll-sys" }
winapi-i686-pc-windows-gnu = { path = "empty/winapi-i686-pc-windows-gnu" }
winapi-x86_64-pc-windows-gnu = { path = "empty/winapi-x86_64-pc-windows-gnu" }
winapi = { path = "empty/winapi" }
winapi-util = { path = "empty/winapi-util" }

### Forks: vendored crates whose code doesn't match the upstream version
# TODO(fxbug.dev/81590) re-vendor when combine makes next release after 4.6.0
combine = { path = "forks/combine" }
fatfs = { path = "forks/fatfs" }
libm = { path = "forks/libm" }
rustls = { path = "forks/rustls" }
security-framework = { path = "forks/security-framework" }
tracing-core = { path = "forks/tracing-core" }
trust-dns-resolver = { path = "forks/trust-dns-resolver" }
zstd-sys = { path = "forks/zstd-sys" }

### Mirrors: forked crates managed as separate git repos
rust-crypto = { path = "mirrors/rust-crypto" }
serde_json5 = { path = "mirrors/serde_json5" } # TODO(fxbug.dev/75491) remove

#################################################################################
###                            Cargo GNaw Configs                             ###
###                                                                           ###
### See GNaw's documentation in //tools/cargo-gnaw/README.md for more details ###
### and examples.                                                             ###
#################################################################################

# Global GN configs that will be added or removed from all generated targets

[gn.config]
remove_cfgs = [
  # Fuchsia defaults targets to 2018 edition. third_party can be any version
  "//build/config/rust:edition_2018",
  # Fuchsia forces targets to comply with 2018 idioms. third_party can ignore this
  "//build/config/rust:2018_idioms",
]
add_cfgs = []

# The below config data is for the targets being used by cargo-gnaw. This provides custom input that
# is usually provided by build.rs scripts. If the build.rs script is simple enough, cargo-gnaw will
# suggest what to put in here. if not, usually reading the build.rs script is sufficient.
#
# arguments to target:
#   rustflags - flags to pass to rustc
#   deps - native GN dependency
#   env_vars - environment variables, usually used for pretending to be cargo
#   configs - native GN config to use
#
# Keep this sorted alphabetically, please.

[gn.package.anyhow."1.0.38"]
# TODO(https://github.com/rust-lang/rust/pull/72981): uncomment when backtrace is stabilized.
# rustflags = ["--cfg=backtrace"]

[gn.package.bitflags."1.2.1"]
rustflags = ["--cfg=bitflags_const_fn"]

[gn.package.brotli-sys."0.3.2"]
deps = [ "//third_party/rust_crates/compat/brotli" ]

[gn.package.byteorder."1.3.1"]
rustflags = ["--cfg=byteorder_i128"]

[gn.package.core-foundation-sys."0.8.2".platform."cfg(target_os = \"macos\")"]
rustflags = ["-lframework=CoreFoundation"]

[gn.package.crc."1.8.1"]
env_vars = ["OUT_DIR=../../../compat/crc"]

[gn.package.crc32fast."1.2.0"]
rustflags = ["--cfg=crc32fast_stdarchx86"]

[gn.package.crossbeam-utils."0.8.4"]
rustflags = [
  "--cfg=has_min_const_fn",
  "--cfg=has_atomic_u8",
  "--cfg=has_atomic_u16",
  "--cfg=has_atomic_u32",
  "--cfg=has_atomic_u64",
  # TODO(https://github.com/rust-lang/rust/issues/32976): AtomicU128 is unstable.
  # "--cfg=has_atomic_u128",
]

[gn.package.futures-core."0.3.15"]
env_vars = [ "CARGO_PKG_NAME=futures-core" ]

[gn.package.futures-channel."0.3.15"]
env_vars = [ "CARGO_PKG_NAME=futures-channel" ]

[gn.package.futures-macro."0.3.15"]
env_vars = [ "CARGO_PKG_NAME=futures-macro" ]
rustflags = [ "--cfg=fn_like_proc_macro" ]

[gn.package.futures-task."0.3.15"]
env_vars = [ "CARGO_PKG_NAME=futures-task" ]

[gn.package.futures-util."0.3.15"]
env_vars = [ "CARGO_PKG_NAME=futures-util" ]
rustflags = [ "--cfg=fn_like_proc_macro" ]

[gn.package.getrandom."0.2.2"]
rustflags = []

[gn.package.httparse."1.4.1"]
rustflags = ["--cfg=httparse_simd"]

[gn.package.indexmap."1.7.0"]
rustflags = ["--cfg=has_std"]

[gn.package.libc."0.2.99"]
rustflags = ["--cfg=libc_priv_mod_use", "--cfg=libc_union", "--cfg=libc_const_size_of", "--cfg=libc_align", "--cfg=libc_core_cvoid", "--cfg=libc_packedN", "--cfg=libc_cfg_target_vendor"]

[gn.package.libc."0.2.99".platform."cfg(target_vendor = \"apple\")"]
rustflags = ["-liconv"]

[gn.package.libc."0.2.99".platform."cfg(target_os = \"freebsd\")"]
rustflags = ["--cfg=freebsd11"]

[gn.package.log."0.4.11"]
rustflags = ["--cfg=atomic_cas"]

[gn.package.memchr."2.4.0"]
rustflags = ["--cfg=memchr_runtime_simd", "--cfg=memchr_runtime_sse2", "--cfg=memchr_runtime_sse42", "--cfg=memchr_runtime_avx"]

[gn.package.mime_guess."1.8.6"]
env_vars = ["OUT_DIR=../../../compat/mime_guess"]

[gn.package.num-bigint."0.2.2"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-complex."0.2.1"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-derive."0.2.4"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-integer."0.1.39"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-rational."0.2.1"]
rustflags = ["--cfg=has_i128"]

[gn.package.num-traits."0.2.14"]
rustflags = ["--cfg=has_i128"]

[gn.package.maybe-uninit."2.0.0"]
rustflags = ["--cfg=derive_copy", "--cfg=repr_transparent", "--cfg=native_uninit"]

[gn.package.memoffset."0.6.3"]
rustflags = ["--cfg=tuple_ty", "--cfg=allow_clippy", "--cfg=maybe_uninit", "--cfg=doctests", "--cfg=raw_ref_macros"]

[gn.package.num-iter."0.1.37"]
rustflags = ["--cfg=has_i128"]

[gn.package.proc-macro2."0.4.27"]
rustflags = ["--cfg=u128", "--cfg=use_proc_macro", "--cfg=wrap_proc_macro"]

# cargo-gnaw suggested "--cfg=proc_macro_span" as well but proc_macro_span is still an unstable feature.
[gn.package.proc-macro2."1.0.28"]
rustflags = ["--cfg=span_locations", "--cfg=lexerror_display", "--cfg=hygiene", "--cfg=use_proc_macro", "--cfg=wrap_proc_macro"]

[gn.package.proc-macro-hack."0.5.19"]
rustflags = []

[gn.package.rand."0.6.5"]
rustflags = ["--cfg=rustc_1_25","--cfg=rustc_1_26",  "--cfg=rustc_1_27",]

[gn.package.rand_chacha."0.1.1"]
rustflags = ["--cfg=rustc_1_26"]

[gn.package.rand_pcg."0.1.1"]
rustflags = ["--cfg=rust_1_26"]

[gn.package.ring."0.16.12"]
deps = [ "//third_party/rust_crates/compat/ring:ring-core" ]

[gn.package.rust-crypto."0.2.36"]
deps = [ "//third_party/rust_crates/compat/rust-crypto" ]

[gn.package.ryu."1.0.3"]
rustflags = ["--cfg=integer128", "--cfg=must_use_return", "--cfg=maybe_uninit"]

[gn.package.proc-macro-nested."0.1.7"]
rustflags = []
env_vars = ["OUT_DIR=../../../compat/proc-macro-nested", "PATH_SEPARATOR=/"]

[gn.package.serde."1.0.116"]
rustflags = ["--cfg=ops_bound", "--cfg=core_reverse", "--cfg=de_boxed_c_str", "--cfg=de_boxed_path", "--cfg=de_rc_dst", "--cfg=core_duration", "--cfg=integer128", "--cfg=range_inclusive", "--cfg=num_nonzero", "--cfg=core_try_from", "--cfg=num_nonzero_signed", "--cfg=std_atomic64", "--cfg=std_atomic"]

[gn.package.serde_derive."1.0.116"]
rustflags = ["--cfg=underscore_consts"]

[gn.package.signal-hook."0.3.8"]
rustflags = []

[gn.package.tiny_http."0.6.2"]
# TODO(61282): Fix the leaks and remove this.
deps = [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]

[gn.package.tokio."1.10.0"]
rustflags = ["--cfg=tokio_track_caller"]

[gn.package.unicase."1.4.2"]
rustflags = ["--cfg=__unicase__default_hasher", "--cfg=__unicase__iter_cmp"]

[gn.package.unicase."2.5.1"]
rustflags = ["--cfg=__unicase__default_hasher", "--cfg=__unicase__const_funs", "--cfg=__unicase__iter_cmp"]

[gn.package.valico."2.4.2"]
env_vars = ["OUT_DIR=../../../../compat/valico"]

[gn.package.zstd-safe."4.0.0+zstd.1.4.9"]
rustflags = []

[gn.package.zstd-sys."1.5.0+zstd.1.4.9"]
rustflags = []


# These don't have build.rs scripts but require platform-specific target configuration.
#
# Keep this sorted alphabetically, please.

[gn.package.backtrace."0.3.42".platform."cfg(target_os = \"fuchsia\")"]
configs = [ "//build/config/fuchsia:libunwind" ]


# These don't have build.rs scripts, but they rely on Cargo populating the environment variables
#
# Keep this sorted alphabetically, please.

[gn.package.handlebars."3.5.4"]
# pest relies on this being set to find the grammar file
env_vars = [ "CARGO_MANIFEST_DIR=../../third_party/rust_crates/vendor/handlebars" ]

[gn.package.rust_icu_common."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_sys."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ucal."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udat."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_udata."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uenum."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_uloc."1.0.0"]
configs = [ "//src/lib/icu:version" ]
[gn.package.rust_icu_ustring."1.0.0"]
configs = [ "//src/lib/icu:version" ]

[gn.package.trust-dns-resolver."0.19.2"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.19.2\\\"" ]

[gn.package.unic-common."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-common\\\"",  "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-ucd-version."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-ucd-version\\\"",  "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-char-range."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-char-range\\\"",  "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-char-property."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-char-property\\\"",  "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]
[gn.package.unic-ucd-block."0.9.0"]
env_vars = [ "CARGO_PKG_VERSION=\\\"0.9.0\\\"", "CARGO_PKG_NAME=\\\"unic-ucd-block\\\"",  "CARGO_PKG_DESCRIPTION=\\\"\\\"", ]

[gn.package.wasm-bindgen-shared."0.2.60"]
# Do not quote, this is embedded directly in .wasm sections and is needed by wasm-bindgen.
env_vars = [ "CARGO_PKG_VERSION=0.2.60" ]

# These dependencies have build.rs scripts, but dummy invocations indicating they
# do not need to be run are sufficient for our build
#
# Keep this sorted alphabetically, please.
[gn.package.bincode."1.1.1"]
[gn.package.crossbeam-epoch."0.8.2"]
[gn.package.crossbeam-utils."0.7.2"]
# cxx's build.rs is only used to build it's src/cxx.cc file, for crates that use cxx and build with
# cargo. It is replaced with //src/lib/rust_cxx:cxx_lib.
[gn.package.cxx."1.0.50"]
[gn.package.getrandom."0.1.13"]
# cxx uses this to link against libc++ or libstdc++, for crates that use cxx and build with cargo.
# It is replaced by our own build machinery.
[gn.package.link-cplusplus."1.0.2"]
[gn.package.memoffset."0.5.3"]
[gn.package.nom."5.0.0"]
[gn.package.parking_lot."0.9.0"]
[gn.package.parking_lot_core."0.6.2"]
[gn.package.pulldown-cmark."0.6.0"]
[gn.package.rayon-core."1.7.0"]
[gn.package.serde_json."1.0.59"]
rustflags = ["--cfg=limb_width_64"]
[gn.package.syn."1.0.74"]
[gn.package.test-case."1.1.0"]
[gn.package.wasm-bindgen."0.2.60"]


# This section defines GN binary targets that should be generated from Cargo binary targets. (By
# default, cargo-gnaw will only generate targets for libraries and proc-macros.)
#
# Example:
#
#   [gn.package.cargo-package-name."1.2.3".binary.cargo-target-name]
#   output_name = "gn-name"
#   rustflags = [ ... ]
#   configs = [ ... ]
#
#
# In the above example, "gn-name" will become both the name of the group target to depend
# upon and the executable's output_name, so usages can assume output_name == target_name (and must
# since get_target_outputs only works within the same file).
#
# "cargo-target-name" is the name of the Cargo binary target within "cargo-package-name".
#
# Keep this sorted alphabetically, please.

[gn.package.cxxbridge-cmd."1.0.50".binary.cxxbridge]
output_name = "cxxbridge"
