type PantherBuildConfig = struct { var output : UI32; // an enum (changing in the future) var numThreads : UI32; // 0 means single-threaded var addDebugInfo : Bool; var packages : [@build.PantherBuildConfigPackage:*]; var cFamilyHeaders : [@build.PantherBuildConfigCFamilyHeader:*]; }
Structure to describe a panther build. Meant for use with @createPantherBuild.
type PantherBuildConfigPackage = struct { var path : [Char:*]; var name : [Char:*]; var warnings : @build.PackageWarningSettings; var sourceFiles : [[Char:*]:*]; var sourceDirectories : [@build.PantherBuildConfigDirectory:*]; }
Structure to describe a package for a panther build.
type PantherBuildConfigDirectory = struct { var path : [Char:*]; var isRecursive : Bool; }
Structure to describe a source directory for a panther build.
type PantherBuildConfigCFamilyHeader = struct { var path : [Char:*]; var isCPP : Bool; var addIncludesToPubApi : Bool; }
Structure to describe a c-family header for a panther build.
type PackageWarningSettings = struct { var methodCallOnNonMethod : Bool = true; var deleteMovedFromExpr : Bool = true; var deleteTriviallyDeletableType : Bool = true; var comptimeIfCond : Bool = true; var alreadyUnsafe : Bool = true; var experimentalF80 : Bool = true; }
Structure for which warning should be enabled for a package.