goose_builtins = library( 'goose-builtins',
'builtins.cpp',
'extpoints.cpp',
'helpers.cpp',
'types/types.cpp',
'types/basic.cpp',
'types/decl.cpp',
'types/runtime/runtime.cpp',
'types/runtime/basic.cpp',
'types/runtime/pointer.cpp',
'types/runtime/array.cpp',
'types/runtime/struct.cpp',
'types/runtime/unify.cpp',
'types/tuple/tuple.cpp',
'types/tuple/unify.cpp',
'types/func/bfunc.cpp',
'types/func/func.cpp',
'types/func/build.cpp',
'types/func/invoke.cpp',
'types/func/unify.cpp',
'types/intrinsic/intrinsic.cpp',
'types/template/tvec.cpp',
'types/template/tvar.cpp',
'types/template/tdecl.cpp',
'types/template/tnameddecl.cpp',
'types/template/tfunctype.cpp',
'types/template/tfunc.cpp',
'types/template/build.cpp',
'types/template/rules.cpp',
'types/template/invoke.cpp',
'types/template/instantiate.cpp',
'types/template/unify.cpp',
'types/template/uni-tdecl.cpp',
'types/overloadset/overloadset.cpp',
'types/overloadset/invoke.cpp',
'types/overloadset/unify.cpp',
'types/overloadset/helpers.cpp',
'types/constrainedfunc/constrainedfunc.cpp',
'types/constrainedfunc/invoke.cpp',
'types/constrainedfunc/unify.cpp',
'types/localvar/localvar.cpp',
'types/localvar/unify.cpp',
'operators/semicolon.cpp',
'operators/comma.cpp',
'operators/dollar.cpp',
'operators/domainspecifiers.cpp',
'operators/logic.cpp',
'operators/arith.cpp',
'operators/comparison.cpp',
'operators/assignment.cpp',
'operators/compoundass.cpp',
'statements/using.cpp',
'statements/return.cpp',
'statements/if.cpp',
'statements/hif.cpp',
'statements/while.cpp',
'statements/break.cpp',
'statements/continue.cpp',
'statements/verification.cpp',
'api/string.cpp',
'api/compiler.cpp',
'api/support/cast.cpp',
'api/support/verification.cpp',
'api/codegen/module.cpp',
'api/codegen/mangle.cpp',
'api/codegen/func.cpp',
'api/codegen/linker.cpp',
include_directories: bsinc,
dependencies: fmt_dep
)