18 lines
901 B
Plaintext
18 lines
901 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)
|
|
}
|