#build-system #build #ast #system #term #rust

build elite

New generation, simple & clean build system

5 releases

0.1.4 Feb 9, 2022
0.1.3 Feb 9, 2022
0.1.2 Feb 8, 2022
0.1.1 Feb 8, 2022
0.1.0 Jun 6, 2021

#232 in Build Utils

21 downloads per month

MIT license

64KB
1.5K SLoC

Elitebuild :)

Fegeya Elitebuild

Small, powerful, work-in-progress build system. Written in Rust.

Features:

  • No functions (all are built-ins)
  • All variables are global
  • Cross-platform (say 'thank you' to rust's standard lib)
  • Different syntax.
  • Preprocessor.
  • Aliases.

A taste of Elite's syntax:

set BIN_PATH      as "/usr/bin/"
set COMPILER      as "g++"
set COMPILER_PATH as "{BIN_PATH}{COMPILER}"

set SOURCE_FILE   as "example.cpp"
set OUTPUT        as "example"

for signal "start" [
  for exists "{BIN_PATH}clang++" [
    set COMPILER as "clang++"    
  ]
  
  for specific "linux" [
    println "OS: GNU/Linux"
  ]
  
  for specific "freebsd" [
    println "OS: FreeBSD"
  ]
  
  for specific "windows" [
    println "OS: Windows"
  ]
  
  for specific "openbsd" [
    println "OS: OpenBSD"
  ]
  
  for argument "build" [
    use exec "{COMPILER} {SOURCE_FILE} -o {OUTPUT}"
  
    for exists $OUTPUT [
      println "Build succeeded"
    ]
    
    use signal "exit"
  ]
   
  use signal "exit"
]

Other implementations?

Elitebuild licensed under the terms of MIT License.

No runtime deps