module battery.backend.builder
Code Map
module battery.backend.builder;
class Builder
{
public:
alias ArgsKind = ArgsGenerator.Kind;
public:
mDrv: Driver;
mega: uni.Target;
ins: uni.Instance;
voltaPrint: string;
voltaBin: uni.Target;
public:
this(drv: Driver) { }
fn build(config: Configuration, boot: Configuration, libs: Lib[], exes: Exe[], verbose: bool) { }
fn processProject(gen: ArgsGenerator, b: Project) Store { }
fn processLibrary(gen: ArgsGenerator, lib: Lib) Store { }
fn processExe(gen: ArgsGenerator, exe: Exe) Store { }
fn makeTargetVoltLibraryGeneric(gen: ArgsGenerator, lib: Lib, name: string, flags: ArgsKind) uni.Target { }
fn makeTargetVoltLibraryBc(gen: ArgsGenerator, lib: Lib) uni.Target { }
fn makeTargetVoltLibraryAr(gen: ArgsGenerator, lib: Lib) uni.Target { }
fn makeTargetVoltLibraryO(gen: ArgsGenerator, lib: Lib) uni.Target { }
fn makeTargetExeGeneric(gen: ArgsGenerator, exe: Exe, name: string, flags: ArgsKind) uni.Target { }
fn makeTargetExeBc(gen: ArgsGenerator, exe: Exe) uni.Target { }
fn makeTargetExeAr(gen: ArgsGenerator, exe: Exe) uni.Target { }
fn makeTargetExeO(gen: ArgsGenerator, exe: Exe) uni.Target { }
fn makeTargetExe(gen: ArgsGenerator, exe: Exe) uni.Target { }
fn makeTargetC(gen: ArgsGenerator, src: string) uni.Target { }
fn makeTargetS(gen: ArgsGenerator, src: string) uni.Target { }
fn makeTargetAsm(gen: ArgsGenerator, src: string) uni.Target { }
fn makeHelperBitcodeToObj(gen: ArgsGenerator, bc: uni.Target) uni.Target { }
fn makeTargetVolted(gen: ArgsGenerator, exe: Exe) uni.Target { }
protected:
//! Store of objects each Lib/Exe produces.
mStore: Store[string];
mGen: ArgsGenerator;
}
class Store
{
public:
bcs: uni.Target[];
objs: uni.Target[];
public:
this() { }
}