aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn/toolchain
Commit message (Collapse)AuthorAge
* Stop using rsp files for compiling on WindowsGravatar Brian Osman2018-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Chrome stopped using them in January: https://chromium-review.googlesource.com/c/chromium/src/+/832593 For them, it significantly accelerated goma builds. From my tests, I think we'll see some small speedup. Note that our older build system invoked through CMD, which limited us to 8k of command line. GN/ninja don't do that, so we have the full 32k limit. However, we do use CMD to do our 32-bit builds... But that doesn't matter, becase AFAICT the longest command line we generate right now is only about 2.5k long. Note that (like Chromium) this continues to use rsp files to link. Those command lines *can* become ridiculously long. The original motivation, and a nice benefit of this change: It makes the output of ninja's compdb tool much more useful. That tool emits JSON in a standard format describing the commands used to build each source file. Other tools (eg Visual Studio Code) can parse that JSON, and deduce the correct defines and include paths to help with symbol navigation. Change-Id: I73124f13d5117a0c31445cf6ce1c506d2f73609f Reviewed-on: https://skia-review.googlesource.com/142584 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Remove .bat and .exe from commands where possible.Gravatar Ben Wagner2018-06-19
| | | | | | | | | | | | | | | | | We expect .BAT and .EXE to be on PATHEXT. Also, although Python CreateProcess doesn't honor PATHEXT, it will try .EXE. This allows most commands to be platform-independent, and also resolves the issue with the cpython package not including python.bat. No-Tree-Checks: true Docs-Preview: https://skia.org/?cl=135626 Bug: chromium:852581 Change-Id: Iab4189407df44ff4ad4d37da07ff52414229d397 Reviewed-on: https://skia-review.googlesource.com/135626 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Auto-Submit: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Eric Boren <borenet@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Support x86 build with VS 2015Gravatar Kaloyan Donev2018-03-19
| | | | | | | | | | | Pass extra assembler flags to the asm tool in msvc toolchain My first commit so added my name to the AUTHORS file. Change-Id: I19529a901be6d9c00df3c0880003be3363475c6e Reviewed-on: https://skia-review.googlesource.com/114740 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
* Add Win Clang x86 builds.Gravatar Ben Wagner2018-03-13
| | | | | | | | | Enable /arch:SSE2 for Win x86 builds (both MSVC and Clang). Change-Id: I0618e938b6542b60fae3947b7e0dcde22650ba54 Reviewed-on: https://skia-review.googlesource.com/56721 Commit-Queue: Ben Wagner <benjaminwagner@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* BUILD: link and solink uses rsp fileGravatar Hal Canary2018-02-10
| | | | | | | | Motivation: building for android on windows was failing for me. Change-Id: Ia74bb99331edbe2cc9b0281e4c9ff7bbc00b08e6 Reviewed-on: https://skia-review.googlesource.com/106262 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* 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>
* 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>
* Add create_bundle support for GNGravatar Jim Van Verth2017-11-28
| | | | | | | | | Docs-Preview: https://skia.org/?cl=75383 Bug: skia:7339 Change-Id: I985734e8b7b5af21a82cb8ee59acbfb5ff1d3ff7 Reviewed-on: https://skia-review.googlesource.com/75383 Commit-Queue: Jim Van Verth <jvanverth@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>
* Add iOS support for SkiaSDLExample.Gravatar Jim Van Verth2017-08-30
| | | | | | | Change-Id: Ib8f4d6c41356cf0fe2e14b7bff7713d107eaa01f Reviewed-on: https://skia-review.googlesource.com/40687 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Jim Van Verth <jvanverth@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>
* quote $windk to make copy-and-paste easyGravatar Mike Klein2017-07-17
| | | | | | | Change-Id: Iaecae142dcf268517f8918d9f4fa6a64db194fab Reviewed-on: https://skia-review.googlesource.com/23942 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* 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>
* 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>