var buildContext = build.Default
var buildToolchain toolchain = noToolchain{}
+var ldBuildmode string
// buildCompiler implements flag.Var.
// It implements Set by updating both
var pkgsFilter = func(pkgs []*Package) []*Package { return pkgs }
func buildModeInit() {
- var codegenArg, ldBuildmode string
+ var codegenArg string
platform := goos + "/" + goarch
switch buildBuildmode {
case "archive":
// TODO(mwhudson): remove -w when that gets fixed in linker.
buildLdflags = append(buildLdflags, "-linkshared", "-w")
}
- if ldBuildmode != "" {
- buildLdflags = append(buildLdflags, "-buildmode="+ldBuildmode)
- }
if codegenArg != "" {
buildAsmflags = append(buildAsmflags, codegenArg)
buildGcflags = append(buildGcflags, codegenArg)
importArgs := b.includeArgs("-L", allactions[:len(allactions)-1])
// TODO(mwhudson): this does not check for cxx-ness, extldflags etc
ldflags := []string{"-installsuffix", buildContext.InstallSuffix}
+ ldflags = append(ldflags, "-buildmode="+ldBuildmode)
ldflags = append(ldflags, buildLdflags...)
for _, d := range a.deps {
if d.target != "" { // omit unsafe etc
}
}
}
+ ldflags = append(ldflags, "-buildmode="+ldBuildmode)
ldflags = append(ldflags, buildLdflags...)
return b.run(".", p.ImportPath, nil, buildToolExec, tool(archChar()+"l"), "-o", out, importArgs, ldflags, mainpkg)
}