diff options
-rw-r--r-- | ast.go | 12 | ||||
-rw-r--r-- | dep.go | 10 | ||||
-rw-r--r-- | eval.go | 20 | ||||
-rw-r--r-- | exec.go | 8 | ||||
-rw-r--r-- | func.go | 24 | ||||
-rw-r--r-- | log.go | 2 | ||||
-rw-r--r-- | main.go | 4 | ||||
-rw-r--r-- | parser.go | 10 | ||||
-rw-r--r-- | strutil.go | 4 | ||||
-rw-r--r-- | worker.go | 18 |
10 files changed, 56 insertions, 56 deletions
@@ -64,7 +64,7 @@ func (ast *AssignAST) evalRHS(ev *Evaluator, lhs string) Var { } func (ast *AssignAST) show() { - Log("%s %s %s %q", ast.opt, ast.lhs, ast.op, ast.rhs) + Logf("%s %s %s %q", ast.opt, ast.lhs, ast.op, ast.rhs) } // Note we cannot be sure what this is, until all variables in |expr| @@ -81,7 +81,7 @@ func (ast *MaybeRuleAST) eval(ev *Evaluator) { } func (ast *MaybeRuleAST) show() { - Log("%s", ast.expr) + Logf("%s", ast.expr) } type CommandAST struct { @@ -94,7 +94,7 @@ func (ast *CommandAST) eval(ev *Evaluator) { } func (ast *CommandAST) show() { - Log("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1)) + Logf("\t%s", strings.Replace(ast.cmd, "\n", `\n`, -1)) } type IncludeAST struct { @@ -108,7 +108,7 @@ func (ast *IncludeAST) eval(ev *Evaluator) { } func (ast *IncludeAST) show() { - Log("include %s", ast.expr) + Logf("include %s", ast.expr) } type IfAST struct { @@ -126,7 +126,7 @@ func (ast *IfAST) eval(ev *Evaluator) { func (ast *IfAST) show() { // TODO - Log("if") + Logf("if") } type ExportAST struct { @@ -141,5 +141,5 @@ func (ast *ExportAST) eval(ev *Evaluator) { func (ast *ExportAST) show() { // TODO - Log("export") + Logf("export") } @@ -133,8 +133,8 @@ func (db *DepBuilder) mergeImplicitRuleVars(outputs []string, vars Vars) Vars { if len(outputs) != 1 { panic(fmt.Sprintf("Implicit rule should have only one output but %q", outputs)) } - Log("merge? %q", db.ruleVars) - Log("merge? %q", outputs[0]) + Logf("merge? %q", db.ruleVars) + Logf("merge? %q", outputs[0]) ivars, present := db.ruleVars[outputs[0]] if !present { return vars @@ -142,7 +142,7 @@ func (db *DepBuilder) mergeImplicitRuleVars(outputs []string, vars Vars) Vars { if vars == nil { return ivars } - Log("merge!") + Logf("merge!") v := make(Vars) v.Merge(ivars) v.Merge(vars) @@ -223,7 +223,7 @@ func (db *DepBuilder) pickRule(output string) (*Rule, Vars, bool) { } func (db *DepBuilder) buildPlan(output string, neededBy string, tsvs Vars) (*DepNode, error) { - Log("Evaluating command: %s", output) + Logf("Evaluating command: %s", output) db.nodeCnt++ if db.nodeCnt%100 == 0 { db.reportStats() @@ -278,7 +278,7 @@ func (db *DepBuilder) buildPlan(output string, neededBy string, tsvs Vars) (*Dep var children []*DepNode var actualInputs []string - Log("Evaluating command: %s inputs:%q", output, rule.inputs) + Logf("Evaluating command: %s inputs:%q", output, rule.inputs) for _, input := range rule.inputs { if len(rule.outputPatterns) > 0 { if len(rule.outputPatterns) > 1 { @@ -76,7 +76,7 @@ func (ev *Evaluator) args(buf *buffer, args ...Value) [][]byte { func (ev *Evaluator) evalAssign(ast *AssignAST) { ev.lastRule = nil lhs, rhs := ev.evalAssignAST(ast) - Log("ASSIGN: %s=%q (flavor:%q)", lhs, rhs, rhs.Flavor()) + Logf("ASSIGN: %s=%q (flavor:%q)", lhs, rhs, rhs.Flavor()) if len(lhs) == 0 { Error(ast.filename, ast.lineno, "*** empty variable name.") } @@ -111,7 +111,7 @@ func (ev *Evaluator) setTargetSpecificVar(assign *AssignAST, output string) { } ev.currentScope = vars lhs, rhs := ev.evalAssignAST(assign) - Log("rule outputs:%q assign:%q=%q (flavor:%q)", output, lhs, rhs, rhs.Flavor()) + Logf("rule outputs:%q assign:%q=%q (flavor:%q)", output, lhs, rhs, rhs.Flavor()) vars.Assign(lhs, TargetSpecificVar{v: rhs, op: assign.op}) ev.currentScope = nil } @@ -128,7 +128,7 @@ func (ev *Evaluator) evalMaybeRule(ast *MaybeRuleAST) { if ast.term == '=' { line = append(line, ast.afterTerm...) } - Log("rule? %q=>%q", ast.expr, line) + Logf("rule? %q=>%q", ast.expr, line) // See semicolon.mk. if len(bytes.TrimRight(line, " \t\n;")) == 0 { @@ -145,10 +145,10 @@ func (ev *Evaluator) evalMaybeRule(ast *MaybeRuleAST) { Error(ast.filename, ast.lineno, "%v", err.Error()) } freeBuf(buf) - Log("rule %q => outputs:%q, inputs:%q", line, rule.outputs, rule.inputs) + Logf("rule %q => outputs:%q, inputs:%q", line, rule.outputs, rule.inputs) // TODO: Pretty print. - //Log("RULE: %s=%s (%d commands)", lhs, rhs, len(cmds)) + //Logf("RULE: %s=%s (%d commands)", lhs, rhs, len(cmds)) if assign != nil { if ast.term == ';' { @@ -178,7 +178,7 @@ func (ev *Evaluator) evalMaybeRule(ast *MaybeRuleAST) { if ast.term == ';' { rule.cmds = append(rule.cmds, string(ast.afterTerm[1:])) } - Log("rule outputs:%q cmds:%q", rule.outputs, rule.cmds) + Logf("rule outputs:%q cmds:%q", rule.outputs, rule.cmds) ev.lastRule = rule ev.outRules = append(ev.outRules, rule) } @@ -253,7 +253,7 @@ func (ev *Evaluator) evalIncludeFile(fname string, c []byte) error { }() mk, err, ok := LookupMakefileCache(fname) if !ok { - Log("Reading makefile %q", fname) + Logf("Reading makefile %q", fname) mk, err = ParseMakefile(c, fname) } if err != nil { @@ -308,7 +308,7 @@ func (ev *Evaluator) evalInclude(ast *IncludeAST) { ev.filename = ast.filename ev.lineno = ast.lineno - Log("%s:%d include %q", ev.filename, ev.lineno, ast.expr) + Logf("%s:%d include %q", ev.filename, ev.lineno, ast.expr) v, _, err := parseExpr([]byte(ast.expr), nil) if err != nil { panic(err) @@ -366,7 +366,7 @@ func (ev *Evaluator) evalIf(ast *IfAST) { val := buf.Len() freeBuf(buf) isTrue = (val > 0) == (ast.op == "ifdef") - Log("%s lhs=%q value=%q => %t", ast.op, ast.lhs, value, isTrue) + Logf("%s lhs=%q value=%q => %t", ast.op, ast.lhs, value, isTrue) case "ifeq", "ifneq": lexpr := ast.lhs rexpr := ast.rhs @@ -376,7 +376,7 @@ func (ev *Evaluator) evalIf(ast *IfAST) { rhs := string(params[1]) freeBuf(buf) isTrue = (lhs == rhs) == (ast.op == "ifeq") - Log("%s lhs=%q %q rhs=%q %q => %t", ast.op, ast.lhs, lhs, ast.rhs, rhs, isTrue) + Logf("%s lhs=%q %q rhs=%q %q => %t", ast.op, ast.lhs, lhs, ast.rhs, rhs, isTrue) default: panic(fmt.Sprintf("unknown if statement: %q", ast.op)) } @@ -129,7 +129,7 @@ func (v AutoSuffixFVar) Eval(w io.Writer, ev *Evaluator) { func (ex *Executor) makeJobs(n *DepNode, neededBy *Job) error { output := n.Output if neededBy != nil { - Log("MakeJob: %s for %s", output, neededBy.n.Output) + Logf("MakeJob: %s for %s", output, neededBy.n.Output) } ex.buildCnt++ if ex.buildCnt%100 == 0 { @@ -147,7 +147,7 @@ func (ex *Executor) makeJobs(n *DepNode, neededBy *Job) error { neededBy.numDeps-- } } else { - Log("%s already done: %d", j.n.Output, j.outputTs) + Logf("%s already done: %d", j.n.Output, j.outputTs) if neededBy != nil { ex.wm.ReportNewDep(j, neededBy) } @@ -177,7 +177,7 @@ func (ex *Executor) makeJobs(n *DepNode, neededBy *Job) error { } deps = append(deps, d) } - Log("new: %s (%d)", j.n.Output, j.numDeps) + Logf("new: %s (%d)", j.n.Output, j.numDeps) for _, d := range deps { ex.trace = append(ex.trace, d.Output) @@ -267,7 +267,7 @@ func (ex *Executor) createRunners(n *DepNode, avoidIO bool) ([]runner, bool) { ev.avoidIO = avoidIO ev.filename = n.Filename ev.lineno = n.Lineno - Log("Building: %s cmds:%q", n.Output, n.Cmds) + Logf("Building: %s cmds:%q", n.Output, n.Cmds) r := runner{ output: n.Output, echo: true, @@ -169,7 +169,7 @@ func (f *funcSubst) Eval(w io.Writer, ev *Evaluator) { from := fargs[0] to := fargs[1] text := fargs[2] - Log("subst from:%q to:%q text:%q", from, to, text) + Logf("subst from:%q to:%q text:%q", from, to, text) w.Write(bytes.Replace(text, from, to, -1)) freeBuf(abuf) } @@ -601,12 +601,12 @@ func (f *funcRealpath) Eval(w io.Writer, ev *Evaluator) { name := string(ws.Bytes()) name, err := filepath.Abs(name) if err != nil { - Log("abs: %v", err) + Logf("abs: %v", err) continue } name, err = filepath.EvalSymlinks(name) if err != nil { - Log("realpath: %v", err) + Logf("realpath: %v", err) continue } sw.WriteString(name) @@ -627,7 +627,7 @@ func (f *funcAbspath) Eval(w io.Writer, ev *Evaluator) { name := string(ws.Bytes()) name, err := filepath.Abs(name) if err != nil { - Log("abs: %v", err) + Logf("abs: %v", err) continue } sw.WriteString(name) @@ -713,7 +713,7 @@ func hasNoIoInShellScript(s []byte) bool { if !bytes.HasPrefix(s, []byte("echo $((")) || s[len(s)-1] != ')' { return false } - Log("has no IO - evaluate now: %s", s) + Logf("has no IO - evaluate now: %s", s) return true } @@ -742,7 +742,7 @@ func (f *funcShell) Eval(w io.Writer, ev *Evaluator) { out, err := cmd.Output() shellFuncTime += time.Now().Sub(t) if err != nil { - Log("$(shell %q) failed: %q", arg, err) + Logf("$(shell %q) failed: %q", arg, err) } w.Write(formatCommandOutput(out)) @@ -757,7 +757,7 @@ func (f *funcCall) Eval(w io.Writer, ev *Evaluator) { abuf := newBuf() fargs := ev.args(abuf, f.args[1:]...) variable := fargs[0] - Log("call %q variable %q", f.args[1], variable) + Logf("call %q variable %q", f.args[1], variable) v := ev.LookupVar(string(variable)) // Evalualte all arguments first before we modify the table. var args []tmpval @@ -770,7 +770,7 @@ func (f *funcCall) Eval(w io.Writer, ev *Evaluator) { for i, arg := range fargs[1:] { // f.args[2]=>args[1] will be $1. args = append(args, tmpval(arg)) - Log("call $%d: %q=>%q", i+1, arg, fargs[i+1]) + Logf("call $%d: %q=>%q", i+1, arg, fargs[i+1]) } oldParams := ev.paramVars ev.paramVars = args @@ -794,7 +794,7 @@ func (f *funcCall) Eval(w io.Writer, ev *Evaluator) { restore() } ev.paramVars = oldParams - Log("call %q variable %q return %q", f.args[1], variable, buf.Bytes()) + Logf("call %q variable %q return %q", f.args[1], variable, buf.Bytes()) freeBuf(abuf) } @@ -817,7 +817,7 @@ func (f *funcEval) Eval(w io.Writer, ev *Evaluator) { abuf := newBuf() f.args[1].Eval(abuf, ev) s := abuf.Bytes() - Log("eval %q at %s:%d", s, ev.filename, ev.lineno) + Logf("eval %q at %s:%d", s, ev.filename, ev.lineno) mk, err := ParseMakefileBytes(s, ev.filename, ev.lineno) if err != nil { panic(err) @@ -849,7 +849,7 @@ func (f *funcEval) Compact() Value { rhs = append(rhs, rhsprefix) } rhs = append(rhs, arg[1:]...) - Log("eval assign %#v => lhs:%q op:%q rhs:%#v", f, lhs, op, rhs) + Logf("eval assign %#v => lhs:%q op:%q rhs:%#v", f, lhs, op, rhs) return &funcEvalAssign{ lhs: lhs, op: op, @@ -971,7 +971,7 @@ func (f *funcEvalAssign) Eval(w io.Writer, ev *Evaluator) { } rvalue = RecursiveVar{expr: tmpval(rhs), origin: "file"} } - Log("Eval ASSIGN: %s=%q (flavor:%q)", f.lhs, rvalue, rvalue.Flavor()) + Logf("Eval ASSIGN: %s=%q (flavor:%q)", f.lhs, rvalue, rvalue.Flavor()) ev.outVars.Assign(f.lhs, rvalue) } @@ -22,7 +22,7 @@ func LogStats(f string, a ...interface{}) { LogAlways(f, a...) } -func Log(f string, a ...interface{}) { +func Logf(f string, a ...interface{}) { if !katiLogFlag { return } @@ -184,7 +184,7 @@ func getDepGraph(clvars []string, targets []string) *DepGraph { vars := make(Vars) for _, env := range os.Environ() { kv := strings.SplitN(env, "=", 2) - Log("envvar %q", kv) + Logf("envvar %q", kv) if len(kv) < 2 { panic(fmt.Sprintf("A weird environ variable %q", kv)) } @@ -196,7 +196,7 @@ func getDepGraph(clvars []string, targets []string) *DepGraph { vars.Assign("MAKEFILE_LIST", SimpleVar{value: []byte{}, origin: "file"}) for _, v := range clvars { kv := strings.SplitN(v, "=", 2) - Log("cmdlinevar %q", kv) + Logf("cmdlinevar %q", kv) if len(kv) < 2 { panic(fmt.Sprintf("unexpected command line var %q", kv)) } @@ -174,7 +174,7 @@ func newAssignAST(p *parser, lhsBytes []byte, rhsBytes []byte, op string) *Assig } func (p *parser) parseAssign(line []byte, sep, esep int) AST { - Log("parseAssign %q op:%q", line, line[sep:esep]) + Logf("parseAssign %q op:%q", line, line[sep:esep]) ast := newAssignAST(p, bytes.TrimSpace(line[:sep]), trimLeftSpaceBytes(line[esep:]), string(line[sep:esep])) ast.filename = p.mk.filename ast.lineno = p.lineno @@ -546,7 +546,7 @@ func (p *parser) parse() (mk Makefile, err error) { if len(p.inDef) > 0 { line = p.processDefineLine(line) if trimLeftSpace(string(line)) == "endef" { - Log("multilineAssign %q", p.inDef) + Logf("multilineAssign %q", p.inDef) ast := newAssignAST(p, []byte(p.inDef[0]), []byte(strings.Join(p.inDef[1:], "\n")), "=") ast.filename = p.mk.filename ast.lineno = p.lineno - len(p.inDef) @@ -648,7 +648,7 @@ func ParseMakefileFd(filename string, f *os.File) (Makefile, error) { /* func ParseMakefile(filename string) (Makefile, error) { - Log("ParseMakefile %q", filename) + Logf("ParseMakefile %q", filename) f, err := os.Open(filename) if err != nil { return Makefile{}, err @@ -719,12 +719,12 @@ func LookupMakefileCache(filename string) (Makefile, error, bool) { if ts < 0 || ts >= c.ts { return Makefile{}, nil, false } - Log("Cache hit for %q", filename) + Logf("Cache hit for %q", filename) return c.mk, c.err, true } func ParseMakefile(s []byte, filename string) (Makefile, error) { - Log("ParseMakefile %q", filename) + Logf("ParseMakefile %q", filename) parser := newParser(bytes.NewReader(s), filename) mk, err := parser.parse() makefileCache[filename] = MakefileCache{ @@ -34,7 +34,7 @@ func splitSpaces(s string) []string { if tokStart >= 0 { r = append(r, s[tokStart:]) } - Log("splitSpace(%q)=%q", s, r) + Logf("splitSpace(%q)=%q", s, r) return r } @@ -55,7 +55,7 @@ func splitSpacesBytes(s []byte) (r [][]byte) { if tokStart >= 0 { r = append(r, s[tokStart:]) } - Log("splitSpace(%q)=%q", s, r) + Logf("splitSpace(%q)=%q", s, r) return r } @@ -243,7 +243,7 @@ func (wm *WorkerManager) handleJobs() { return } j := heap.Pop(&wm.readyQueue).(*Job) - Log("run: %s", j.n.Output) + Logf("run: %s", j.n.Output) if useParaFlag { j.runners = j.createRunners() @@ -267,7 +267,7 @@ func (wm *WorkerManager) handleJobs() { func (wm *WorkerManager) updateParents(j *Job) { for _, p := range j.parents { p.numDeps-- - Log("child: %s (%d)", p.n.Output, p.numDeps) + Logf("child: %s (%d)", p.n.Output, p.numDeps) if p.depsTs < j.outputTs { p.depsTs = j.outputTs } @@ -343,7 +343,7 @@ func (wm *WorkerManager) maybePushToReadyQueue(j *Job) { return } heap.Push(&wm.readyQueue, j) - Log("ready: %s", j.n.Output) + Logf("ready: %s", j.n.Output) } func (wm *WorkerManager) handleNewDep(j *Job, neededBy *Job) { @@ -362,19 +362,19 @@ func (wm *WorkerManager) Run() { for wm.hasTodo() || len(wm.busyWorkers) > 0 || len(wm.runnings) > 0 || !done { select { case j := <-wm.jobChan: - Log("wait: %s (%d)", j.n.Output, j.numDeps) + Logf("wait: %s (%d)", j.n.Output, j.numDeps) j.id = len(wm.jobs) + 1 wm.jobs = append(wm.jobs, j) wm.maybePushToReadyQueue(j) case jr := <-wm.resultChan: - Log("done: %s", jr.j.n.Output) + Logf("done: %s", jr.j.n.Output) delete(wm.busyWorkers, jr.w) wm.freeWorkers = append(wm.freeWorkers, jr.w) wm.updateParents(jr.j) wm.finishCnt++ case af := <-wm.newDepChan: wm.handleNewDep(af.j, af.neededBy) - Log("dep: %s (%d) %s", af.neededBy.n.Output, af.neededBy.numDeps, af.j.n.Output) + Logf("dep: %s (%d) %s", af.neededBy.n.Output, af.neededBy.numDeps, af.j.n.Output) case pr := <-wm.paraChan: if pr.status < 0 && pr.signal < 0 { j := wm.runnings[pr.output] @@ -400,14 +400,14 @@ func (wm *WorkerManager) Run() { if numBusy > jobsFlag { numBusy = jobsFlag } - Log("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), jobsFlag-numBusy, numBusy) + Logf("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), jobsFlag-numBusy, numBusy) } else { - Log("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), len(wm.freeWorkers), len(wm.busyWorkers)) + Logf("job=%d ready=%d free=%d busy=%d", len(wm.jobs)-wm.finishCnt, wm.readyQueue.Len(), len(wm.freeWorkers), len(wm.busyWorkers)) } } if useParaFlag { - Log("Wait for para to finish") + Logf("Wait for para to finish") wm.para.Wait() } else { for _, w := range wm.freeWorkers { |