Lines Matching refs:p
191 func (p *GoPackage) FindDeps(config *Config, path string) error {
195 err := p.findDeps(config, path, depSet)
199 p.allDeps = depSet.packageList
262 func (p *GoPackage) findDeps(config *Config, path string, allPackages *linkedDepSet) error {
308 p.files = append(p.files, filename)
351 sort.Strings(p.files)
354 fmt.Fprintf(os.Stderr, "Package %q depends on %v\n", p.Name, deps)
359 p.directDeps = append(p.directDeps, allPackages.getByName(dep))
365 func (p *GoPackage) Compile(config *Config, outDir string) error {
366 p.mutex.Lock()
367 defer p.mutex.Unlock()
368 if p.compiled {
369 return p.failed
371 p.compiled = true
375 for _, dep := range p.directDeps {
383 for _, dep := range p.directDeps {
385 p.failed = dep.failed
386 return p.failed
390 endTrace := config.trace("check compile %s", p.Name)
392 p.pkgDir = filepath.Join(outDir, strings.Replace(p.Name, "/", "-", -1))
393 p.output = filepath.Join(p.pkgDir, p.Name) + ".a"
394 shaFile := p.output + ".hash"
400 "-o", p.output,
401 "-p", p.Name,
414 for _, dep := range p.directDeps {
418 for _, filename := range p.files {
427 p.failed = err
434 p.failed = err
439 p.hashResult = hash.Sum(nil)
442 if _, err := os.Stat(p.output); err != nil {
447 rebuild = !bytes.Equal(oldSha, p.hashResult)
457 defer un(config.trace("compile %s", p.Name))
459 err := os.RemoveAll(p.pkgDir)
461 err = fmt.Errorf("%s: %v", p.Name, err)
462 p.failed = err
466 err = os.MkdirAll(filepath.Dir(p.output), 0777)
468 err = fmt.Errorf("%s: %v", p.Name, err)
469 p.failed = err
483 p.failed = err
487 err = ioutil.WriteFile(shaFile, p.hashResult, 0666)
489 err = fmt.Errorf("%s: %v", p.Name, err)
490 p.failed = err
494 p.rebuilt = true
499 func (p *GoPackage) Link(config *Config, out string) error {
500 if p.Name != "main" {
503 endTrace := config.trace("check link %s", p.Name)
507 if !p.rebuilt {
509 p.rebuilt = true
511 p.rebuilt = true
513 p.rebuilt = !bytes.Equal(oldSha, p.hashResult)
517 if !p.rebuilt {
520 defer un(config.trace("link %s", p.Name))
535 for _, dep := range p.allDeps {
538 cmd.Args = append(cmd.Args, p.output)
550 return ioutil.WriteFile(shaFile, p.hashResult, 0666)
554 p := &GoPackage{
583 if err := p.FindDeps(config, path); err != nil {
586 if err := p.Compile(config, intermediates); err != nil {
589 if err := p.Link(config, out); err != nil {
592 return p, nil
677 func (p *pkgPathMappingVar) Set(value string) error {
680 return fmt.Errorf("Argument must be in the form of: %q", p.String())
686 return p.Map(pkgPrefix, pathPrefix)