Files
brolang/std/build/build.hon
T

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