# Part of the Crubit project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

[workspace]
members = [
  "cargo/cc_bindings_from_rs/cc_bindings_from_rs",
  "cargo/rs_bindings_from_cc/rs_bindings_from_cc",
  "support/ffi_11",
]
resolver = "2"

# In other crubit Cargo.toml files the version should just be specified as
# `packagename.workspace = true` and the actual version choice and features
# will be decided from here.
[workspace.dependencies]
anyhow = "1"
flagset = "0.4"
itertools = "0.13"
proc-macro2 = "1"
regex = "1"
serde = { version = "1", features = [ "derive", "rc" ] }
serde_json = "1"
syn = { version = "2", features = [ "extra-traits" ] }
quote = "1"
unicode-ident = "1"
either = "1"
clap = { version = "4", features = [ "derive" ] }
rustversion = "1"

[workspace.package]

edition = "2024"
license-file = "LICENSE"
repository = "https://github.com/google/crubit"
categories = ["development-tools::ffi"]
