Index: build/toolchain/win/BUILD.gn |
diff --git a/build/toolchain/win/BUILD.gn b/build/toolchain/win/BUILD.gn |
index 7a0ecbb4ad89e9e28e4c8a1797199aaf6ffe721e..81108369a544ba3c8ec5a1740f8f6164232cfec2 100644 |
--- a/build/toolchain/win/BUILD.gn |
+++ b/build/toolchain/win/BUILD.gn |
@@ -174,6 +174,25 @@ template("msvc_toolchain") { |
rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" |
} |
+ tool("solink_module") { |
+ dllname = "{{root_out_dir}}/{{target_output_name}}{{output_extension}}" # e.g. foo.dll |
+ rspfile = "${dllname}.rsp" |
+ |
+ link_command = "$python_path gyp-win-tool link-wrapper $env False link.exe /nologo /DLL /OUT:$dllname /PDB:${dllname}.pdb @$rspfile" |
+ |
+ command = link_command |
+ |
+ default_output_extension = ".dll" |
+ description = "LINK_MODULE(DLL) {{output}}" |
+ outputs = [ |
+ dllname, |
+ ] |
+ |
+ # The use of inputs_newline is to work around a fixed per-line buffer |
+ # size in the linker. |
+ rspfile_content = "{{libs}} {{solibs}} {{inputs_newline}} {{ldflags}}" |
+ } |
+ |
tool("link") { |
rspfile = "{{output}}.rsp" |