1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package main 6 7 import "fmt" 8 9 /* 10 * Helpers for building cmd/go and cmd/cgo. 11 */ 12 13 // mkzdefaultcc writes zdefaultcc.go: 14 // 15 // package main 16 // const defaultCC = <defaultcc> 17 // const defaultCXX = <defaultcxx> 18 // 19 // It is invoked to write cmd/go/zdefaultcc.go 20 // but we also write cmd/cgo/zdefaultcc.go 21 func mkzdefaultcc(dir, file string) { 22 var out string 23 24 out = fmt.Sprintf( 25 "// auto generated by go tool dist\n"+ 26 "\n"+ 27 "package main\n"+ 28 "\n"+ 29 "const defaultCC = `%s`\n"+ 30 "const defaultCXX = `%s`\n", 31 defaultcctarget, defaultcxxtarget) 32 33 writefile(out, file, writeSkipSame) 34 35 // Convert file name to replace: turn go into cgo. 36 i := len(file) - len("go/zdefaultcc.go") 37 file = file[:i] + "c" + file[i:] 38 writefile(out, file, writeSkipSame) 39 } 40