]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/dist: respect $CC, as quietgcc.bash used to
authorRuss Cox <rsc@golang.org>
Wed, 8 Feb 2012 05:22:38 +0000 (00:22 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 8 Feb 2012 05:22:38 +0000 (00:22 -0500)
R=golang-dev, r, iant
CC=golang-dev
https://golang.org/cl/5641051

src/cmd/dist/build.c

index d5cf17dcd31f50651397124a2553157f4b5f56c1..951f1fd69410df6ba70fa04a88c68ca5b5ae695c 100644 (file)
@@ -336,8 +336,7 @@ setup(void)
  */
 
 // gccargs is the gcc command line to use for compiling a single C file.
-static char *gccargs[] = {
-       "gcc",
+static char *proto_gccargs[] = {
        "-Wall",
        "-Wno-sign-compare",
        "-Wno-missing-braces",
@@ -352,6 +351,8 @@ static char *gccargs[] = {
        "-c",
 };
 
+static Vec gccargs;
+
 // deptab lists changes to the default dependencies for a given prefix.
 // deps ending in /* read the whole directory; deps beginning with - 
 // exclude files with that prefix.
@@ -513,6 +514,16 @@ install(char *dir)
        vinit(&lib);
        vinit(&extra);
        
+       // set up gcc command line on first run.
+       if(gccargs.len == 0) {
+               xgetenv(&b, "CC");
+               if(b.len == 0)
+                       bprintf(&b, "gcc");
+               splitfields(&gccargs, bstr(&b));
+               for(i=0; i<nelem(proto_gccargs); i++)
+                       vadd(&gccargs, proto_gccargs[i]);
+       }
+       
        // path = full path to dir.
        bpathf(&path, "%s/src/%s", goroot, dir);
        name = lastelem(dir);
@@ -732,7 +743,7 @@ install(char *dir)
                vreset(&compile);
                if(!isgo) {
                        // C library or tool.
-                       vcopy(&compile, gccargs, nelem(gccargs));
+                       vcopy(&compile, gccargs.p, gccargs.len);
                        if(streq(gohostarch, "amd64"))
                                vadd(&compile, "-m64");
                        else if(streq(gohostarch, "386"))