[package] name = "roc_cli" description = "The Roc binary that brings together all functionality in the Roc toolset." default-run = "roc" authors.workspace = true edition.workspace = true license.workspace = true repository.workspace = true version.workspace = true [[bin]] bench = false name = "roc" path = "src/main.rs" test = false [features] default = ["target-aarch64", "target-x86_64", "target-wasm32"] i386-cli-run = ["target-x86"] wasm32-cli-run = ["target-wasm32", "run-wasm32"] editor = ["roc_editor"] run-wasm32 = ["roc_wasm_interp"] # Compiling for a different target than the current machine can cause linker errors. target-aarch64 = ["roc_build/target-aarch64", "roc_repl_cli/target-aarch64"] target-arm = ["roc_build/target-arm", "roc_repl_cli/target-arm"] target-wasm32 = ["roc_build/target-wasm32", "roc_repl_cli/target-wasm32"] target-x86 = ["roc_build/target-x86", "roc_repl_cli/target-x86"] target-x86_64 = ["roc_build/target-x86_64", "roc_repl_cli/target-x86_64"] target-all = ["target-aarch64", "target-arm", "target-x86", "target-x86_64", "target-wasm32"] sanitizers = ["roc_build/sanitizers"] [dependencies] roc_build = { path = "../compiler/build" } roc_builtins = { path = "../compiler/builtins" } roc_can = { path = "../compiler/can" } roc_collections = { path = "../compiler/collections" } roc_docs = { path = "../docs" } roc_editor = { path = "../editor", optional = true } roc_error_macros = { path = "../error_macros" } roc_fmt = { path = "../compiler/fmt" } roc_gen_llvm = { path = "../compiler/gen_llvm" } roc_glue = { path = "../glue" } roc_linker = { path = "../linker" } roc_load = { path = "../compiler/load" } roc_module = { path = "../compiler/module" } roc_mono = { path = "../compiler/mono" } roc_packaging = { path = "../packaging" } roc_parse = { path = "../compiler/parse" } roc_region = { path = "../compiler/region" } roc_repl_cli = { path = "../repl_cli", optional = true } roc_reporting = { path = "../reporting" } roc_target = { path = "../compiler/roc_target" } roc_tracing = { path = "../tracing" } roc_wasm_interp = { path = "../wasm_interp", optional = true } ven_pretty = { path = "../vendor/pretty" } bumpalo.workspace = true clap.workspace = true const_format.workspace = true errno.workspace = true indoc.workspace = true inkwell.workspace = true libc.workspace = true libloading.workspace = true mimalloc.workspace = true signal-hook.workspace = true strum.workspace = true target-lexicon.workspace = true tempfile.workspace = true # for now, uses unix/libc functions that windows does not support [target.'cfg(not(windows))'.dependencies] roc_repl_expect = { path = "../repl_expect" } [dev-dependencies] cli_utils = { path = "../cli_utils" } roc_test_utils = { path = "../test_utils" } roc_command_utils = { path = "../utils/command" } criterion.workspace = true indoc.workspace = true parking_lot.workspace = true pretty_assertions.workspace = true serial_test.workspace = true [[bench]] name = "time_bench" harness = false