Index: build/config/BUILDCONFIG.gn |
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn |
index 54bf3722fa5c5c1197e790834d0154279a804dee..56b2aa63d881195316dd0048ff140f91bfc235a3 100644 |
--- a/build/config/BUILDCONFIG.gn |
+++ b/build/config/BUILDCONFIG.gn |
@@ -549,6 +549,9 @@ set_defaults("loadable_module") { |
if (is_component_build) { |
set_defaults("component") { |
configs = _shared_library_configs |
+ if (is_android) { |
+ configs -= [ "//build/config/android:hide_native_jni_exports" ] |
+ } |
} |
} |
@@ -575,12 +578,19 @@ set_defaults("test") { |
# COMPONENT SETUP |
# ============================================================================== |
-if (is_component_build) { |
- _component_mode = "shared_library" |
-} else { |
- _component_mode = "source_set" |
-} |
template("component") { |
+ # Some targets (e.g. //base) should user static_library rather than source_set |
brettw
2016/01/04 22:24:53
...rather than source set in non-component builds.
agrieve
2016/01/05 02:46:47
Done.
|
+ # in order to not link unused object files. |
+ _never_use_source_set = |
+ defined(invoker.never_use_source_set) && invoker.never_use_source_set |
brettw
2016/01/04 22:24:53
I'd feel better if this parameter was called "invo
agrieve
2016/01/05 02:46:47
Done.
|
+ assert(_never_use_source_set || true) # Mark as used. |
+ if (is_component_build) { |
+ _component_mode = "shared_library" |
+ } else if (_never_use_source_set) { |
brettw
2016/01/04 22:24:53
Why not just write:
} else if (defined(invoker.c
agrieve
2016/01/05 02:46:47
I tried this at first, but it complains of an unus
|
+ _component_mode = "static_library" |
+ } else { |
+ _component_mode = "source_set" |
+ } |
target(_component_mode, target_name) { |
forward_variables_from(invoker, "*") |