History log of /external/skia/gn/gn_to_bp.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2fcd17087e4e299a734f4f41fe94cd039adc2b64 08-Mar-2017 Mike Klein <mtklein@chromium.org> Revert "Turn on SkJumper all the time."

This reverts commit 135555101cbde68656f028c41506113374a4026f.

Reason for revert: forgot g3, seems to break Chrome NaCl builders?

https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Win/builds/15969/steps/compile/logs/stdio

Original change's description:
> Turn on SkJumper all the time.
>
> If the previous CL sticks, it's now easy to turn on SkJumper everywhere:
> I was mostly holding back because of build system complexity.
>
> This has the main effect of turning on SkJumper in Chromium.
> It's already been on on our local test bots and on Android framework.
>
> Change-Id: I7fbfc6aaaa7dace9c3f2cb509583c69b10997dbf
> Reviewed-on: https://skia-review.googlesource.com/9380
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,herb@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I69747e9e75b2a8e3d78f6c150c9b6d6453e00632
Reviewed-on: https://skia-review.googlesource.com/9444
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
135555101cbde68656f028c41506113374a4026f 07-Mar-2017 Mike Klein <mtklein@chromium.org> Turn on SkJumper all the time.

If the previous CL sticks, it's now easy to turn on SkJumper everywhere:
I was mostly holding back because of build system complexity.

This has the main effect of turning on SkJumper in Chromium.
It's already been on on our local test bots and on Android framework.

Change-Id: I7fbfc6aaaa7dace9c3f2cb509583c69b10997dbf
Reviewed-on: https://skia-review.googlesource.com/9380
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
488f0d674811ae038d34ece9d59c2824ebd4df8f 03-Mar-2017 Derek Sollenberger <djsollen@google.com> Add ability to insert systrace markers for the android framework

Change-Id: I34cee8382b73f1d95fde279377f976ebad6983a7
Reviewed-on: https://skia-review.googlesource.com/9232
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Stan Iliev <stani@google.com>
Commit-Queue: Derek Sollenberger <djsollen@google.com>
/external/skia/gn/gn_to_bp.py
e459afd6ce2c2ccbad500dc2e77e0ac287af90eb 03-Mar-2017 Mike Klein <mtklein@chromium.org> Strengthen is_official_build, update docs.

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>
/external/skia/gn/gn_to_bp.py
e127523b4af6f415dd9c1dc730a264781fbd1d5b 24-Feb-2017 Ben Wagner <bungeman@google.com> gn_to_bp to recurse deps.

Currently gn_to_bp GrabDependentSrcs only grabs the top level deps of
a target. In a proposed change there are more levels of deps to
clarify the real dependencies. To make this work well, a number of
lists are now sets to avoid including the same file multiple times.

Change-Id: I5005718e42762fe411215920e8991ab27138c7eb
Reviewed-on: https://skia-review.googlesource.com/8936
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/gn/gn_to_bp.py
a3091099fa19da32e60433c0da835e9de3dd8ee9 20-Feb-2017 Matt Sarett <msarett@google.com> Fix client roll (part 2)

NOTRY=true

BUG=skia:

Change-Id: I0b69d0543cc710e4d06950a5a458a90cdf276d76
Reviewed-on: https://skia-review.googlesource.com/8761
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
/external/skia/gn/gn_to_bp.py
af7bbc8b0495612cdbc98847fadb0a08924c41bb 20-Feb-2017 Matt Sarett <msarett@google.com> Fix client roll

This change was made in the client master, but, since the bp file is
autogenerated, it has broken all subsequent rolls.

BUG=skia:

Change-Id: I722c020414f2700c50bf4a1b5936d993e44864a1
Reviewed-on: https://skia-review.googlesource.com/8730
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
/external/skia/gn/gn_to_bp.py
f6a1a2179ad6bf37dd81a658b30d12bfbdfa5c3f 15-Feb-2017 Mike Klein <mtklein@chromium.org> Clean up SkSplicer.

SkJumper's looking promising enough that I want this further out of my face.

Change-Id: I6dbe71aeabe32f7f4258ba157460e6985733b0ce
Reviewed-on: https://skia-review.googlesource.com/8528
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
6ccd2cabaac810edccab620d8a944f64b0432d44 26-Jan-2017 Leon Scroggins III <scroggo@google.com> Generate Android build targets for dm and nanobench

Generate targets for dm and nanobench from ninja and add them to the
generated Android.bp file.

Remove nanobenchAndroid and SkAndroidSDKCanvas. These rely on HWUI
internals and are currently unused.

Update gyp file references to removed files, just in case.

Change-Id: Ic6ae18a70bfd0c33804e7996d077f2081dfdfe07
Reviewed-on: https://skia-review.googlesource.com/7635
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Leon Scroggins <scroggo@google.com>
/external/skia/gn/gn_to_bp.py
1c471874c52cfb811fce8a5beed447042319f515 13-Jan-2017 Mike Klein <mtklein@chromium.org> Fix Android roll

- only depend on cpu-features when we know we have an NDK
- disable SkSplicer

Change-Id: I89e4cc70d6ddf0ebb7005d1cb453768d946cd205
Reviewed-on: https://skia-review.googlesource.com/7060
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
40a82bd0f48d04680fbe7af063a4f2e3eae122e6 20-Dec-2016 Mike Klein <mtklein@chromium.org> remove MIPS DSP optimizations

There are only a couple of these, primarily focused on index8 srcs and 565 dsts. The burden's starting to outweigh the benefit. No one on the team knows MIPS assembly.

If we're going to try this again, I'd rather we try some sort of SkNx / compiler-intrinsic based approach, probably targeting MIPS SIMD (MSA), not this older instruction set.

We already ignore these files for 64-bit MIPS. This just closes the loop on 32-bit MIPS.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD,Build-Ubuntu-Clang-mips64el-Debug-Android,Build-Ubuntu-Clang-mips64el-Release-Android,Build-Ubuntu-Clang-mipsel-Debug-Android,Build-Ubuntu-Clang-mipsel-Release-Android

BUG=skia:6065

Change-Id: Iecac15b56f59625b2e743ea36e7791b90bb0b422
Reviewed-on: https://skia-review.googlesource.com/6353
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
4f8a467a47c0cf98bac728b8fb80d0b8b5ff421e 19-Dec-2016 Leon Scroggins III <scroggo@google.com> Allow running gn_to_bp.py from another script

Use __file__ to determine where 'here' is.

Necessary for
https://chrome-internal-review.googlesource.com/313075.

Change-Id: I1b9571847c761da311012039e2c885fad0a593cb
Reviewed-on: https://skia-review.googlesource.com/6230
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
/external/skia/gn/gn_to_bp.py
bde5d5dc2e628f4d1cfb9925a202b29303b0df6b 14-Dec-2016 Mike Klein <mtklein@chromium.org> Revert "Do not build the ktx encoder for android framework"

This reverts commit eeb7137a0b421522de4c21c90fc3208e33e3a5a5.

Reason for revert: well, duh, I guess we'd better update the GYP and Google3 builds...

Original change's description:
> Do not build the ktx encoder for android framework
>
> Move SkKTXImageEncoder.cpp into an optional block, and disable that
> block for the android framework. Use a new define to determine whether
> to define the entry point, rather than using
> SK_BUILD_FOR_ANDROID_FRAMEWORK.
>
> Change-Id: I41103459135af744cf5715f27783c63dc37a7ad1
> Reviewed-on: https://skia-review.googlesource.com/5982
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,mtklein@google.com,scroggo@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I8da75db31884b5148f7f85a6a0c3e6913b71cfa8
Reviewed-on: https://skia-review.googlesource.com/6021
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
eeb7137a0b421522de4c21c90fc3208e33e3a5a5 13-Dec-2016 Leon Scroggins III <scroggo@google.com> Do not build the ktx encoder for android framework

Move SkKTXImageEncoder.cpp into an optional block, and disable that
block for the android framework. Use a new define to determine whether
to define the entry point, rather than using
SK_BUILD_FOR_ANDROID_FRAMEWORK.

Change-Id: I41103459135af744cf5715f27783c63dc37a7ad1
Reviewed-on: https://skia-review.googlesource.com/5982
Commit-Queue: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
ee43f6f25e4ebd0a91ee208484f576dc9991a8e8 12-Dec-2016 Mike Klein <mtklein@chromium.org> Just make Android.bp bpfmt compliant to begin with.

Change-Id: I0fe833b4af4b68f97fe3feefc76503cb6473eb7b
Reviewed-on: https://skia-review.googlesource.com/5847
Reviewed-by: Leon Scroggins <scroggo@google.com>
/external/skia/gn/gn_to_bp.py
f44703a87f532b3f593d91605d66d52c6bbc45c9 12-Dec-2016 Mike Klein <mtklein@chromium.org> Remove dependency on NDK cpufeatures.

Instead of relying on cpu-features.c, just do what it does.

Good reading: http://man7.org/linux/man-pages/man3/getauxval.3.html

While it's nice to use the headers when possible, should either of these headers not be available, we can fall back to doing it all manually:

extern "C" uint32_t getauxval(uint32_t)
static const int AT_HWCAP = 16;
static const int HWCAP_CRC32 = (1<<7);


To keep things simple I've slimmed cpu feature detection down to just the features we actually make use of. This removes all runtime feature detection for ARMv7... we expect NEON to be globally available, and so far we haven't used the other FMA/FP16 bits on ARMv7. ARMv8 feature dection remains the same, CRC32 before, CRC32 after. x86 (cpuid-based detection) and MIPS (nothing) are untouched.


We need to keep //third_party/cpu-features for //third_party/libwebp.

Change-Id: I6c96df9a09ae68c8c0e54c1152aa177ba9bafc83
Reviewed-on: https://skia-review.googlesource.com/5800
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
c30833327f0dda75a8fbe061f3f1966d1f6621a3 12-Dec-2016 Mike Klein <mtklein@chromium.org> proposed gn_to_bp fixes

in response to 5784

Change-Id: I3ad34a30743e7ffbd04767668c288a4f884eb19c
Reviewed-on: https://skia-review.googlesource.com/5732
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py
27eb22b994736318ae3d832bf16f4fad0e7e1383 07-Dec-2016 Mike Klein <mtklein@chromium.org> gn_to_bp.py fixes

- no u"" strings
- more pervasive sorting
- include sources from optional Skia components (e.g. gpu, codec, pdf)
- cosmetic nits

Change-Id: Ief0f293117dbfbc97584db185c067a8297067b74
Reviewed-on: https://skia-review.googlesource.com/5643
Reviewed-by: Leon Scroggins <scroggo@google.com>
/external/skia/gn/gn_to_bp.py
308b5ac681d5423ddafd208e3d90179e6dc9502e 06-Dec-2016 Mike Klein <mtklein@chromium.org> Add gn_to_bp.py.

The general idea here is, run GN in --ide=json mode to get most information.

Then, read a couple .gni files to get the rest (platform specific source lists, Android framework defines).

For now, I'm generating Android.bp and SkUserConfig.h. I figure we can do DM and nanobench once these work?

Change-Id: I8e7f60d6572f2d4769760cf872895518a15d841b
Reviewed-on: https://skia-review.googlesource.com/5554
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/gn/gn_to_bp.py