Commit b3e6014f authored by brettw's avatar brettw Committed by Commit bot

Enable header checking for chrome/browser/ui

This disables header checking for split static libraries. In addition to the internal issues discussed in the added comment to split_static_library.gni, there is a circular include cycle between //chrome/browser and //chrome/browser/ui. Both of these are split static libraries, so enabling check for this configuration would additionally require listing all of the split ui targets in the allow_circular_includes_from annotation in the browser target.

Since this is only for official builds, we still get header checking on the normal builds so there should be no missing coverage for header checking.

R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2363083003
Cr-Commit-Position: refs/heads/master@{#420705}
parent 3db0d1df
...@@ -27,8 +27,7 @@ check_targets = [ ...@@ -27,8 +27,7 @@ check_targets = [
#"//chrome/*", # Epic number of errors. #"//chrome/*", # Epic number of errors.
"//chrome/app/*", "//chrome/app/*",
"//chrome/browser/extensions/*", "//chrome/browser/extensions/*",
"//chrome/browser/ui/*",
#"//chrome/browser/ui/*", # Still fails on Windows official.
"//chrome/common/*", "//chrome/common/*",
"//chrome/installer/*", "//chrome/installer/*",
"//chrome/third_party/mozilla_security_manager/*", "//chrome/third_party/mozilla_security_manager/*",
......
...@@ -31,12 +31,23 @@ template("split_static_library") { ...@@ -31,12 +31,23 @@ template("split_static_library") {
forward_variables_from(invoker, forward_variables_from(invoker,
"*", "*",
[ [
"check_includes",
"sources", "sources",
"visibility", "visibility",
]) ])
sources = current_sources sources = current_sources
visibility = [ ":$group_name" ] visibility = [ ":$group_name" ]
# When splitting a target's sources up into a series of static
# libraries, those targets will naturally include headers from each
# other arbitrarily. We could theoretically generate a web of
# dependencies and allow_circular_includes_from between all pairs of
# targets, but that's very cumbersome. Typical usage in Chrome is that
# only official Windows builds use split static libraries due to the
# Visual Studio size limits, and this means we'll still get header
# checking coverage for the other configurations.
check_includes = false
# Uniquify the output name if one is specified. # Uniquify the output name if one is specified.
if (defined(invoker.output_name)) { if (defined(invoker.output_name)) {
output_name = "${invoker.output_name}_$current_library_index" output_name = "${invoker.output_name}_$current_library_index"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment