Crates.io | lingua-franca |
lib.rs | lingua-franca |
version | 0.2.0 |
source | src |
created_at | 2023-11-17 17:17:53.837533 |
updated_at | 2023-11-17 17:17:53.837533 |
description | Packagemanager for Lingua-Franca |
homepage | https://lf-lang.org |
repository | https://github.com/lf-lang/lingo |
max_upload_size | |
id | 1039278 |
size | 138,091 |
Contact: tassilo-tanneberger@tu-dresden.de
Lingo is a one-stop build tool for the Lingua Franca project. Lingo will manage dependencies, configure build scripts and will potentially cross-compile for embedded platforms.
Lingo is a Rust project and is built with cargo. To install it simply run
cargo install --path .
lingua-franca package manager and build tool 0.1.2
tassilo.tanneberger@tu-dresden.de
Build system of lingua-franca projects
USAGE:
lingo [OPTIONS] <SUBCOMMAND>
OPTIONS:
-b, --backend <BACKEND> Force lingo to use the specified backend [default: cli]
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
build Compile the current package
clean Remove build artifacts from the package
help Print this message or the help of the given subcommand(s)
init Initialize a new package
run Build and run a main program in the package
update Update all the dependencies in the package
The Lingo.toml may look something like this.
[package]
name = "example_project"
version = "0.1.0"
authors = ["tassilo.tannerber@tu-dresden.de"]
homepage = "https://lf-lang.org"
license = "Weird Stallman License"
description = "A little Lingo.toml for people"
# shared properties of all binaries
[properties]
fast = true
# first binary in the project
[[app]]
name = "git-hook"
target = "cpp"
main_reactor = "src/Main.lf"
# main_reactor defaults to src/Main.lf
# dependencies
[[app.dependencies]]
git = {version = "0.3.2"}
tarfetcher = {version = "0.4.2"}
# replacement for target properties
[[app.properties]]
cmake-include = "./my-cmake.cmake"
logging = "info"
# second binary
[[app]]
name = "embedded"
# main_reactor = "src/SayHello.lf"
target = "zephyr"
[[app.dependencies]]
blink = {version = "0.1.2"}
[[app.properties]]
no-compile = true