From d94a4867bf8be91e4c0fa8b7a4133ba060fe524f Mon Sep 17 00:00:00 2001 From: Mirko Bonadei Date: Tue, 12 Dec 2017 10:54:58 +0100 Subject: [PATCH] Using all_dependent_configs to pass libyuv_config around. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using public_configs, client projects must rely on public_deps to propagate configurations up in the build graph. This is bad because public_deps allows the exposition of headers that live in another target. This can lead to a really unhealthy build. On the other side, all_dependent_configs is automatically propagated up in the build graph but if a target includes a libyuv header it is forced by GN to declare the dependency (and this will propagate libyuv_config). Bug: webrtc:8605, webrtc:8603 Change-Id: I4d71bb5de0b5b62a4ec110349223614f0b98e655 No-Try: True Reviewed-on: https://chromium-review.googlesource.com/822112 Commit-Queue: Mirko Bonadei Reviewed-by: Patrik Höglund --- BUILD.gn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/BUILD.gn b/BUILD.gn index 5bc130d58..0b28db35d 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -42,7 +42,7 @@ group("default") { } group("libyuv") { - public_configs = [ ":libyuv_config" ] + all_dependent_configs = [ ":libyuv_config" ] if (is_win && target_cpu == "x64") { # Compile with clang in order to get inline assembly @@ -152,6 +152,7 @@ static_library("libyuv_internal") { # crbug.com/538243). if (!is_debug || is_nacl) { configs -= [ "//build/config/compiler:default_optimization" ] + # Enable optimize for speed (-O2) over size (-Os). configs += [ "//build/config/compiler:optimize_max" ] }