Allow multiple calls to ctx.SetBuildDir
ctx.SetBuildDir is called by the bootstrap singleton, which is always
last. In order to allow the primary builder to set the directory for
.ninja_log/.ninja_deps, remove the panic on multiple calls to
ctx.SetBuildDir, and always used the value passed by the first caller.
diff --git a/context.go b/context.go
index a20de91..c1d5b38 100644
--- a/context.go
+++ b/context.go
@@ -1913,10 +1913,9 @@
}
func (c *Context) setBuildDir(value *ninjaString) {
- if c.buildDir != nil {
- panic("buildDir set multiple times")
+ if c.buildDir == nil {
+ c.buildDir = value
}
- c.buildDir = value
}
func (c *Context) makeUniquePackageNames(