2 releases
new 0.2.2 | Dec 10, 2024 |
---|---|
0.2.1 |
|
0.2.0 | Nov 17, 2023 |
#109 in Build Utils
285 downloads per month
110KB
2.5K
SLoC
Lingo - A build tool for Lingua Franca programs
Contact: tassilo-tanneberger@tu-dresden.de
Lingo is a one-stop build tool for the Lingua Franca project. Lingo will manage your dependencies, configure build scripts and will potentially cross-compile for embedded platforms.
Getting started
Lingo is a Rust project and is built with cargo. To install it simply run
cargo install --path .
The command line interface
Build system for the Lingua Franca coordination language
Usage: lingo [OPTIONS] <COMMAND>
Commands:
init Initialize a Lingua Franca package
build Compile one or multiple binaries in a Lingua Franca package
update Update the dependencies and potentially build tools
run Build and run binaries
clean Remove build artifacts
help Print this message or the help of the given subcommand(s)
Options:
-q, --quiet Do not produce any output
-v, --verbose Provide more detailed feedback
-h, --help Print help
-V, --version Print version
The toml-based package configurations
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"
# a library exported by this LF Package
[lib]
name = "websocket"
location = "./src/lib"
target = "C"
platform = "Native"
[lib.properties]
cmake-include="./websocket.cmake"
# first binary in the project
[[app]]
name = "git-hook"
target = "cpp"
main = "src/Main.lf"
# replacement for target properties
[[app.properties]]
cmake-include = "./my-cmake.cmake"
logging = "info"
# dependencies
[[dependencies]]
mqtt = {version=">=0.1", git="https://github.com/LF-Community/mqtt.git", branch="main"}
Supported Platforms
We mainly support Linux and MacOs, support for windows is secondary.
Dependencies
~12–25MB
~378K SLoC