# 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) }