|
|
DescriptionGN: make libwebp an optional dependency
This will be handy for folks who don't have libwebp, like Fuchsia.
I convinced myself that this is done right by:
- building in all three modes (default and explicitly set both ways);
- looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY;
- running dm -m Codec, which passes with libwebp and segfault without it.
If this is viable, I intend to make all third-party dependencies optional
and follow this pattern. :skia should link and degrade gracefully without
any of //third_party. It's okay for tools to have hard third-party
dependencies; we just need them to get past the `gn gen` stage without them.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004
Committed: https://skia.googlesource.com/skia/+/eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6
Patch Set 1 #Patch Set 2 : nicer #Messages
Total messages: 21 (12 generated)
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in both modes; - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. BUG=skia: ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in both modes; - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ==========
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in both modes; - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ==========
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all optional dependencies follow this pattern. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ==========
The CQ bit was checked by mtklein@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all optional dependencies follow this pattern. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all third-party dependencies optional and follow this pattern. :skia should link and degrade gracefully without any of //third_party. It's okay for tools to have hard third-party dependencies; we just need them to get past the `gn gen` stage without them. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ==========
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all third-party dependencies optional and follow this pattern. :skia should link and degrade gracefully without any of //third_party. It's okay for tools to have hard third-party dependencies; we just need them to get past the `gn gen` stage without them. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all third-party dependencies optional and follow this pattern. :skia should link and degrade gracefully without any of //third_party. It's okay for tools to have hard third-party dependencies; we just need them to get past the `gn gen` stage without them. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ==========
mtklein@chromium.org changed reviewers: + anmittal@google.com, jcgregorio@google.com, msarett@google.com
anmittal, will this work for Fuchsia? jcgregorio, down with this general approach to third_party? msarett, is this sane for Codec/Encoders?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
On 2016/08/23 13:59:05, mtklein_C wrote: > anmittal, will this work for Fuchsia? > jcgregorio, down with this general approach to third_party? > msarett, is this sane for Codec/Encoders? Codec lgtm. "- running dm -m Codec, which passes with libwebp and segfault without it." Just confirming, we seg fault (in test code) without libwebp even when SK_HAS_WEBP_LIBRARY is not defined.
On 2016/08/23 at 14:13:51, msarett wrote: > On 2016/08/23 13:59:05, mtklein_C wrote: > > anmittal, will this work for Fuchsia? > > jcgregorio, down with this general approach to third_party? LGTM. This looks great, so all the third_party libs will move to this format? > > msarett, is this sane for Codec/Encoders? > > Codec lgtm. > > "- running dm -m Codec, which passes with libwebp and segfault without it." > > Just confirming, we seg fault (in test code) without libwebp even when SK_HAS_WEBP_LIBRARY is not defined.
> Just confirming, we seg fault (in test code) without libwebp even when > SK_HAS_WEBP_LIBRARY is not defined. Right, the problem in this test is fixable. It's just something like: REPORTER_ASSERT(r, codec); if ( f (codec, codec->info(), ...) ) { ... } It's just not written to actually keep running if that REPORTER_ASSERT fails. Ultimately I think this is fine. I do not expect our tools to be useable except by bots or developers who have run gclient sync inside skia/.
> LGTM. This looks great, so all the third_party libs will move to this format? That's my hope, yeah. Gonna land this now and start fleshing out the rest. Whether or not this fixes Fuchsia's pain point, I can't imagine it makes things worse.
The CQ bit was checked by mtklein@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all third-party dependencies optional and follow this pattern. :skia should link and degrade gracefully without any of //third_party. It's okay for tools to have hard third-party dependencies; we just need them to get past the `gn gen` stage without them. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 ========== to ========== GN: make libwebp an optional dependency This will be handy for folks who don't have libwebp, like Fuchsia. I convinced myself that this is done right by: - building in all three modes (default and explicitly set both ways); - looking at verbose Ninja logs to see the presence/lack of SK_HAS_WEBP_LIBRARY; - running dm -m Codec, which passes with libwebp and segfault without it. If this is viable, I intend to make all third-party dependencies optional and follow this pattern. :skia should link and degrade gracefully without any of //third_party. It's okay for tools to have hard third-party dependencies; we just need them to get past the `gn gen` stage without them. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2270693004 Committed: https://skia.googlesource.com/skia/+/eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as https://skia.googlesource.com/skia/+/eb3c425f1b33836e116e8ed4eeb40e0c6d8dffb6
Message was sent while issue was closed.
On 2016/08/23 14:36:52, mtklein_C wrote: > > LGTM. This looks great, so all the third_party libs will move to this format? > > That's my hope, yeah. > > Gonna land this now and start fleshing out the rest. Whether or not this fixes > Fuchsia's pain point, I can't imagine it makes things worse. hey sorry for late comment, the fix works great for fuchsia. Thanks for making this change :)
Message was sent while issue was closed.
On 2016/08/23 14:36:52, mtklein_C wrote: > > LGTM. This looks great, so all the third_party libs will move to this format? > > That's my hope, yeah. > > Gonna land this now and start fleshing out the rest. Whether or not this fixes > Fuchsia's pain point, I can't imagine it makes things worse. hey sorry for late comment, the fix works great for fuchsia. Thanks for making this change :) |