18 lines
936 B
Plaintext
18 lines
936 B
Plaintext
#! build configuration surface for `brolang build` (v0).
|
|
#!
|
|
#! a project's `build.bro` imports this module and declares a top-level constant
|
|
#! named `config` of type `BuildConfig`. `brolang build [root]` type-checks
|
|
#! build.bro, reads the config, and writes root/build/name.
|
|
#!
|
|
#! declarative and literal-only: one executable per build. list fields take an
|
|
#! address-of an array literal (`&["raylib"]`) and default to empty.
|
|
BuildConfig :: struct {
|
|
name []u8 # output executable name under root/build
|
|
source []u8 # program package directory, relative to build.bro
|
|
libraries [][]u8 = &[] # library names to link (-l)
|
|
lib_paths [][]u8 = &[] # library search directories (-L)
|
|
includes [][]u8 = &[] # C include directories (-I)
|
|
defines [][]u8 = &[] # C preprocessor defines (name or name=value)
|
|
links [][]u8 = &[] # extra linker inputs (object/source files, -framework pairs)
|
|
}
|