In the build there are some defaults which actually apply to every
use of a built-in target type, but there are some (particularaly
warnings) which apply only to targets controlled by Skia. Currently
these unwanted defaults are magically known to exist and removed
wherever they are not wanted. Instead, create 'skia_' prefixed target
templates and apply these defaults to those instead.
Change-Id: I3a2afb53c7205a2e2748d1cfad46319f2e93d3b3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/385516
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
You can use this to cross complie from an x86_64 mac if you have
at least XCode12 beta 2 installed, and you set target_cpu = "arm64"
in your gn args.
Change-Id: I3fcdcd162155ac0242c15260994de09177ff2f97
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/328659
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Bug: skia:7647
Change-Id: Ic4709817804610783de8ff3d9eaa32f57fb72729
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313316
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Recent ANGLE changes require BUILD.gn updates to make use of new
zlib functions as well as changes to SystemInfo that requires adding
new source dictionaries to our list of build sources.
Bug: skia:10391
Change-Id: I993a9f78e4585618ad4cd16b3bfc81874d7b5b17
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/297116
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
This reverts commit 6fb3687413.
Reason for revert: breaking a bunch of linux builds
Change-Id: I71dd154785fb00dd20bc157d5d5daf1ee2101fc2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/296996
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Change-Id: I2d19c4f0ff1439dcd923a3064eb3ba78432a5113
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281043
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
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>
The zlib source we DEPS in for testing has been patched with x86
optimizations, some requring SSE2, some SSE4.2, and some PCLMULQDQ
(between SSE4.2 and AVX).
Might as well turn them on?
zlib actually boils everything down into one do-we-have-everything bit.
That's a little weird... I don't see any real reason not to use
fill_window_sse() on a machine with SSE2 but not SSE4.2. Whatever.
While tweaking libpng settings is really where it's at to make PNG
encoding faster, this is kind of a nice little cherry on top. Won't
help people who are using their own zlib, of course.
BUG=skia:6409
Change-Id: I459689069f7559365a66d0d29b33664907704d8e
Reviewed-on: https://skia-review.googlesource.com/10033
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This makes is_official_build turn off all development targets and
features in Skia, including building third-party dependencies from
source.
This will intentionally break some external users, who will find
themselves no longer able to find third-party headers or link against
third-party libraries. These users have been building with our testing
third-party dependencies unknowingly. They'll need to either explicitly
turn back on building each dependency from source
(skia_use_system_foo=false) or disable that dependency entirely
(skia_use_foo=false).
is_skia_standalone is now basically !is_official_build, so I've
propagated that through, removing is_skia_standalone. In a few places
we were using it as a stand-in for defined(ndk), so I've just written
defined(ndk) there. Duh.
gn_to_bp:
is_offical_build's new strength also makes gn_to_bp.py simpler to
write. In spirit, Android builds are official Skia builds that also
build DM and nanobench.
It seems that SkJumper (src/jumper/*) is (unintentionally) enabled
on Android. Switching to an is_official_build would have disabled
that. But as that accidental launch seems to have gone fine, I've
kept it explicitly enabled.
In the end, no changes to Android.bp or its SkUserConfig.h.
The -Mini builder no longer needs to explicitly disable tools.
CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Mini
Change-Id: Id06e53268a5caf55c6046ada354a0863c3031c73
Reviewed-on: https://skia-review.googlesource.com/9190
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This extends the pattern in freetype2 to expat, icu, libjpeg-turbo, libpng, libwebp, and zlib, and gives all these an arg to control which to use.
Homebrew doesn't have dng_sdk, piex, or sftnly, or I'd have done the same for them too.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4260
DOCS_PREVIEW= https://skia.org/?cl=4260
Change-Id: I82e780502bf2217336e791787f172a6fc8f55460
Reviewed-on: https://skia-review.googlesource.com/4260
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Hal Canary <halcanary@google.com>
This builds, links, and runs on Linux. Have not tried Mac.
I've tested is_debug={true,false} and is_component_build.
It's neat that the component build DM works, but it's also an indication I've missed an essential flag or two... it shouldn't work. :)
The GPU backend isn't working yet, but all the software configurations I've tried look good.
This fleshes out all the other parts of SkCodec too... I noticed we weren't able to decode gifs or webp.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2188643002
Review-Url: https://codereview.chromium.org/2188643002
This fixes the build on Linux (dep on third_party:zlib -> third_party/zlib).
I've moved declare_args() {} back to each .gn file... seems like args want
to be as local as possible in GN land.
Additionally, refactor all the common third_party config and warning flag
changes into a template, third_party. This lets it all live together in a
.gni: at head unwanted_configs can be in a .gni (it's just a variable) but
config("no_warnings") (and thus third_party_configs) cannot, as configs
cannot be part of .gni files.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2163653002
Review-Url: https://codereview.chromium.org/2163653002