diff --git a/utils/gn/build/toolchain/BUILD.gn b/utils/gn/build/toolchain/BUILD.gn
index da60b86..c53f753 100644
--- a/utils/gn/build/toolchain/BUILD.gn
+++ b/utils/gn/build/toolchain/BUILD.gn
@@ -9,7 +9,113 @@
   }
 }
 
-toolchain("unix") {
+template("unix_toolchain") {
+  toolchain(target_name) {
+    forward_variables_from(invoker, "*")
+
+    tool("cc") {
+      depfile = "{{output}}.d"
+      command = "$cc -MMD -MF $depfile -o {{output}} -c {{source}} {{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}"
+      depsformat = "gcc"
+      description = "CC {{output}}"
+      outputs = [
+        "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o",
+      ]
+    }
+
+    tool("cxx") {
+      depfile = "{{output}}.d"
+      command = "$cxx -MMD -MF $depfile -o {{output}} -c {{source}} {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}"
+      depsformat = "gcc"
+      description = "CXX {{output}}"
+      outputs = [
+        "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o",
+      ]
+    }
+
+    tool("alink") {
+      if (current_os == "mac") {
+        command = "libtool -static -no_warning_for_no_symbols {{arflags}} -o {{output}} {{inputs}}"
+      } else {
+        # Remove the output file first so that ar doesn't try to modify the
+        # existing file.
+        command = "rm -f {{output}} && $ar rcsDT {{arflags}} {{output}} {{inputs}}"
+      }
+      description = "AR {{output}}"
+      outputs = [
+        "{{output_dir}}/{{target_output_name}}.a",
+      ]
+      output_prefix = "lib"
+      default_output_dir = "{{root_out_dir}}/lib"
+    }
+
+    tool("solink") {
+      outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+      if (current_os == "mac") {
+        command = "$ld -shared {{ldflags}} -o $outfile {{libs}} {{inputs}}"
+        default_output_extension = ".dylib"
+      } else {
+        command =
+            "$ld -shared {{ldflags}} -Wl,-z,defs -o $outfile {{libs}} {{inputs}}"
+        default_output_extension = ".so"
+      }
+      description = "SOLINK $outfile"
+      outputs = [
+        outfile,
+      ]
+      lib_switch = "-l"
+      output_prefix = "lib"
+      default_output_dir = "{{root_out_dir}}/lib"
+    }
+
+    tool("solink_module") {
+      outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+      if (current_os == "mac") {
+        command = "$ld -shared {{ldflags}} -Wl,-flat_namespace -Wl,-undefined,suppress -o $outfile {{libs}} {{inputs}}"
+        default_output_extension = ".dylib"
+      } else {
+        command = "$ld -shared {{ldflags}} -o $outfile {{libs}} {{inputs}}"
+        default_output_extension = ".so"
+      }
+      description = "SOLINK $outfile"
+      outputs = [
+        outfile,
+      ]
+      lib_switch = "-l"
+      default_output_dir = "{{root_out_dir}}/lib"
+    }
+
+    tool("link") {
+      outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
+      if (current_os == "mac") {
+        command = "$ld {{ldflags}} -o $outfile {{libs}} {{inputs}}"
+      } else {
+        command = "$ld {{ldflags}} -o $outfile {{libs}} -Wl,--start-group {{inputs}} -Wl,--end-group"
+      }
+      description = "LINK $outfile"
+      outputs = [
+        outfile,
+      ]
+      lib_switch = "-l"
+
+      # Setting this allows targets to override the default executable output by
+      # setting output_dir.
+      default_output_dir = "{{root_out_dir}}/bin"
+    }
+
+    tool("copy") {
+      command = "ln -f {{source}} {{output}} 2>/dev/null || (rm -rf {{output}} && cp -af {{source}} {{output}})"
+      description = "COPY {{source}} {{output}}"
+    }
+
+    tool("stamp") {
+      command = "touch {{output}}"
+      description = "STAMP {{output}}"
+    }
+  }
+}
+
+unix_toolchain("unix") {
   cc = "cc"
   cxx = "c++"
 
@@ -24,104 +130,10 @@
     cxx = "$goma_dir/gomacc $cxx"
   }
 
-  tool("cc") {
-    depfile = "{{output}}.d"
-    command = "$cc -MMD -MF $depfile -o {{output}} -c {{source}} {{defines}} {{include_dirs}} {{cflags}} {{cflags_c}}"
-    depsformat = "gcc"
-    description = "CC {{output}}"
-    outputs = [
-      "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o",
-    ]
-  }
+  ar = "ar"
 
-  tool("cxx") {
-    depfile = "{{output}}.d"
-    command = "$cxx -MMD -MF $depfile -o {{output}} -c {{source}} {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}"
-    depsformat = "gcc"
-    description = "CXX {{output}}"
-    outputs = [
-      "{{source_out_dir}}/{{target_output_name}}.{{source_name_part}}.o",
-    ]
-  }
-
-  tool("alink") {
-    if (host_os == "mac") {
-      command = "libtool -static -no_warning_for_no_symbols {{arflags}} -o {{output}} {{inputs}}"
-    } else {
-      # Remove the output file first so that ar doesn't try to modify the
-      # existing file.
-      command = "rm -f {{output}} && ar rcsDT {{arflags}} {{output}} {{inputs}}"
-    }
-    description = "AR {{output}}"
-    outputs = [
-      "{{output_dir}}/{{target_output_name}}.a",
-    ]
-    output_prefix = "lib"
-    default_output_dir = "{{root_out_dir}}/lib"
-  }
-
-  tool("solink") {
-    outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
-    if (host_os == "mac") {
-      command = "$ld -shared {{ldflags}} -o $outfile {{libs}} {{inputs}}"
-      default_output_extension = ".dylib"
-    } else {
-      command =
-          "$ld -shared {{ldflags}} -Wl,-z,defs -o $outfile {{libs}} {{inputs}}"
-      default_output_extension = ".so"
-    }
-    description = "SOLINK $outfile"
-    outputs = [
-      outfile,
-    ]
-    lib_switch = "-l"
-    output_prefix = "lib"
-    default_output_dir = "{{root_out_dir}}/lib"
-  }
-
-  tool("solink_module") {
-    outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
-    if (host_os == "mac") {
-      command = "$ld -shared {{ldflags}} -Wl,-flat_namespace -Wl,-undefined,suppress -o $outfile {{libs}} {{inputs}}"
-      default_output_extension = ".dylib"
-    } else {
-      command = "$ld -shared {{ldflags}} -o $outfile {{libs}} {{inputs}}"
-      default_output_extension = ".so"
-    }
-    description = "SOLINK $outfile"
-    outputs = [
-      outfile,
-    ]
-    lib_switch = "-l"
-    default_output_dir = "{{root_out_dir}}/lib"
-  }
-
-  tool("link") {
-    outfile = "{{output_dir}}/{{target_output_name}}{{output_extension}}"
-    if (host_os == "mac") {
-      command = "$ld {{ldflags}} -o $outfile {{libs}} {{inputs}}"
-    } else {
-      command = "$ld {{ldflags}} -o $outfile {{libs}} -Wl,--start-group {{inputs}} -Wl,--end-group"
-    }
-    description = "LINK $outfile"
-    outputs = [
-      outfile,
-    ]
-    lib_switch = "-l"
-
-    # Setting this allows targets to override the default executable output by
-    # setting output_dir.
-    default_output_dir = "{{root_out_dir}}/bin"
-  }
-
-  tool("copy") {
-    command = "ln -f {{source}} {{output}} 2>/dev/null || (rm -rf {{output}} && cp -af {{source}} {{output}})"
-    description = "COPY {{source}} {{output}}"
-  }
-
-  tool("stamp") {
-    command = "touch {{output}}"
-    description = "STAMP {{output}}"
+  toolchain_args = {
+    current_os = host_os
   }
 }
 
@@ -228,4 +240,8 @@
     command = "cmd /c type nul > {{output}}"
     description = "STAMP {{output}}"
   }
+
+  toolchain_args = {
+    current_os = "win"
+  }
 }
