return err
}
soname := a.p.swigSoname(f)
+ source := filepath.Join(a.objdir, soname)
target := filepath.Join(dir, soname)
- if err = b.copyFile(a, target, soname, perm); err != nil {
+ if err = b.copyFile(a, target, source, perm); err != nil {
return err
}
}
cxxlib = []string{"-lstdc++"}
}
ldflags := stringList(osldflags[goos], cxxlib)
- b.run(p.Dir, p.ImportPath, nil, b.gccCmd(p.Dir), "-o", soname, gccObj, ldflags)
+ target := filepath.Join(obj, soname)
+ b.run(p.Dir, p.ImportPath, nil, b.gccCmd(p.Dir), "-o", target, gccObj, ldflags)
return obj + goFile, cObj, nil
}
return false
}
- srcs := stringList(p.GoFiles, p.CFiles, p.CXXFiles, p.HFiles, p.SFiles, p.CgoFiles, p.SysoFiles)
+ srcs := stringList(p.GoFiles, p.CFiles, p.CXXFiles, p.HFiles, p.SFiles, p.CgoFiles, p.SysoFiles, p.SwigFiles, p.SwigCXXFiles)
for _, src := range srcs {
if olderThan(filepath.Join(p.Dir, src)) {
return true
}
}
- for _, src := range stringList(p.SwigFiles, p.SwigCXXFiles) {
- if olderThan(filepath.Join(p.Dir, src)) {
- return true
- }
- soname := p.swigSoname(src)
- fi, err := os.Stat(soname)
- if err != nil {
- return true
- }
- fiSrc, err := os.Stat(src)
- if err != nil || fiSrc.ModTime().After(fi.ModTime()) {
- return true
- }
- }
-
return false
}