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  }