func writeConfigGO() { if current(buildGO, configGO) { return } installedLibDir := path.Dir(installedLibPath) cfLibPath, err := cfc.InstalledLibPath(cfPackageName) if err != nil { log.Fatal(err) } cfLibDir := path.Dir(cfLibPath) content := fmt.Sprintf( "// Auto-generated by build.go, specifying absolute path to static lib.\n"+ "package lucy\n"+ "// #cgo CFLAGS: -I%s/../core\n"+ "// #cgo CFLAGS: -I%s\n"+ "// #cgo CFLAGS: -I%s/autogen/include\n"+ "// #cgo LDFLAGS: -L%s\n"+ "// #cgo LDFLAGS: -L%s\n"+ "// #cgo LDFLAGS: -L%s\n"+ "// #cgo LDFLAGS: -llucy\n"+ "// #cgo LDFLAGS: -lclownfish\n"+ "import \"C\"\n", buildDir, buildDir, buildDir, buildDir, installedLibDir, cfLibDir) ioutil.WriteFile(configGO, []byte(content), 0666) }
func init() { _, buildGO, _, _ = runtime.Caller(1) buildDir = path.Dir(buildGO) configGO = path.Join(buildDir, "clownfish", "config.go") cfbindGO = path.Join(buildDir, "clownfish", "cfbind.go") var err error installedLibPath, err = cfc.InstalledLibPath(packageName) if err != nil { log.Fatal(err) } }