#term #build #system #ast #rust

bin+lib 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

#62 in Build Utils

Download history 3/week @ 2022-03-09 21/week @ 2022-03-16 12/week @ 2022-03-23 2/week @ 2022-03-30 7/week @ 2022-04-06 2/week @ 2022-04-13 3/week @ 2022-04-20 26/week @ 2022-04-27 33/week @ 2022-05-04 77/week @ 2022-05-11 25/week @ 2022-05-18 23/week @ 2022-05-25 48/week @ 2022-06-01 13/week @ 2022-06-08 4/week @ 2022-06-15 4/week @ 2022-06-22

69 downloads per month

MIT license

63KB
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