Index: tools/gn/secondary/build/config/win/BUILD.gn |
diff --git a/tools/gn/secondary/build/config/win/BUILD.gn b/tools/gn/secondary/build/config/win/BUILD.gn |
new file mode 100644 |
index 0000000000000000000000000000000000000000..955504a5ef397350d8dca1019bad7df110d24c1c |
--- /dev/null |
+++ b/tools/gn/secondary/build/config/win/BUILD.gn |
@@ -0,0 +1,184 @@ |
+# Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+# Should only be running on Windows. |
+assert(is_win) |
+ |
+# Setup the Visual Studio state. |
+# |
+# Its argument is the location to write the environment files. |
+# It will write "environment.x86" and "environment.x64" to this directory, |
+# and return a list to us. |
+# |
+# The list contains the include path as its only element. (I'm expecting to |
+# add more so it's currently a list inside a list.) |
+msvc_config = [["foo"]] |
+#exec_script("get_msvc_config.py", |
+ # [relative_root_output_dir], |
+ # "value") |
+ |
+# 32-bit toolchain ------------------------------------------------------------- |
+ |
+toolchain("32") { |
+ tool("cc") { |
+ command = "ninja -t msvc -e \$arch -- cl.exe /nologo /showIncludes /FC @\$out.rsp /c \$in /Fo\$out /Fd\$pdbname" |
+ description = "CC \$out" |
+ rspfile = "\$out.rsp" |
+ rspfile_content = "\$defines \$includes \$cflags \$cflags_c" |
+ deps = "msvc" |
+ } |
+ tool("cxx") { |
+ command = "ninja -t msvc -e \$arch -- cl.exe /nologo /showIncludes /FC @\$out.rsp /c \$in /Fo\$out /Fd\$pdbname" |
+ description = "CXX \$out" |
+ rspfile = "\$out.rsp" |
+ rspfile_content = "\$defines \$includes \$cflags \$cflags_cc" |
+ deps = "msvc" |
+ } |
+ #tool("idl") { |
+ # command = $python_path gyp-win-tool midl-wrapper \$arch \$outdir \$tlb \$h \$dlldata \$iid \$ |
+ # \$proxy \$in \$idlflags |
+ # description = IDL \$in |
+ #} |
+ #tool("rc") { |
+ # command = $python_path gyp-win-tool rc-wrapper \$arch rc.exe \$defines \$includes \$rcflags \$ |
+ # /fo\$out \$in |
+ # description = RC \$in |
+ #} |
+ #tool("asm") { |
+ # command = $python_path gyp-win-tool asm-wrapper \$arch ml.exe \$defines \$includes /c /Fo \$ |
+ # \$out \$in |
+ # description = ASM \$in |
+ #} |
+ tool("alink") { |
+ command = "$python_path gyp-win-tool link-wrapper \$arch lib.exe /nologo /ignore:4221 /OUT:\$out @\$out.rsp" |
+ description = "LIB \$out" |
+ rspfile = "\$out.rsp" |
+ rspfile_content = "\$in_newline \$libflags" |
+ } |
+ #tool("solink_embed_inc") { |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag \$ |
+ # /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && \$ |
+ # $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests \$ |
+ # -out:\$dll.manifest && $python_path gyp-win-tool manifest-to-rc \$arch \$dll.manifest \$ |
+ # \$dll.manifest.rc 2 && $python_path gyp-win-tool rc-wrapper \$arch rc.exe \$ |
+ # \$dll.manifest.rc && $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$ |
+ # \$implibflag /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp \$dll.manifest.res |
+ # description = LINK_EMBED_INC(DLL) \$dll |
+ # restat = 1 |
+ # rspfile = \$dll.rsp |
+ # rspfile_content = \$libs \$in_newline \$ldflags |
+ #} |
+ #tool("solink_module_embed_inc") { |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag \$ |
+ # /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && \$ |
+ # $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests \$ |
+ # -out:\$dll.manifest && $python_path gyp-win-tool manifest-to-rc \$arch \$dll.manifest \$ |
+ # \$dll.manifest.rc 2 && $python_path gyp-win-tool rc-wrapper \$arch rc.exe \$ |
+ # \$dll.manifest.rc && $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$ |
+ # \$implibflag /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp \$dll.manifest.res |
+ # description = LINK_EMBED_INC(DLL) \$dll |
+ # restat = 1 |
+ # rspfile = \$dll.rsp |
+ # rspfile_content = \$libs \$in_newline \$ldflags |
+ #} |
+ #rule link_embed_inc |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo /OUT:\$out \$ |
+ # /PDB:\$out.pdb @\$out.rsp && $python_path gyp-win-tool manifest-wrapper \$arch cmd /c \$ |
+ # if exist \$out.manifest del \$out.manifest && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests -out:\$out.manifest && \$ |
+ # $python_path gyp-win-tool manifest-to-rc \$arch \$out.manifest \$out.manifest.rc 1 && \$ |
+ # $python_path gyp-win-tool rc-wrapper \$arch rc.exe \$out.manifest.rc && \$ |
+ # $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo /OUT:\$out /PDB:\$out.pdb \$ |
+ # @\$out.rsp \$out.manifest.res |
+ # description = LINK_EMBED_INC \$out |
+ # rspfile = \$out.rsp |
+ # rspfile_content = \$in_newline \$libs \$ldflags |
+ #rule solink_embed |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag \$ |
+ # /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && \$ |
+ # $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests \$ |
+ # -outputresource:\$dll;2 |
+ # description = LINK_EMBED(DLL) \$dll |
+ # restat = 1 |
+ # rspfile = \$dll.rsp |
+ # rspfile_content = \$libs \$in_newline \$ldflags |
+ #rule solink_module_embed |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag \$ |
+ # /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && \$ |
+ # $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests \$ |
+ # -outputresource:\$dll;2 |
+ # description = LINK_EMBED(DLL) \$dll |
+ # restat = 1 |
+ # rspfile = \$dll.rsp |
+ # rspfile_content = \$libs \$in_newline \$ldflags |
+ #rule link_embed |
+ # command = cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo /OUT:\$out \$ |
+ # /PDB:\$out.pdb @\$out.rsp && $python_path gyp-win-tool manifest-wrapper \$arch cmd /c \$ |
+ # if exist \$out.manifest del \$out.manifest && $python_path gyp-win-tool \$ |
+ # manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests -outputresource:\$out;1 |
+ # description = LINK_EMBED \$out |
+ # rspfile = \$out.rsp |
+ # rspfile_content = \$in_newline \$libs \$ldflags |
+ tool("solink") { |
+ command = "cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests -out:\$dll.manifest" |
+ description = "LINK(DLL) \$dll" |
+ restat = "1" |
+ rspfile = "\$dll.rsp" |
+ rspfile_content = "\$libs \$in_newline \$ldflags" |
+ } |
+ tool("solink_module") { |
+ command = "cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo \$implibflag /DLL /OUT:\$dll /PDB:\$dll.pdb @\$dll.rsp && $python_path gyp-win-tool manifest-wrapper \$arch cmd /c if exist \$dll.manifest del \$dll.manifest && $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests -out:\$dll.manifet" |
+ description = "LINK(DLL) \$dll" |
+ restat = "1" |
+ rspfile = "\$dll.rsp" |
+ rspfile_content = "\$libs \$in_newline \$ldflags" |
+ } |
+ tool("link") { |
+ command = "cmd /c $python_path gyp-win-tool link-wrapper \$arch link.exe /nologo /OUT:\$out /PDB:\$out.pdb @\$out.rsp && $python_path gyp-win-tool manifest-wrapper \$arch cmd /c if exist \$out.manifest del \$out.manifest && $python_path gyp-win-tool manifest-wrapper \$arch mt.exe -nologo -manifest \$manifests -out:\$out.manifest" |
+ description = "LINK \$out" |
+ rspfile = "\$out.rsp" |
+ rspfile_content = "\$in_newline \$libs \$ldflags" |
+ } |
+ tool("stamp") { |
+ command = "$python_path gyp-win-tool stamp \$out" |
+ description = "STAMP \$out" |
+ } |
+ tool("copy") { |
+ command = "$python_path gyp-win-tool recursive-mirror \$in \$out" |
+ description = "COPY \$in \$out" |
+ } |
+} |
+ |
+# 64-bit toolchain ------------------------------------------------------------- |
+ |
+toolchain("64") { |
+} |
+ |
+# SDK setup -------------------------------------------------------------------- |
+ |
+config("sdk") { |
+ # The include path is the stuff returned by the script plus out own WTL |
+ # checkout. |
+ # TODO(brettw) should adding WTL be at this level or should it be more on |
+ # a per-project basis? |
+ includes = msvc_config[0] + "../../third_party/wtl/include" |
+ |
+ defines = [ |
+ "_ATL_NO_OPENGL", |
+ "_SECURE_ATL", |
+ "_WIN32_WINNT=0x0602", |
+ "_WINDOWS", |
+ "CERT_CHAIN_PARA_HAS_EXTRA_FIELDS", |
+ "NOMINMAX", |
+ "NTDDI_VERSION=0x06020000", |
+ "PSAPI_VERSION=1", |
+ "WIN32", |
+ "WIN32_LEAN_AND_MEAN", |
+ "WINVER=0x0602", |
+ ] |
+} |