aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn/BUILD.gn
Commit message (Collapse)AuthorAge
* Updated MSVC toolchain to 2017, and further refactored GNGravatar Brian Osman2017-12-08
| | | | | | | | | | | | | | | | | | | | | | 'windk' is no longer a thing. There are two separate variables to point at your compiler (win_vc), and SDK (win_sdk). 'msvc' is no longer a thing, either. By default, we look for 2017 and then 2015 (in the default locations). If neither is located, use an assert to let users know they should set win_vc. Then, detect if win_vc points at a 2017 or 2015 installation, and configure it automatically. Because the toolchain is now 2017, update the GN files to handle building x86 in that configuration. In fact, we only support x86 builds (with 2017 or 2015) using the toolchain assets. Keep a 2015 toolchain around as a new asset, so we can add bot coverage. Docs-Preview: https://skia.org/?cl=81841 Bug: skia: Change-Id: I8c68a6f949e54c0e798a219450bbb9406f8dc6ac Reviewed-on: https://skia-review.googlesource.com/81841 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* quiet down Mac linker warningsGravatar Mike Klein2017-12-07
| | | | | | | Change-Id: I9a2a061e7a021587441f3f39427306309e0341e8 Reviewed-on: https://skia-review.googlesource.com/82042 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Reland "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 6da1d32c16a0598e9b32a4e5b60f99aca871a399 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> Bug: skia: Change-Id: Ide0d6bd3413c4fe7a8bada7d3d32bdba9709d11b Reviewed-on: https://skia-review.googlesource.com/81501 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Revert "Always use the Win 10 SDK, and optionally detect/use the latest version"Gravatar Ravi Mistry2017-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6da1d32c16a0598e9b32a4e5b60f99aca871a399. Reason for revert: Caused Build-Win-Clang-arm64-Release-Android to fail. Eg: https://chromium-swarm.appspot.com/task?id=3a467f1ddd15fb10&refresh=10 Original change's description: > Always use the Win 10 SDK, and optionally detect/use the latest version > > For bot toolchain builds, we were already using the Win 10 SDK. Local > 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now > we always use the Win 10 SDK exclusively. > > This adds two new GN arguments: win_sdk, which points at the top level > Windows 10 SDK directory, and win_sdk_version, which can be used to > pin to a specific version. (Otherwise we use a script to detect the > most recent version). > > Bug: skia: > Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d > Reviewed-on: https://skia-review.googlesource.com/81304 > Reviewed-by: Mike Klein <mtklein@chromium.org> > Commit-Queue: Brian Osman <brianosman@google.com> TBR=mtklein@chromium.org,borenet@google.com,bungeman@google.com,brianosman@google.com Change-Id: Id044114fc685d570741e3f5ed003c4be2ffa84a3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/81500 Reviewed-by: Ravi Mistry <rmistry@google.com> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Always use the Win 10 SDK, and optionally detect/use the latest versionGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | For bot toolchain builds, we were already using the Win 10 SDK. Local 2015 builds were using a strange hybrid of Win 10 and Win 8 SDKs. Now we always use the Win 10 SDK exclusively. This adds two new GN arguments: win_sdk, which points at the top level Windows 10 SDK directory, and win_sdk_version, which can be used to pin to a specific version. (Otherwise we use a script to detect the most recent version). Bug: skia: Change-Id: I5aabb5eb9e7f483e3676b67b50356ddd0421cf7d Reviewed-on: https://skia-review.googlesource.com/81304 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Add win_toolchain_version to support MSVC 2017 UpdatesGravatar Brian Osman2017-12-06
| | | | | | | | | | | | | | | | | | To make this simpler in the future, add a python script that finds the most recent 2017 toolchain, and use that. If/when we update the bot toolchain, this will be even more helpful, because the Chromium toolchain isn't perfectly in sync with the general update channel, so people are likely to have a newer/older release locally. Note that explicitly setting win_toolchain_version in your GN args suppresses the python script, so you can choose to build with whatever version you need. Bug: skia: Change-Id: Iaf6d0dd9be2623472118c3ad27b20023a205d67c Reviewed-on: https://skia-review.googlesource.com/81162 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* remove mips support and botsGravatar Mike Klein2017-12-05
| | | | | | | | | | | The NDK has deprecated mips and mips64: https://developer.android.com/ndk/guides/abis.html Might as well clean this up now while I remember. Change-Id: Ie4b2334c75208082067cc16fe355d0349c7e0904 Reviewed-on: https://skia-review.googlesource.com/80560 Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Fix ANGLE build with extended clang warningsGravatar Chris Dalton2017-12-04
| | | | | | | | | | | Add newline-eof to the list of ignroed warnings. Fix shadowed fields. Bug: skia: Change-Id: I4985ce2495194a7f805af98c4f42c44691086e36 Reviewed-on: https://skia-review.googlesource.com/79681 Commit-Queue: Chris Dalton <csmartdalton@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* turn on extended Clang warnings on Windows tooGravatar Chris Dalton2017-12-04
| | | | | | | | | | Plus some small rearrangements of the various warning lists. Change-Id: Ied58f940341d69ddab971a529fd01b1e96b65641 Reviewed-on: https://skia-review.googlesource.com/67720 Commit-Queue: Chris Dalton <csmartdalton@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Merge UBSAN_float_cast_overflow into ASAN.Gravatar Ben Wagner2017-12-04
| | | | | | | | | | | | The new check was a different config while we fixed the errors. Most errors are now fixed, and merging these will help with running both on the CQ. No-Try: true Change-Id: I5804ecea84a8dbbaacf6a4ea96e2af9505641d49 Reviewed-on: https://skia-review.googlesource.com/79323 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Support cc_wrapper with MSVC toolchainGravatar Brian Osman2017-10-23
| | | | | | | | Bug: skia: Change-Id: I0433105c4a0e064e5cc228b7f6bec1ef3c66909c Reviewed-on: https://skia-review.googlesource.com/62744 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Remove "-Wno-over-aligned" from x86 Android buildsGravatar Leon Scroggins III2017-10-17
| | | | | | | | | | | We now build without requiring disabling this warning. Came up in https://android-review.googlesource.com/498211 Bug: b/66996870 Change-Id: Ife596240507b3c055d2fabd08330828f8a5dbb9c Reviewed-on: https://skia-review.googlesource.com/60530 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Leon Scroggins <scroggo@google.com>
* disable object-size santizer in debug buildsGravatar Mike Klein2017-10-05
| | | | | | | | | | | | This avoids a warning-as-error: clang-5.0: error: the object size sanitizer has no effect at -O0, but is explicitly enabled: Change-Id: I53a16acc3e743b42fe9c2f35919d3c09d5d601b7 Reviewed-on: https://skia-review.googlesource.com/55720 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* function santizer is not available on MacGravatar Mike Klein2017-09-28
| | | | | | | Change-Id: Id2ae524f765414e4c3d990066fcd3ebcea693657 Reviewed-on: https://skia-review.googlesource.com/52781 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* [WASM] Add POC compile bot for WebAssemblyGravatar Kevin Lubick2017-09-21
| | | | | | | | | | | | | | | | | | | | Fix core.gni to use not use Assembler for none cpu. Right now, there are no outputs because we aren't compiling dm or nanobench. However, this still compiles the skia library and creates two executables, so it's a good canary for a real WASM build. Additional note: the two executables in question don't draw anything to the screen via GL, which is still not possible with Skia+WASM. Bug: skia: Change-Id: I0d767467e94e40d01070e34223dd90e96f1c96f2 Reviewed-on: https://skia-review.googlesource.com/49540 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
* update clang_linux package to Clang 5Gravatar Mike Klein2017-09-10
| | | | | | | | | Disable some new warning flags to get us building. Change-Id: I10299d667b06fb61d03e52329883c634bd42f45c Reviewed-on: https://skia-review.googlesource.com/44341 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* ok, backtrace support on AndroidGravatar Mike Klein2017-08-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a fallback backtracer for use on Android where <execinfo.h> ins't present, instead using <unwind.h> to unwind and <dlfcn.h> to lookup function names and addresses. lockf() wasn't available until NDK API 24, so I've just no-op'd file locking on older targets. I tried switching from lockf() to flock(), but flock() didn't see to _do_ anything, neither on Android nor on my Mac laptop. I think I should be able to use the lower-level fcntl() APIs to restore file locking uniformly in a follow-up. The upshot is until then, we'll have interlaced logs and stack traces on Android devices unless you set ndk_api=24 in GN. We need to add a couple build flags to make backtraces useful: * -funwind-tables makes the call to _Unwind_Backtrace() actually traverse the call stack. This is a small extra binary size cost. * -rdynamic makes symbols linked into the main executable visible to dladdr(). We do this on Linux already for the same reason. Here's an example where I made aaxfermodes call SK_ABORT(): 650 ok, 1 crashed caught signal SIGABRT while running 'aaxfermodes' 0x76ed936288 [unknown]+308 0x76eec014e0 [unknown]+510811706592 0x76ed367b2c tgkill+8 0x76ed364f50 pthread_kill+68 0x76ed31ff5c raise+28 0x76ed318814 abort+56 0x76edebd070 sk_out_of_memory()+12 0x76ed99f664 AAXfermodesGM::draw_pass(SkCanvas*, AAXfermodesGM::DrawingPass)+96 0x76ed99f4e4 AAXfermodesGM::onDraw(SkCanvas*)+36 0x76ed9e8550 skiagm::GM::drawContent(SkCanvas*)+224 0x76ed9e82ac skiagm::GM::draw(SkCanvas*)+288 0x76ed93b10c GMStream::GMSrc::draw(SkCanvas*)+96 0x76ed937b08 SWDst::draw(Src*)+284 0x76ed936ca0 [unknown]+112 0x76ed939b4c ForkEngine::spawn(std::function<Status ()>)+88 0x76ed934d00 main+2200 0x76ed316598 __libc_init+92 0x76ed93434c [unknown]+510791992140 Change-Id: Ica4849d99a3b97f48d778f4c15a7fa36275b8133 Reviewed-on: https://skia-review.googlesource.com/40802 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Turn on exceptions in test tools."Gravatar Mike Klein2017-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c667dff58dc4b16faf30c34e98a118c6a1c1f987. Reason for revert: temporary while I fix Android, Google3. Original change's description: > Turn on exceptions in test tools. > > This allows us to test things that, e.g., throw std::bad_alloc. > > Change-Id: I6409159b89f1d93d403b1a1f40539cf2531a8b68 > Reviewed-on: https://skia-review.googlesource.com/34982 > Reviewed-by: Herb Derby <herb@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,herb@google.com Change-Id: Iafdc34c5f70f99f7df3cd0bbad65eed0828453a1 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/35081 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Turn on exceptions in test tools.Gravatar Mike Klein2017-08-16
| | | | | | | | | This allows us to test things that, e.g., throw std::bad_alloc. Change-Id: I6409159b89f1d93d403b1a1f40539cf2531a8b68 Reviewed-on: https://skia-review.googlesource.com/34982 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Tell clang/win to emulate MSVC 2015Gravatar Mike Klein2017-07-31
| | | | | | | | | | | | | By default it emulates your installed cl.exe, but the bots don't have one. I think the fallback is 2013, which causes all sorts of pre-C++11 problems. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-x86_64-Release Change-Id: I2556abe68825e58762b4172d067ba6826de5c133 Reviewed-on: https://skia-review.googlesource.com/29021 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* use -imsvc (~= -isystem) with win/clangGravatar Mike Klein2017-07-31
| | | | | | | | This should shut up any warnings in the win toolchain headers? Change-Id: I7d17bf6d63d56e66afffa557d0ed06bc3994200d Reviewed-on: https://skia-review.googlesource.com/28981 Reviewed-by: Ben Wagner <bungeman@google.com>
* clang on windows supportGravatar Mike Klein2017-07-31
| | | | | | | | | | | | | | | | | 1) Run python bin/fetch-clang-win 2) Set clang_win = "../bin/clang_win" 3) ??? 4) Profit Most changes here are to pass the right -mfoo flags to Clang to enable advanced instruction sets, or fixed warning-as-errors. BUG=skia:2679 Change-Id: Ieed145d35c209131c7c16fdd3ee11a3de4a1a921 Reviewed-on: https://skia-review.googlesource.com/28740 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add arc support to gpu Obj c++ codeGravatar Greg Daniel2017-07-12
| | | | | | | | | | | | | This is mainly for getting ready to start adding lots of metal backend code. I've also update the "gpu tools" target to require ARC with involved updating one IOS file in there. Bug: skia: Change-Id: Ied22e8fe7532445cc274efb529e3450654a6614b Reviewed-on: https://skia-review.googlesource.com/22484 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Re-re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-29
| | | | | | | | | | This reverts commit 5ce397205528f82084fc650c2ce27d246c01da33. Bug: skia: Change-Id: I88260c90004610a1cf8ad1a87c2b4b222525bbb6 Reviewed-on: https://skia-review.googlesource.com/21108 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Revert "Re-land sksl fragment processor support"Gravatar Mike Klein2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c070939fd1a954b7a492bc30f0cf64a664b90181. Reason for revert: This has some knock-on effects in the generation of Android.bp from our GN files. See gn/gn_to_bp.py? We're seeing things like "tmp/tmpsBVycx/gen/" end up in the include search path in Android.bp, which obviously don't exist there... Original change's description: > Re-land sksl fragment processor support > > This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. > > Bug: skia: > Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab > Reviewed-on: https://skia-review.googlesource.com/20965 > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> TBR=benjaminwagner@google.com,ethannicholas@google.com Change-Id: I502486b5405923b322429219f4cc396a45a14cea No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20990 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Re-land sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | | This reverts commit ed50200682e0de72c3abecaa4d5324ebcd1ed9f9. Bug: skia: Change-Id: I9caa7454b391450620d6989dc472abb3cf7a2cab Reviewed-on: https://skia-review.googlesource.com/20965 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Upgrade android build (and infrastructure) to use ndk r15.Gravatar Derek Sollenberger2017-06-27
| | | | | | | | | | Bug: 6672 Change-Id: Ia6c6bae8a9adfd75172d7116487dfa63c3d69670 Reviewed-on: https://skia-review.googlesource.com/20904 Commit-Queue: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
* Revert "sksl fragment processor support"Gravatar Ethan Nicholas2017-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ccf59917d3fe7aaf59de714acfbd0596503f324f. Reason for revert: breaking iOS bots Original change's description: > sksl fragment processor support > > Bug: skia: > Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 > Reviewed-on: https://skia-review.googlesource.com/17843 > Commit-Queue: Ethan Nicholas <ethannicholas@google.com> > Reviewed-by: Ben Wagner <benjaminwagner@google.com> > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,benjaminwagner@google.com,ethannicholas@google.com Change-Id: I0a33060c7c42c7b44c5c13d443ac42958291c2f1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/20962 Reviewed-by: Ethan Nicholas <ethannicholas@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* sksl fragment processor supportGravatar Ethan Nicholas2017-06-27
| | | | | | | | | Bug: skia: Change-Id: Ia3b0305c2b0c78074303831f628fb01852b90d34 Reviewed-on: https://skia-review.googlesource.com/17843 Commit-Queue: Ethan Nicholas <ethannicholas@google.com> Reviewed-by: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Describe GCC-like asm steps as "assemble ..."Gravatar Mike Klein2017-04-26
| | | | | | | | | Oddly, the MSVC toolchain already says "assemble ...". Change-Id: Iabf06afa1b7c05b5699a26813f1469346be439a5 Reviewed-on: https://skia-review.googlesource.com/14367 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* stop disabling threadsafe staticsGravatar Mike Klein2017-04-07
| | | | | | | | | Chrome's got threadsafe statics, Android too, Flutter too, and heck, we even have them on all our Windows builds. No one responded to my mail about them. Let's stop turning them off on not-Windows! Change-Id: Iadf00336aa73df3f694ac019c9d54a3f2257a3bd Reviewed-on: https://skia-review.googlesource.com/11683 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove -mdspr2Gravatar Mike Klein2017-04-04
| | | | | | | | | | | | | | | | | | | | | | | | I set -mdspr2 unconditionally on 32-bit MIPS builds only to not have to deal with setting it conditionally on the source files specifically requiring those instructions. Since then, I've deleted all the source files specifically requiring -mdspr2 (and -mdsp). No one understood them and they were only accelerating really uninteresting cases, like 565 blits. So, we haven't needed -mdspr2 anywhere for a while, and removing it will unblock running these builds on the CI20 dev boards, which support neither -mdsp nor -mdsp2. BUG=skia:1437 CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-mipsel-Release-Android Change-Id: Idda56fd8bb37ba064b78b4cddd8878b37dfe9502 Reviewed-on: https://skia-review.googlesource.com/11284 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* make _win.S know if it's 64-bitGravatar Mike Klein2017-03-30
| | | | | | | | | | | | | I think this is the root of my Windows / Chrome problems. Even on 32-bit builds, Chrome compiles nacl64.exe in 64-bit mode. So to make things simple, always put _win.S in the sources, and no-op it away when assembling for 32-bit. Change-Id: I19f163491739a6c0cbdedd0ce353f1d2289907ae Reviewed-on: https://skia-review.googlesource.com/10637 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Add extra_asmflagsGravatar Kevin Lubick2017-03-28
| | | | | | | | | | This makes it easier to cross-compile for non-Android ARM (e.g. Raspberry PI) Bug: skia: Change-Id: I4414d933bc38d56009aefcbe10e68f7c70964d9c Reviewed-on: https://skia-review.googlesource.com/10291 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* turn on hidden visibility flags on iOSGravatar Mike Klein2017-03-28
| | | | | | | | | | | | | These new images came up when I turned them off the other day: https://gold.skia.org/search?blame=eec23d113149569414e325ac6fd5a9253945628b&fdiffmax=-1&fref=false&frgbamax=-1&head=true&include=false&limit=50&match=gamma_correct&match=name&metric=combined&neg=false&pos=false&query=source_type%3Dgm&sort=desc&unt=true Some sort of ODR problem? :/ Change-Id: I9b2575948c3bd5710476e6501e8ec27933c277f6 Reviewed-on: https://skia-review.googlesource.com/10287 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* focus hidden-visibility flagsGravatar Mike Klein2017-03-27
| | | | | | | | | This makes things like dladdr and backtrace_symbols not totally useless on Linux. Change-Id: I26666a76c5b50fbf88aaf9709c869de0a697bb02 Reviewed-on: https://skia-review.googlesource.com/10176 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Support vs2017.Gravatar Ben Wagner2017-03-21
| | | | | | | Change-Id: Icb333d34705c86f6204a5265b645a2a215e60ad6 Reviewed-on: https://skia-review.googlesource.com/9624 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Added support for building for tvOSGravatar Matthew Leibowitz2017-03-14
| | | | | | | | | | | | | | | This change is just to add support for building for tvOS. It is exactly the same as iOS, just using a different SDK. I had to change the two lines for libjpeg-turbo so that it will run for both tvOS and iOS. BUG=skia: Change-Id: I6ae5fc4257df74c0f321e5d2d71584f6a52ec3a6 Reviewed-on: https://skia-review.googlesource.com/9660 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Add iOS simulator support in GN.Gravatar Mike Klein2017-03-13
| | | | | | | | | | | | This builds fine on my laptop, but fails to link on the bots, so I'm leaving out a new Build bot for now. BUG=skia:6329 Change-Id: I4b33770f13ab9dec914d090b45d9921b19ee2c9d Reviewed-on: https://skia-review.googlesource.com/9519 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Be able to compile nanobench for ChromecastGravatar Kevin Lubick2017-03-07
| | | | | | | | | | | | | | | | | | | | | | | | Get toolchain from https://goto.google.com/ncoqy and put in $CAST_TOOLCHAIN gn gen out/chromecast --args='cc="$CAST_TOOLCHAIN/armv7a/bin/armv7a-cros-linux-gnueabi-gcc" cxx="$CAST_TOOLCHAIN/armv7a/bin/armv7a-cros-linux-gnueabi-g++" ar="$CAST_TOOLCHAIN/armv7a/bin/armv7a-cros-linux-gnueabi-ar" is_official_build=true skia_use_fontconfig=false extra_ldflags=["-static-libstdc++","-static-libgcc"] target_cpu="arm" skia_enable_gpu=false skia_use_system_freetype2=false' ninja -C out/chromecast nanobench We go with is_official_build to minimize binary size, as the chromecast does not have much onboard storage. They do not package libstdc++ so we add the link options: -static-libstdc++ -static-libgcc -momit-leaf-frame-pointer is not supported, so we delete it, as it is not important. BUG=skia: Change-Id: I7b0882ab5d6109f07345a2d59df265efef9b9554 Reviewed-on: https://skia-review.googlesource.com/9338 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Support Android NDK r14.Gravatar Mike Klein2017-03-06
| | | | | | | | | | | | | | | | | | | | simpleperf has moved a little since r13. To support both, remove its copy step. Explicitly disable the Clang integrated assembler on MIPS. It has only understood the 'usw' (unaligned store) pseudoinstruction for about 4 months, and that won't be part of a Clang release until the upcoming Clang 4.0. Must be that -no-integrated-as was the default in r13. All six platforms build on my laptop with r14 now. Will follow up with the CL that moves the bots to r14. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-arm-Debug-Android,Build-Ubuntu-Clang-arm64-Debug-Android,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-x64-Debug-Android,Build-Ubuntu-Clang-x86-Debug-Android,Build-Win-Clang-arm64-Release-Android Change-Id: Ic00981d534613ebab8f6e7646b967493728b91d9 Reviewed-on: https://skia-review.googlesource.com/9237 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* SkJumper: WindowsGravatar Mike Klein2017-02-21
| | | | | | | | | | | | | - Compile stages with -DWIN to pick up MS-specific start_pipeline(). - Add SkJumper_generated_win.S with MS-specific assembly. - Add a minimal asm tool to our GN Windows toolchain. The SkRasterPipeline_f16 benchmark run ~4x faster on my desktop. Change-Id: Ia45afb4ecb6a055e2c0e43f0f54f59e081c23b7f Reviewed-on: https://skia-review.googlesource.com/8778 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Set asmflags when building for iOS.Gravatar Mike Klein2017-02-17
| | | | | | | | | | It's probably best we build iOS assembly with the iOS SDK and the right architecture settings in Clang... Change-Id: I68119641b1f86267ca85434b5a7f6ed37838ce23 Reviewed-on: https://skia-review.googlesource.com/8680 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Strip dead code on all Release builds.Gravatar Mike Klein2017-02-10
| | | | | | | | | | | | | | | | Today we do this only on Windows (/OPT:REF). This extends to Mac-likes (-dead_strip) and non-Macs (-ffunction-sections, -fdata-sections, -Wl,--gc-sections). Should be no harm passing -ffunction-sections and -fdata-sections on Mac too. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Mini Change-Id: I3a1b41be1d258ff509b0355215cb25dab47db57b Reviewed-on: https://skia-review.googlesource.com/8307 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make iOS main() functions normal.Gravatar Mike Klein2017-02-06
| | | | | | | | | | | The weird foo_mains are no longer needed when we build with GN. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm-Debug-iOS Change-Id: Iae50696741e0dc277d96dda4968a1ae41cb17c8a Reviewed-on: https://skia-review.googlesource.com/8064 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Stephan Altmueller <stephana@google.com>
* Make flag parsing work in GN-built iOS nanobench.Gravatar Mike Klein2017-01-31
| | | | | | | | | | | Just like DM. CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-Arm7-Debug,Build-Mac-Clang-arm64-Debug-GN_iOS Change-Id: I4af3fa1813e3b7ee48407096e91373b5fee569c7 Reviewed-on: https://skia-review.googlesource.com/7824 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* gn: iOS packaging scriptGravatar Mike Klein2017-01-31
| | | | | | | | | | | | | | This is enough to run DM on my iPad. I've tweaks DM so that it can run as built by both GN and GYP. When we kill off GYP, all the dm_main() nonsense goes away. CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-Arm7-Debug,Build-Mac-Clang-arm64-Debug-GN_iOS Change-Id: I59176bc203ee3180618b94ac5f9d291e0ad20b62 Reviewed-on: https://skia-review.googlesource.com/7757 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com>
* GN: add 32-bit and Release iOS builders.Gravatar Mike Klein2017-01-23
| | | | | | | | | | | | And roll recipes to the point where they pass target_cpu to GN, adding x86_64 as an alias for x64. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Mac-Clang-arm64-Debug-GN_iOS,Build-Mac-Clang-arm64-Release-GN_iOS,Build-Mac-Clang-arm-Debug-GN_iOS,Build-Mac-Clang-arm-Release-GN_iOS Change-Id: I1933d5803ec7f59f78576c5a7b16489362905a97 Reviewed-on: https://skia-review.googlesource.com/7403 Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "Try /MTd on Debug Windows builds."Gravatar Mike Klein2017-01-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 58ce2bc51a318e53e3e6f1ef297c5adc775b0fec. Reason for revert: warnings / errors when building ANGLE. Original change's description: > Try /MTd on Debug Windows builds. > > The people clamor for it! I doubt we'll care in our testing. > > BUG=skia:5928 > > Change-Id: I80d3948fd1f5d0b956c308bc3a6183b8660575ae > Reviewed-on: https://skia-review.googlesource.com/7364 > Commit-Queue: Mike Klein <mtklein@chromium.org> > Commit-Queue: Ben Wagner <bungeman@google.com> > Reviewed-by: Ben Wagner <bungeman@google.com> > TBR=mtklein@chromium.org,bungeman@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:5928 Change-Id: Id6ab3de7ebb5394749233429bada2f5244ff2978 Reviewed-on: https://skia-review.googlesource.com/7372 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Try /MTd on Debug Windows builds.Gravatar Mike Klein2017-01-21
| | | | | | | | | | | | The people clamor for it! I doubt we'll care in our testing. BUG=skia:5928 Change-Id: I80d3948fd1f5d0b956c308bc3a6183b8660575ae Reviewed-on: https://skia-review.googlesource.com/7364 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>