github.com/varialus/godfly@v0.0.0-20130904042352-1934f9f095ab/src/cmd/dist/buildgo.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 cmd/go and cmd/cgo.
     9   */
    10  
    11  // mkzdefaultcc writes zdefaultcc.go:
    12  //
    13  //	package main
    14  //	const defaultCC = <defaultcc>
    15  //
    16  // It is invoked to write cmd/go/zdefaultcc.go
    17  // but we also write cmd/cgo/zdefaultcc.go.
    18  void
    19  mkzdefaultcc(char *dir, char *file)
    20  {
    21  	Buf b, out;
    22  	
    23  	USED(dir);
    24  
    25  	binit(&out);
    26  	bprintf(&out,
    27  		"// auto generated by go tool dist\n"
    28  		"\n"
    29  		"package main\n"
    30  		"\n"
    31  		"const defaultCC = `%s`\n",
    32  		defaultcc);
    33  
    34  	writefile(&out, file, 0);
    35  
    36  	// Convert file name to replace.
    37  	binit(&b);	
    38  	bwritestr(&b, file);
    39  	if(slash[0] == '/')
    40  		bsubst(&b, "/go/zdefaultcc.go", "/cgo/zdefaultcc.go");
    41  	else
    42  		bsubst(&b, "\\go\\zdefaultcc.go", "\\cgo\\zdefaultcc.go");
    43  	writefile(&out, bstr(&b), 0);
    44  
    45  	bfree(&b);
    46  	bfree(&out);
    47  }