19 lines
942 B
Plaintext
19 lines
942 B
Plaintext
# Build configuration surface for `brolang build` (v0).
|
|
#
|
|
# A project's `build.bro` or `build.hon` imports this module and declares a
|
|
# top-level constant named `config` of type `BuildConfig`. `brolang build
|
|
# [root]` accepts exactly one of those files, 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 the build file
|
|
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)
|
|
}
|