reindeer.toml
manifest_path = "Cargo.toml"
third_party_dir = "third-party/rust"
vendor = false
cargo_env = true
# The platforms third-party rules are resolved for. The names are the prelude's
# (prelude//rust:cargo_package.bzl), which buck/platforms and the root PACKAGE
# map configurations onto. Only the host is an execution platform, so a build
# script's features do not reach the wasm targets.
[platform.linux-x86_64]
target = "x86_64-unknown-linux-gnu"
execution-platform = true
# The workspace's features on the host: each crate's defaults, and block-app's
# full, which is the terminal and the embedded browser. reindeer would
# otherwise resolve from the defaults alone, and neither of those is one.
# buck/cargo/buckify.bxl asks cargo to plan the same build.
features = ["default", "full"]
# The cross-compiled platforms, with the host's features. The names are the
# prelude's, but for Windows, which the prelude names by ABI rather than by
# architecture and which differs by architecture here: windows-targets links a
# different crate of import libraries for each.
[platform.android-arm64]
target = "aarch64-linux-android"
execution-platform = false
features = ["default", "full"]
[platform.linux-arm64]
target = "aarch64-unknown-linux-gnu"
execution-platform = false
features = ["default", "full"]
[platform.macos-arm64]
target = "aarch64-apple-darwin"
execution-platform = false
features = ["default", "full"]
[platform.macos-x86_64]
target = "x86_64-apple-darwin"
execution-platform = false
features = ["default", "full"]
[platform.windows-arm64]
target = "aarch64-pc-windows-msvc"
execution-platform = false
features = ["default", "full"]
[platform.windows-x86_64]
target = "x86_64-pc-windows-msvc"
execution-platform = false
features = ["default", "full"]
# block-app's web bundle. WASI with threads, which is what the browser's
# half of crates/block-app/web gives it, with the app's full, as on the host.
[platform.wasi]
target = "wasm32-wasip1-threads"
execution-platform = false
features = ["default", "full"]
# The plugins: the same triple, told apart by the plugin_guest cfg, which only
# the wgpu and egui-wgpu fixups read to give the guest its own features
# (buck/constraints/BUCK).
[platform.wasi-guest]
target = "wasm32-wasip1-threads"
execution-platform = false
plugin_guest = ["true"]
# The games, and the browser's half of the plugin protocol.
[platform.wasm32]
target = "wasm32-unknown-unknown"
execution-platform = false
[buck]
file_name = "BUCK"
rust_library = "cargo.rust_library"
rust_binary = "cargo.rust_binary"
buildscript_genrule = "buildscript_run"
# With more than one platform an alias has to say which of them it exists on,
# which the prelude's own alias does and buck2's builtin one does not.
alias_with_platforms = "cargo_alias"
buckfile_imports = """
load("@prelude//rust:cargo_buildscript.bzl", "buildscript_run")
load("@prelude//rust:cargo_package.bzl", "cargo")
load("@prelude//rust:cargo_package.bzl", cargo_alias = "alias")
"""
generated_file_header = """
##
## @generated by reindeer
## Do not edit by hand.
##
## ./scripts/buck generates it from the Cargo.toml files.
##
"""