GN/Win: flesh out compiler flags.
authorMike Klein <mtklein@chromium.org>
Wed, 12 Oct 2016 20:25:27 +0000 (16:25 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 12 Oct 2016 20:46:20 +0000 (20:46 +0000)
This should turn on the basics: optimization, debug symbols, disabled RTTI.

Release builds compile monobench, and cl.exe isn't happy with 1.0/0.0 there, so I swapped that into infinity().

Also, gn format I skipped last time.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot,Build-Win-MSVC-x86_64-Release-GN-Trybot

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3252

Change-Id: I8718d583e3fba4496b789eb25971462b972a5425
Reviewed-on: https://skia-review.googlesource.com/3252
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

gn/BUILD.gn
tools/monobench.cpp

index 2ced468..b09e184 100644 (file)
@@ -55,10 +55,12 @@ config("default") {
     ]
     include_dirs = [
       "$windk/VC/include",
+
       # For local builds.
       "$windk/../Windows Kits/10/Include/10.0.10150.0/ucrt",
       "$windk/../Windows Kits/8.1/Include/shared",
       "$windk/../Windows Kits/8.1/Include/um",
+
       # For builds using win_toolchain asset.
       "$windk/win_sdk/Include/10.0.10586.0/shared",
       "$windk/win_sdk/Include/10.0.10586.0/ucrt",
@@ -66,9 +68,11 @@ config("default") {
     ]
     lib_dirs = [
       "$windk/VC/lib/amd64",
+
       # For local builds.
       "$windk/../Windows Kits/10/Lib/10.0.10150.0/ucrt/x64",
       "$windk/../Windows Kits/8.1/Lib/winv6.3/um/x64",
+
       # For builds using win_toolchain asset.
       "$windk/win_sdk/Lib/10.0.10586.0/ucrt/x64",
       "$windk/win_sdk/Lib/10.0.10586.0/um/x64",
@@ -276,21 +280,27 @@ config("debug_symbols") {
   # to Android devices.  -gline-tables-only is a lot slimmer.
   if (is_android) {
     cflags = [ "-gline-tables-only" ]
-  } else if (!is_win) {
+  } else if (is_win) {
+    cflags = [ "/Zi" ]
+  } else {
     cflags = [ "-g" ]
   }
 }
 
 config("no_rtti") {
   if (sanitize != "ASAN") {  # -fsanitize=vptr requires RTTI
-    if (!is_win) {
+    if (is_win) {
+      cflags_cc = [ "/GR-" ]
+    } else {
       cflags_cc = [ "-fno-rtti" ]
     }
   }
 }
 
 config("release") {
-  if (!is_win) {
+  if (is_win) {
+    cflags = [ "/O2" ]
+  } else {
     cflags = [ "-O3" ]
   }
   defines = [ "NDEBUG" ]
index 756e24f..a9dac37 100644 (file)
@@ -10,6 +10,7 @@
 #include "SkTaskGroup.h"
 #include <algorithm>
 #include <chrono>
+#include <limits>
 #include <regex>
 #include <stdio.h>
 #include <stdlib.h>
@@ -42,7 +43,8 @@ int main(int argc, char** argv) {
         if (std::regex_search(name, pattern) &&
                 bench->isSuitableFor(Benchmark::kNonRendering_Backend)) {
             bench->delayedSetup();
-            benches.emplace_back(Bench{std::move(bench), name, ns{1.0/0.0}});
+            benches.emplace_back(Bench{std::move(bench), name,
+                                       ns{std::numeric_limits<double>::infinity()}});
         }
     }