aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn
Commit message (Collapse)AuthorAge
* Split SkSL and utils apart again into .gni files.Gravatar Mike Klein2016-10-26
| | | | | | | | | | | | | Also extend GN format presubmit check to .gni files. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3976 Change-Id: I292f3136437101e3e2c3271e260536ab7a24b192 Reviewed-on: https://skia-review.googlesource.com/3976 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Start inverting GN reading .gypis to GYP reading .gnis.Gravatar Mike Klein2016-10-26
| | | | | | | | | | | | | | This canaries the idea by converting gyp/pdf.gypi to gn/pdf.gni. If this lands and rolls quietly, I'll flesh out the rest. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3972 Change-Id: Iecaf1ccce7891679904c585946272bfb25eea299 Reviewed-on: https://skia-review.googlesource.com/3972 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: spin off :no_exceptions as its own config.Gravatar Mike Klein2016-10-26
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4001 Change-Id: Ibaa10b9b6f566958b7e6622eedbc30a7010260b3 Reviewed-on: https://skia-review.googlesource.com/4001 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn on -Wrange-loop-analysis.Gravatar Mike Klein2016-10-26
| | | | | | | | | | | | | | -Wrange-loop-analysis triggers when we use a new-style for loop in a way that appears to unintentionally call a copy constructor on each non-trivial loop element instead of operating on them by reference. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4000 Change-Id: If9e1b7fcc1f2789ae03c41c17abb17e60d564a8b Reviewed-on: https://skia-review.googlesource.com/4000 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Build for Android from Windows, work in progress.Gravatar Mike Klein2016-10-26
| | | | | | | | | | | | | | | | | Pretty vanilla stuff here, mostly just making the gcc-like toolchain Windows friendly. I was having trouble getting rm -r {{output}} && $ar rcs {{output}} @$rspfile to work without deleting my ar.exe, so I chickened out the usual way by adding gn/ar.py. I've also updated bin/droid to work with Git Bash on Windows. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3751 Change-Id: I04c34ccc91e6a291c11ac4e7a7a0ffe41d879fe6 Reviewed-on: https://skia-review.googlesource.com/3751 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn off buffer security checking in Release builds.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | I'm seeing /GS's _security_check_cookie() show up as a signficant piece of time when profiling. That's mostly just annoying noise. We generally use our Release builds for performance testing and Debug for correctness, so it seems like a fair thing to disable in Release builds... it's a sort of ASAN thing, which we only do in Debug on other platforms. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3782 Change-Id: I9b3cf4c5cf943fc2549f5bf91a1f6f7e41733e2c Reviewed-on: https://skia-review.googlesource.com/3782 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com>
* Turn on /OPT:REF and /OPT:ICF too.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | These two together shave another 5MB off dm.exe, from 16MB -> 11MB. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3738 Change-Id: Id216867e0ad5bc115fbd4006095860dff9204947 Reviewed-on: https://skia-review.googlesource.com/3738 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com>
* Compile for Windows with /Zc:inline.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | | By default, MSVC generates standalone versions of all functions, including static inline functions that are only inlined. Those standalone versions are dead code. This /Zc:inline flag makes MSVC behave like all the other compilers, omitting those standalone functions. Chrome builds with this flag. This CL cuts dm.exe and nanobench.exe each down by about 3MB, 19->16MB for DM and 15MB->12MB for nanobench. This shouldn't affect runtime speed, and didn't signficantly change clean build time on my Z840 (~90s either way). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3735 Change-Id: Ibd2a80337fcefc3f4eaf4335ea4e95a80bb4fddb Reviewed-on: https://skia-review.googlesource.com/3735 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Ben Wagner <bungeman@google.com>
* Compile Release builds with -momit-leaf-frame-pointer.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | | | Unlike -fomit-frame-pointer, this doesn't make debugging or profiling any more difficult, as it only applies to leaves. It will make our code (negligibly) smaller and (negligibly) faster. Mostly I just find it easier to read the disassembly without all the rbp gymnastics getting in the way. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3700 Change-Id: I4b96aee7619791d5980de7f46e82836ca08a6456 Reviewed-on: https://skia-review.googlesource.com/3700 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Viewer on Mac.Gravatar Mike Klein2016-10-20
| | | | | | | | | | | | | | | | | - Support ObjC / ObjC++ - Build SDL on Mac. - Build viewer on Mac. Patched from Jim's CL. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3760 Change-Id: I12663f2ed2969e22f51aefed560fbc22b2524167 Reviewed-on: https://skia-review.googlesource.com/3760 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Switch Windows ANGLE bots to GN.Gravatar Mike Klein2016-10-17
| | | | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-ANGLE-Trybot;master.client.skia:Test-Win-MSVC-ShuttleC-GPU-GTX960-x86_64-Release-ANGLE-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3539 Change-Id: I076c4c5972344b6688d648a8ea5e5618e87fd88d Reviewed-on: https://skia-review.googlesource.com/3539 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* GN: get Angle compiling on Windows.Gravatar Mike Klein2016-10-17
| | | | | | | | | | | | | | | | | | Angle does not yet link, but it does compile. I chickened out and wrote cp.py to be the copy tool on Windows. I've got all platforms using it for consistency. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-ANGLE-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3533 Change-Id: I15f4b63a47121528b2fd2672c26c62765966147c Reviewed-on: https://skia-review.googlesource.com/3533 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GCC ninja log lines consistent with MSVC.Gravatar Mike Klein2016-10-17
| | | | | | | | | | | | | I recently switched over MSVC to simpler log lines from Ninja. This makes GCC- or Clang-based builds use the same set of messages. It's less noise when things go right; Ninja prints the whole line when a step fails. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3540 Change-Id: I36b638ee180210c6fb35c2bccb1b6d3c58437d36 Reviewed-on: https://skia-review.googlesource.com/3540 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN/Win: quieter buildsGravatar Mike Klein2016-10-13
| | | | | | | | | | | | It's hard to read the logs as they are now. This simplifies down the descriptions, and stifles a warning about linking object files with no symbols into a static library. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,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=3322 Change-Id: I52beb3b8405ebb2c370cad432669834b64baa840 Reviewed-on: https://skia-review.googlesource.com/3322 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN/Win: pass /DEBUG to linker to get debug symbols.Gravatar Mike Klein2016-10-13
| | | | | | | | | | | | | Not much used for debug symbols if they're not linked in. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,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=3320 Change-Id: I506ae624ec412d4151a025879a5dd14d90183bd8 Reviewed-on: https://skia-review.googlesource.com/3320 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN/Win: warnings and warn-as-errorGravatar Mike Klein2016-10-13
| | | | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,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=3258 Change-Id: Ia2b85904bed1e6ca72c68abaecf6c2854795342c Reviewed-on: https://skia-review.googlesource.com/3258 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: naive attempt for 32-bit Windows supportGravatar Mike Klein2016-10-13
| | | | | | | | | | | | | | This uses the win_toolchain's SetEnv.cmd script to set up the environment for x86 builds. Some of what it sets is redundant with what we set: include_dirs (INCLUDE), lib_dirs (LIB). I'd sort of like to learn what parts of it actually matter: VSINSTALLDIR? VCINSTALLDIR? likely PATH? This will not work for local builds not using win_toolchain. I don't mind that too much, at least for now, maybe forever. Most humans should be using 64-bit builds. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86-Debug-Exceptions-Trybot,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=3257 Change-Id: Ib880fb738bc4b493e8905903706526110213be47 Reviewed-on: https://skia-review.googlesource.com/3257 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: windows flags tweaks.Gravatar Mike Klein2016-10-12
| | | | | | | | | | | | | | Should be no need for /TC, /TP. Don't set GCC-like 32-bit build flags on Windows. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3256 Change-Id: Ifa11606ca55a86d416724247328024ddea59e8bc Reviewed-on: https://skia-review.googlesource.com/3256 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN/Win: flesh out compiler flags.Gravatar Mike Klein2016-10-12
| | | | | | | | | | | | | | | | | 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/Win: support win_toolchain asset?Gravatar Mike Klein2016-10-12
| | | | | | | | | | | CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Win-MSVC-x86_64-Debug-GN-Trybot GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3246 Change-Id: Ib38d4f16788bc27ad81975a4c1b0a732e5df1de3 Reviewed-on: https://skia-review.googlesource.com/3246 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* More steps toward GN/Windows.Gravatar Mike Klein2016-10-11
| | | | | | | | | | | I think I'm now at the point of needing to just resolve missing symbols. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3201 Change-Id: Ib908bd72c23f2d4bafd17182eedcb2fc85c422e5 Reviewed-on: https://skia-review.googlesource.com/3201 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: windows compiles locally.Gravatar Mike Klein2016-10-11
| | | | | | | | | | | Not yet linking. Ignoring bots for now. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3200 Change-Id: Idd75033313df60844c2ba602f7845b3c52987bc2 Reviewed-on: https://skia-review.googlesource.com/3200 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make `gn gen` work on Windows again.Gravatar Mike Klein2016-10-11
| | | | | | | | | | | | | | Clang detection is specific to GCC-like toolchains. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3171 Change-Id: I7144bc8e5cd3e774625b51a6dda981284ed1fdc1 Reviewed-on: https://skia-review.googlesource.com/3171 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Update to Android NDK r13.Gravatar Mike Klein2016-10-11
| | | | | | | | | | | | | | | | | | | The libc++ include paths have changed very slightly. I've left GN compatible with both older r12 NDKs and the new r13 to smooth the transition. The libc++ in r13 depends on long-double math.h functions (cosl, atanl, etc.) only available in Android API v21 (Lollipop) and up. That's what the 64-bit bots were already on, so we just pull the 32-bit bots up to the same target. Conveniently, the oldest bots we have (N7 and N10) are on Lollipop. The r13 MIPS64 sysroots are a little weird... /usr/include and /usr/lib64 but no /usr/lib. That'd be fine---we only want 64-bit builds---but Clang searches for /usr/lib64 via its path to /usr/lib, and without at least an empty /usr/lib, it can't find /usr/lib64. So you'll see a special mips64el section in the GN config where we do this all manually (other platforms pick this all up correctly from --sysroot). I've chosen to do this rather than fix it up in the asset create.py scripts so that we stay compatible with vanilla NDKs, which is convenient for developers. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Mac-Clang-arm64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm-Release-GN_Android-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android_FrameworkDefs-Trybot,Build-Ubuntu-Clang-arm64-Debug-GN_Android_Vulkan-Trybot,Build-Ubuntu-Clang-arm64-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mips64el-Release-GN_Android-Trybot,Build-Ubuntu-Clang-mipsel-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-mipsel-Release-GN_Android-Trybot,Build-Ubuntu-Clang-x64-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-x64-Release-GN_Android-Trybot,Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot,Build-Ubuntu-Clang-x86-Release-GN_Android-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3180 Change-Id: I6f3b5d9411ded0ee49c1099490f41fa86a8736f8 Reviewed-on: https://skia-review.googlesource.com/3180 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Auto re-gen for gn cmake generator.Gravatar Ben Wagner2016-10-06
| | | | | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3028 Change-Id: I73c6ce9e852c280bbb2017c30717809b4cb44046 Reviewed-on: https://skia-review.googlesource.com/3028 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Add action_foreach, copy, and proper target naming.Gravatar Ben Wagner2016-10-05
| | | | | | | | | | Also properly handles dependencies across OBJECT libraries. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2939 Change-Id: I4aa48c896caf262772fe9769e742b54f6e265ab0 Reviewed-on: https://skia-review.googlesource.com/2939 Reviewed-by: Brian Salomon <bsalomon@google.com>
* Fold extra_*_flags into GN as a config.Gravatar Mike Klein2016-10-04
| | | | | | | | | | | | | | This should make them visible to things like gn_to_cmake.py. I'm not exactly sure what this implies about ordering and overriding. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2938 Change-Id: I0740613993fb5bbfb8363cfa126d1f59768abf60 Reviewed-on: https://skia-review.googlesource.com/2938 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Implement 'action' in gn_to_cmake.py.Gravatar Ben Wagner2016-09-30
| | | | | | | | | | | With this change it is possible to build all Skia targets. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2784 Change-Id: I5c53a6ba5746d210e0ae8f7a29b409d40c7b9bff Reviewed-on: https://skia-review.googlesource.com/2784 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Improve GN to CMake translation for building.Gravatar bungeman2016-09-28
| | | | | | | | | | This adds proper target types, dependencies, and library handling. This is enough to build and run dm on Linux and Mac. Change-Id: I5220f67f7dd3dbada7ad03ef83fff8fd80158fad Reviewed-on: https://skia-review.googlesource.com/2664 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Turn on -Wgnu-anonymous-struct and -Wnested-anonymous-types.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | I'm not seeing any problems with these locally. Perhaps the bots have something to say. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2709 Change-Id: I6f0c7045c8f270efcd71d837f22a40e9f9d3e9b7 Reviewed-on: https://skia-review.googlesource.com/2709 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* GN: match shell behavior for cc and cxx in is_clang.pyGravatar csmartdalton2016-09-27
| | | | | | | | | | Interprets cc/cxx as part of the shell command rather than literal arguments. This matches the behavior of shell invocations from ninja. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2375573002 Review-Url: https://codereview.chromium.org/2375573002
* Turn on -Wnewline-eof.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | I don't know _why_ Clang would like these .inc files to have a newline at the end of the file, but it seems a harmless way to silence the warning. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2711 Change-Id: I6c530ee5096c48c91ddf322aca916e70a0dd770b Reviewed-on: https://skia-review.googlesource.com/2711 Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
* We really shouldn't pass SkFontStyle to printf as %d.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2721 Change-Id: I362063bea3909b2581d8e9b7860d4ac321082808 Reviewed-on: https://skia-review.googlesource.com/2721 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Remove stray semicolons.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | | | | Turns out function declarations don't end in semicolons... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720 No public API changes. TBR=reed@google.com Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb Reviewed-on: https://skia-review.googlesource.com/2720 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Focus -Wno-over-aligned to just 32-bit x86 Android. (2)Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | | | I've even found the code that's making this happen, just don't know why. I've added a test to assert that it's safe to assume malloc() is 8-byte aligned. Test should compile this time. CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot Change-Id: I48714b99670c20704adf4f7f216da0d60d7d9bcd Reviewed-on: https://skia-review.googlesource.com/2662 Reviewed-on: https://skia-review.googlesource.com/2703 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Focus -Wno-over-aligned to just 32-bit x86 Android."Gravatar Mike Reed2016-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit If8a2898ab3a77571622eb125c97f676e029b902c. Reason for revert: ../../../../../work/skia/tests/OverAlignedTest.cpp: In function 'void test_OverAligned(skiatest::Reporter*, sk_gpu_test::GrContextFactory*)': ../../../../../work/skia/tests/OverAlignedTest.cpp:19:33: error: invalid operands of types 'void*' and 'int' to binary 'operator&' REPORTER_ASSERT(r, SkIsAlign8(p)); ^ ninja: build stopped: subcommand failed. Original issue's description: > Focus -Wno-over-aligned to just 32-bit x86 Android. > > I've even found the code that's making this happen, just don't know why. > I've added a test to assert that it's safe to assume malloc() is 8-byte aligned. > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2662 > > CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot > TBR=mtklein@chromium.org,bungeman@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic9b30ce980d8d5155528a6f2b4e1913e5fa95dc0 Reviewed-on: https://skia-review.googlesource.com/2702 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Focus -Wno-over-aligned to just 32-bit x86 Android.Gravatar Mike Klein2016-09-27
| | | | | | | | | | | | | | | | I've even found the code that's making this happen, just don't know why. I've added a test to assert that it's safe to assume malloc() is 8-byte aligned. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2662 CQ_INCLUDE_TRYBOTS=master.client.skia.android:Test-Android-Clang-NexusPlayer-CPU-Moorefield-x86-Release-GN_Android-Trybot Change-Id: If8a2898ab3a77571622eb125c97f676e029b902c Reviewed-on: https://skia-review.googlesource.com/2662 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Move undefined-func-template to wont-fix warnings.Gravatar Mike Klein2016-09-26
| | | | | | | | | | | | | | | | | | | | | | | The warning looks to helpfully pre-warn about possible link failures, but it's warning exclusively in places where we're doing things right. The worst that happens ignoring this warning is a missing-symbol linker error. I've taken the opportunity to batch in a few other de-escalations: - Wconditional-uninitialized is done better by MSAN - It'll take some work to dig Wformat-literal out of our shader compiler, but nothing looks unsafe - Most of Wshift-sign-overflow is 0xff << 24. Don't want to ban that. - Wdeprecated is mostly warning about features C++11 technically deprecated that might be removed in later releases. Punt! - Wcovered-switch-default is pretty much the opposite of what we want. - Wshadow is triggering too often to fix quickly. Probably mostly false positives. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2620 Change-Id: I20a85a77d2e19ed05a536b23037bd988350f821e Reviewed-on: https://skia-review.googlesource.com/2620 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Turn on -Wundefined-reinterpret-cast.Gravatar Mike Klein2016-09-26
| | | | | | | | | | | | | | | | | It was not a fan of this (blatant) aliasing. I suspect this best_non_simd_srcover_srgb_srgb() function has several other aliasing issues that use undefined behavior, but this is all it's complaining about for now. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2606 Change-Id: I25a8800e810bccf5068c8a10e9c8c8f565e57304 Reviewed-on: https://skia-review.googlesource.com/2606 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* -Wcomma may be good to go now.Gravatar Mike Klein2016-09-26
| | | | | | | | | | | | | This cleans up 3 remaining sites using , that probably meant ; BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2605 Change-Id: I5e48bcd85d72a205d2b0c860461dab1ec793dd18 Reviewed-on: https://skia-review.googlesource.com/2605 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* GN: detect is_clang, use it to switch Clang to warning blacklist.Gravatar mtklein2016-09-26
| | | | | | | | | | | | | | | Same as the last CL, now with -Wno-over-aligned. CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369033002 TBR=bungeman@google.com NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2369033002
* Revert "GN: detect is_clang, use it to switch Clang to warning blacklist."Gravatar Mike Klein2016-09-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit I09c3487adfeb26a6fb07e1939cb927c5d7de3107. Reason for revert: -Wover-aligned on x86 Android bots Original issue's description: > GN: detect is_clang, use it to switch Clang to warning blacklist. > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599 > > Change-Id: I09c3487adfeb26a6fb07e1939cb927c5d7de3107 > Reviewed-on: https://skia-review.googlesource.com/2599 > Reviewed-by: Ben Wagner <bungeman@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> > TBR=mtklein@chromium.org,bungeman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Ic07bf7896a305be6c377f14a573cb10836f1a6f8 Reviewed-on: https://skia-review.googlesource.com/2601 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* GN: detect is_clang, use it to switch Clang to warning blacklist.Gravatar Mike Klein2016-09-26
| | | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599 Change-Id: I09c3487adfeb26a6fb07e1939cb927c5d7de3107 Reviewed-on: https://skia-review.googlesource.com/2599 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Json ide script for gn to output cmake.Gravatar bungeman2016-09-23
| | | | | | | | | | | | | | | | | | | | Can be run like gn gen out/debug --ide=json --json-ide-script=../../gn/gn_to_cmake.py or gn gen out/debug --ide=json python gn/gn_to_cmake.py out/debug/project.json This first pass creates CMakeLists.txt with just enough information for an ide. Each target is just a static library with sources, include directories, and defines. NOTRY=true This isn't automatically tested. Review-Url: https://codereview.chromium.org/2363873002
* GN: is_skia_standaloneGravatar mtklein2016-09-21
| | | | | | | | | | | | is_skia_standalone will be defined and set to true iff we're using our standalone BUILDCONFIG.gn. Any other build (Fuchsia, Chrome, Pdfium) will have their own BUILDCONFIG.gn, which presumably does not define is_skia_standalone. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357963002 Review-Url: https://codereview.chromium.org/2357963002
* GN: compiler_prefix -> cc_wrapperGravatar mtklein2016-09-20
| | | | | | | | | | | | | | | | I was a bit mixed up thinking Chrome called this feature compiler_prefix. They actually call it cc_wrapper. So let's switch to their name before we get too used to this. No bots are affected. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355003002 DOCS_PREVIEW= https://skia.org/?cl=2355003002 NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2355003002
* format GN files, and invert if->config to config->ifGravatar mtklein2016-09-16
| | | | | | | | | | | Both if (...) { config ... } else { config ... } and config { if (...) { ...} else { ... } } work. We just happen to do the if inside the config more often than the other way around. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347953002 Review-Url: https://codereview.chromium.org/2347953002
* Compile the skia library for windows using gn.Gravatar herb2016-09-16
| | | | | | | | TBR=mtklein@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347443002 Review-Url: https://codereview.chromium.org/2347443002
* GN: add a flag to implement Android_FrameworkDefs bot.Gravatar mtklein2016-09-16
| | | | | | | | | | | This bot builds Skia with a bunch of defines to mimic the Android roll. Apparently it was supposed to be on the CQ... I'll add the GN version to it when it exists. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343103002 Review-Url: https://codereview.chromium.org/2343103002
* GN: support 32-bit x86 buildsGravatar mtklein2016-09-15
| | | | | | | | | | | | | | | | Take over Ubuntu -x86- bots. Note the change to Build-Win-MSVC-x86-Release-GN.json, which is not incidental. We'll want target_cpu="x86" there too. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340463008 Committed: https://skia.googlesource.com/skia/+/1949386ae00485ae92dd5608a2614b9dee417542 CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot,Build-Ubuntu-GCC-x86-Release-Trybot Review-Url: https://codereview.chromium.org/2340463008