diff --git a/build/toolchain/android/BUILD.gn b/build/toolchain/android/BUILD.gn
index f7f47ff..24c9c29 100644
--- a/build/toolchain/android/BUILD.gn
+++ b/build/toolchain/android/BUILD.gn
@@ -3,9 +3,7 @@
 # found in the LICENSE file.
 
 import("//build/config/sysroot.gni")  # Imports android/config.gni.
-import("//build/toolchain/ccache.gni")
 import("//build/toolchain/clang.gni")
-import("//build/toolchain/goma.gni")
 import("//build/toolchain/gcc_toolchain.gni")
 
 # The Android GCC toolchains share most of the same parameters, so we have this
@@ -36,21 +34,12 @@
     # The tools should be run relative to the build dir.
     tool_prefix = rebase_path(invoker.tool_prefix, root_build_dir)
 
-    if (use_goma) {
-      assert(!use_ccache, "Goma and ccache can't be used together.")
-      compiler_prefix = "$goma_dir/gomacc "
-    } else if (use_ccache) {
-      compiler_prefix = "ccache "
-    } else {
-      compiler_prefix = ""
-    }
-
-    cc = compiler_prefix + tool_prefix + "gcc"
-    cxx = compiler_prefix + tool_prefix + "g++"
+    cc = tool_prefix + "gcc"
+    cxx = tool_prefix + "g++"
     ar = tool_prefix + "ar"
     ld = cxx
-    readelf = compiler_prefix + tool_prefix + "readelf"
-    nm = compiler_prefix + tool_prefix + "nm"
+    readelf = tool_prefix + "readelf"
+    nm = tool_prefix + "nm"
 
     toolchain_os = "android"
     toolchain_cpu = invoker.toolchain_cpu
diff --git a/build/toolchain/cros/BUILD.gn b/build/toolchain/cros/BUILD.gn
index 140958b..9174161 100644
--- a/build/toolchain/cros/BUILD.gn
+++ b/build/toolchain/cros/BUILD.gn
@@ -32,4 +32,6 @@
   toolchain_cpu = "${target_cpu}"
   toolchain_os = "linux"
   is_clang = is_clang
+  use_ccache = false
+  use_goma = false
 }
diff --git a/build/toolchain/fnl/BUILD.gn b/build/toolchain/fnl/BUILD.gn
index 1e4a075..b66c639 100644
--- a/build/toolchain/fnl/BUILD.gn
+++ b/build/toolchain/fnl/BUILD.gn
@@ -21,4 +21,7 @@
   toolchain_cpu = "${target_cpu}"
   toolchain_os = "linux"
   is_clang = is_clang
+  use_ccache = false
+  use_goma = false
+
 }
diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni
index 13cfba1..f2045e1 100644
--- a/build/toolchain/gcc_toolchain.gni
+++ b/build/toolchain/gcc_toolchain.gni
@@ -3,6 +3,8 @@
 # found in the LICENSE file.
 
 import("//build/config/nacl/config.gni")
+import("//build/toolchain/ccache.gni")
+import("//build/toolchain/goma.gni")
 
 # This value will be inherited in the toolchain below.
 concurrent_links = exec_script("get_concurrent_links.py", [], "value")
@@ -58,6 +60,21 @@
     assert(defined(invoker.toolchain_os),
            "gcc_toolchain() must specify a \"toolchain_os\"")
 
+    if (defined(invoker.use_ccache)) {
+      use_ccache = invoker.use_ccache
+    }
+    if (defined(invoker.use_goma)) {
+      use_goma = invoker.use_goma
+    }
+    if (use_goma) {
+      assert(!use_ccache, "Goma and ccache can't be used together.")
+      compiler_prefix = "$goma_dir/gomacc "
+    } else if (use_ccache) {
+      compiler_prefix = "ccache "
+    } else {
+      compiler_prefix = ""
+    }
+
     # This define changes when the toolchain changes, forcing a rebuild.
     # Nothing should ever use this define.
     if (defined(invoker.rebuild_define)) {
@@ -69,8 +86,8 @@
     # We can't do string interpolation ($ in strings) on things with dots in
     # them. To allow us to use $cc below, for example, we create copies of
     # these values in our scope.
-    cc = invoker.cc
-    cxx = invoker.cxx
+    cc = compiler_prefix + invoker.cc
+    cxx = compiler_prefix + invoker.cxx
     ar = invoker.ar
     ld = invoker.ld
     if (defined(invoker.readelf)) {
diff --git a/build/toolchain/linux/BUILD.gn b/build/toolchain/linux/BUILD.gn
index 9145284..51768df 100644
--- a/build/toolchain/linux/BUILD.gn
+++ b/build/toolchain/linux/BUILD.gn
@@ -3,23 +3,12 @@
 # found in the LICENSE file.
 
 import("//build/config/sysroot.gni")
-import("//build/toolchain/ccache.gni")
 import("//build/toolchain/clang.gni")
 import("//build/toolchain/gcc_toolchain.gni")
-import("//build/toolchain/goma.gni")
-
-if (use_goma) {
-  assert(!use_ccache, "Goma and ccache can't be used together.")
-  compiler_prefix = "$goma_dir/gomacc "
-} else if (use_ccache) {
-  compiler_prefix = "ccache "
-} else {
-  compiler_prefix = ""
-}
 
 gcc_toolchain("arm") {
-  cc = "${compiler_prefix}arm-linux-gnueabi-gcc"
-  cxx = "${compiler_prefix}arm-linux-gnueabi-g++"
+  cc = "arm-linux-gnueabi-gcc"
+  cxx = "arm-linux-gnueabi-g++"
 
   ar = "arm-linux-gnueabi-ar"
   ld = cxx
@@ -39,8 +28,8 @@
     prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
                          root_build_dir)
   }
-  cc = "${compiler_prefix}$prefix/clang"
-  cxx = "${compiler_prefix}$prefix/clang++"
+  cc = "$prefix/clang"
+  cxx = "$prefix/clang++"
   readelf = "readelf"
   nm = "nm"
   ar = "ar"
@@ -52,8 +41,8 @@
 }
 
 gcc_toolchain("x86") {
-  cc = "${compiler_prefix}gcc"
-  cxx = "${compiler_prefix}g++"
+  cc = "gcc"
+  cxx = "g++"
 
   readelf = "readelf"
   nm = "nm"
@@ -73,8 +62,8 @@
     prefix = rebase_path("//third_party/llvm-build/Release+Asserts/bin",
                          root_build_dir)
   }
-  cc = "${compiler_prefix}$prefix/clang"
-  cxx = "${compiler_prefix}$prefix/clang++"
+  cc = "$prefix/clang"
+  cxx = "$prefix/clang++"
 
   readelf = "readelf"
   nm = "nm"
@@ -87,8 +76,8 @@
 }
 
 gcc_toolchain("x64") {
-  cc = "${compiler_prefix}gcc"
-  cxx = "${compiler_prefix}g++"
+  cc = "gcc"
+  cxx = "g++"
 
   readelf = "readelf"
   nm = "nm"
@@ -111,4 +100,6 @@
   toolchain_cpu = "mipsel"
   toolchain_os = "linux"
   is_clang = false
+  use_ccache = false
+  use_goma = false
 }
