github.com/hbdrawn/golang@v0.0.0-20141214014649-6b835209aba2/src/cmd/dist/buildruntime.c (about) 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 #include "a.h" 6 7 /* 8 * Helpers for building runtime. 9 */ 10 11 // mkzversion writes zversion.go: 12 // 13 // package runtime 14 // const defaultGoroot = <goroot> 15 // const theVersion = <version> 16 // 17 void 18 mkzversion(char *dir, char *file) 19 { 20 Buf b, out; 21 22 USED(dir); 23 24 binit(&b); 25 binit(&out); 26 27 bwritestr(&out, bprintf(&b, 28 "// auto generated by go tool dist\n" 29 "\n" 30 "package runtime\n" 31 "\n" 32 "const defaultGoroot = `%s`\n" 33 "const theVersion = `%s`\n" 34 "var buildVersion = theVersion\n", goroot_final, goversion)); 35 36 writefile(&out, file, 0); 37 38 bfree(&b); 39 bfree(&out); 40 } 41 42 // mkzexperiment writes zaexperiment.h (sic): 43 // 44 // #define GOEXPERIMENT "experiment string" 45 // 46 void 47 mkzexperiment(char *dir, char *file) 48 { 49 Buf b, out, exp; 50 51 USED(dir); 52 53 binit(&b); 54 binit(&out); 55 binit(&exp); 56 57 xgetenv(&exp, "GOEXPERIMENT"); 58 bwritestr(&out, bprintf(&b, 59 "// auto generated by go tool dist\n" 60 "\n" 61 "#define GOEXPERIMENT \"%s\"\n", bstr(&exp))); 62 63 writefile(&out, file, 0); 64 65 bfree(&b); 66 bfree(&out); 67 bfree(&exp); 68 }