Revert of add gn_all, gyp_all targets to build files, remove GN's //:root (patchset #18 id:350001 of https://codereview.chromium.org/936193004/)
Reason for revert:
Suspecting this breaks Mac builds.
http://build.chromium.org/p/chromium/builders/Mac/builds/33993
Original issue's description:
> add gn_all, gyp_all targets to the build files, remove GN's //:root
>
> In order to be able to make sure we are building the same list of targets
> in both the GYP and GN builds, this patch adds new 'gn_all' and 'gyp_all'
> targets.
>
> Eventually, we should make sure that if one builds 'gn_all', then building
> 'gyp_all', 'All', or 'all' then has nothing to do. We're not there yet, but this
> is a start.
>
> The 'gn_all' target replaces the //:root target in the GN builds.
>
> [email protected]
> BUG=461019
> CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg
>
> Committed: https://crrev.com/ff30e3de333305ccdaa103aa7f9e46765da83e99
> Cr-Commit-Position: refs/heads/master@{#317760}
[email protected],[email protected]
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=461019
Review URL: https://codereview.chromium.org/944573003
Cr-Commit-Position: refs/heads/master@{#317763}
diff --git a/BUILD.gn b/BUILD.gn
index e8c3c75..124e0ff9 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -10,7 +10,6 @@
import("//build/config/features.gni")
import("//build/config/ui.gni")
-
if (is_android) {
import("//build/config/android/config.gni")
}
@@ -22,119 +21,127 @@
root_extra_deps = []
}
-group("gyp_all") {
- testonly = true
-
- # TODO(GYP): This target should describe everything that is built by a GYP
- # build but not yet by a GN build, i.e., these are the targets that still
- # need to be ported to GN. Eventually this target should be identical to
- # gn_all.
-
- deps = [
- ":gn_all",
- # "//chrome/test:chromedriver_unittests", # TODO(GYP)
- # "//components:components_browsertests", # TODO(GYP)
- # "//components/nacl:nacl_loader_unittests", # TODO(GYP)
- # "//google_apis:google_apis_unittests", # TODO(GYP)
- # "//ui/compositor:compositor_unittests", # TODO(GYP)
- # "//device:device_unittests", # TODO(GYP)
- # "//ppapi:ppapi_unittests", # TODO(GYP)
- # "//remoting:remoting_unittests", # TODO(GYP)
- ]
-}
-
-# The "gn_all" target matches the "gn_all" target in build/all.gyp.
-# It is not (yet!) the same as building "all".
-# TODO(GYP): Make it be basically the same as building all, or at least
-# be sure that we don't want any of the stuff listed in gn_all to
-# be built by default.
-
# In GN, a "group" is a dummy target that just lists other targets.
-group("gn_all") {
+group("root") {
+ # This should not be linked into production and depends on test targets.
testonly = true
+ # Note that some dependencies are commented out. These are things that are
+ # currently written but not hooked up to the build yet. They may need to be
+ # completed or possibly just tested and then re-enabled.
deps = [
- "//base:base_unittests",
- "//cc:cc_unittests",
- "//chrome",
- "//chrome/test:browser_tests",
- "//chrome/test:interactive_ui_tests",
- "//chrome/test:sync_integration_tests",
- "//chrome/test:unit_tests",
- "//components:components_unittests",
+ "//apps",
+ "//ash",
+ "//cc",
+ "//cc/blink",
+ "//chrome/browser",
+ "//chrome/browser/devtools",
+ "//chrome/common",
+ "//chrome/plugin",
+ "//chrome/renderer",
+ "//chrome/test",
+ "//chrome/tools",
+ "//chrome/utility",
+ "//components:all_components",
+ "//content",
"//content/shell:content_shell",
- "//content/test:content_browsertests",
- "//content/test:content_perftests",
- "//content/test:content_unittests",
- "//crypto:crypto_unittests",
- "//extensions:extensions_browsertests",
- "//extensions:extensions_unittests",
- "//google_apis/gcm:gcm_unit_tests",
- "//gpu:gpu_unittests",
- "//ipc:ipc_tests",
- "//ipc/mojo:ipc_mojo_unittests",
- "//jingle:jingle_unittests",
- "//media:media_unittests",
- "//media/mojo", # only builds in mojo
- "//media/cast:cast_unittests",
+ "//content/test:test_support",
+ "//crypto",
+ "//device/battery",
+ "//device/bluetooth",
+ "//device/nfc",
+ "//device/vibration",
+ "//extensions/browser",
+ "//extensions/common",
+ "//extensions/common/api",
+ "//extensions/renderer",
+ "//gin",
+ "//gpu",
+ "//google_apis",
+ "//google_apis/gcm",
+ "//ipc",
+ "//ipc/mojo",
+ "//jingle:notifier",
+ "//media",
+ "//media/blink",
+ "//media/cast",
+ "//media/mojo",
"//mojo",
- "//mojo/common:mojo_common_unittests",
-
- # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
- "//net:net_unittests",
- "//ppapi/examples", # TODO(GYP): What's the GYP equivalent?
- "//printing:printing_unittests",
- "//skia:skia_unittests",
- "//sql:sql_unittests",
- "//sync:sync_unit_tests",
-
- # TODO(GYP): the Blink test targets should be public, but
- # currently aren't. all_blink pulls them in, though.
- # "//third_party/WebKit/Source/platform:heap_unittests",
- # "//third_party/WebKit/Source/platform:platform_unittests",
- # "//third_party/WebKit/Source/wtf:wtf_unittests",
+ "//net",
+ "//pdf",
+ "//ppapi/examples",
+ "//printing",
+ "//remoting/client/plugin",
+ "//sandbox",
+ "//sdch",
+ "//skia",
+ "//storage/browser",
+ "//sql",
+ "//sync",
"//third_party/WebKit/public:all_blink",
- "//third_party/cacheinvalidation:cacheinvalidation_unittests",
-
- # TODO(GYP): This is needed only w/ cld_version==1. What configs set that?
+ "//third_party/angle:translator",
+ "//third_party/brotli",
+ "//third_party/cacheinvalidation",
"//third_party/cld",
+ "//third_party/cld_2",
"//third_party/codesighs",
-
- # TODO(GYP): This is needed only w/ use_system_fontconfig==0.
- # What configs set that?
- # "//third_party/fontconfig",
-
- # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
- # For now pull it in manually so that it doesn't regress.
+ "//third_party/ffmpeg",
+ "//third_party/flac",
+ "//third_party/harfbuzz-ng",
+ "//third_party/hunspell",
+ "//third_party/iccjpeg",
+ "//third_party/icu",
+ "//third_party/leveldatabase",
+ "//third_party/libphonenumber",
+ "//third_party/libjingle",
+ "//third_party/libpng",
"//third_party/libsrtp",
- "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
- "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
- "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
- "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
- "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
- "//third_party/pdfium/samples:pdfium_test",
-
- # TODO(GYP): Verify that this is no longer needed.
+ "//third_party/libusb",
+ "//third_party/libwebp",
+ "//third_party/libxslt",
+ "//third_party/libvpx",
+ "//third_party/libyuv",
+ "//third_party/lzma_sdk",
+ "//third_party/mesa",
+ "//third_party/opus",
+ "//third_party/ots",
+ "//third_party/protobuf:protobuf_lite",
+ "//third_party/qcms",
+ "//third_party/re2",
+ "//third_party/smhasher:cityhash",
+ "//third_party/smhasher:murmurhash3",
"//third_party/smhasher:pmurhash",
-
- # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
- # For now pull it in manually so that it doesn't regress.
+ "//third_party/snappy",
+ "//third_party/speex",
"//third_party/usrsctp",
- "//tools/imagediff($host_toolchain)",
+ "//third_party/widevine/cdm:version_h",
+ "//third_party/webrtc",
+ "//third_party/zlib",
+ "//third_party:jpeg",
"//tools/gn",
- "//tools/gn:gn_unittests",
- "//tools/telemetry:bitmaptools($host_toolchain)",
- "//ui/accessibility:accessibility_unittests",
- "//ui/app_list:app_list_unittests",
- "//ui/base:ui_base_unittests",
- "//ui/display:display_unittests",
- "//ui/events:events_unittests",
- "//ui/gfx:gfx_unittests",
- "//ui/touch_selection:ui_touch_selection_unittests",
- "//ui/views:views_unittests",
- "//url:url_unittests",
+ "//tools/imagediff($host_toolchain)",
+ "//tools/telemetry:bitmaptools",
+ "//ui/accessibility",
+ "//ui/app_list",
+ "//ui/aura",
+ "//ui/base",
+ "//ui/display",
+ "//ui/events",
+ "//ui/gfx",
+ "//ui/gl",
+ "//ui/keyboard",
+ "//ui/native_theme",
+ "//ui/resources",
+ "//ui/snapshot",
+ "//ui/strings",
+ "//ui/surface",
+ "//ui/touch_selection",
+ "//ui/views",
+ "//ui/views/controls/webview",
+ "//ui/web_dialogs",
+ "//url",
+ "//v8:v8",
]
-
deps += root_extra_deps
# TODO(GYP): Get this working on the mac?
@@ -146,154 +153,166 @@
deps += [ "//breakpad:symupload" ]
}
+ if (is_linux) {
+ deps += [
+ "//dbus",
+ "//third_party/fontconfig",
+ "//third_party/freetype2",
+ ]
+ }
+
if (use_x11) {
deps += [ "//tools/xdisplaycheck" ]
}
if (use_aura) {
- deps += [ "//ui/wm:wm_unittests" ]
+ deps += [ "//ui/wm" ]
}
- if (use_ozone) {
- deps += [
- "//ui/ozone", # TODO(GYP) Needed??
- "//ui/ozone/demo", # TODO(GYP) Needed??
- ]
+ if (is_win) {
+ deps += [ "//ui/metro_viewer" ]
}
if (is_win || is_mac || is_chromeos) {
# RLZ works on these platforms.
- # TODO(GYP): Is this target needed, or pulled in automatically?
deps += [ "//rlz:rlz_lib" ]
}
+ if (current_cpu == "x86" || current_cpu == "x64") {
+ # YASM is x86/x64 only.
+ deps += [ "//third_party/yasm($host_toolchain)" ]
+ }
+
if (is_android) {
deps += [
"//base/android/linker:chromium_android_linker",
"//build/android/gyp/test:hello_world",
"//build/android/rezip",
- "//chrome/android:chrome_shell_apk",
- "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
- "//tools/imagediff($host_toolchain)",
-
- # TODO(GYP): Remove these when the components_unittests work.
- "//components/history/core/test:test",
- "//components/policy:policy_component_test_support",
- "//components/policy:test_support",
- "//components/rappor:test_support",
- "//components/signin/core/browser:test_support",
- "//components/sync_driver:test_support",
- "//components/user_manager",
- "//components/wallpaper",
+ "//third_party/openmax_dl/dl",
"//content/shell/android:content_shell_apk",
-
- # TODO(GYP): Are these needed, or will they be pulled in automatically?
+ "//chrome/android:chrome_shell_apk",
+ "//chrome/test:test_support_unit",
+ "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
+ "//ui/android:ui_java",
"//third_party/android_tools:android_gcm_java",
"//third_party/android_tools:uiautomator_java",
"//third_party/android_tools:android_support_v13_java",
"//third_party/android_tools:android_support_v7_appcompat_java",
"//third_party/android_tools:android_support_v7_mediarouter_java",
- "//third_party/mesa",
"//third_party/mockito:mockito_java",
- "//third_party/openmax_dl/dl",
- "//third_party/speex",
- "//ui/android:ui_java",
-
- # TODO(GYP): Are these needed?
- "//chrome/test:test_support_unit",
- "//third_party/smhasher:murmurhash3",
- "//ui/message_center:test_support",
- ]
- deps -= [
- "//breakpad:symupload", # TODO(GYP) ??
- "//chrome", # TODO(GYP) ??
- "//chrome/test:browser_tests", # TODO(GYP) ??
- "//chrome/test:interactive_ui_tests", # TODO(GYP) ??
- "//chrome/test:sync_integration_tests", # TODO(GYP) ??
- "//chrome/test:unit_tests", # TODO(GYP)
- "//extensions:extensions_browsertests",
- "//extensions:extensions_unittests",
- "//google_apis/gcm:gcm_unit_tests",
- "//ipc:ipc_tests", # TODO(GYP) ??
- "//jingle:jingle_unittests", # TODO(GYP) ??
- "//net:net_unittests",
- "//ppapi/examples",
- "//third_party/pdfium/samples:pdfium_test",
- "//tools/gn",
- "//tools/gn:gn_unittests",
- "//ui/app_list:app_list_unittests",
- "//ui/views:views_unittests",
- "//url:url_unittests",
]
if (has_chrome_android_internal) {
- deps += [ "//clank" ] # TODO(GYP) ??
+ deps += [ "//clank" ]
}
- } else if (is_linux) {
- deps += [
- "//dbus:dbus_unittests",
- "//sandbox/linux:sandbox_linux_unittests",
+
+ # TODO(GYP): Move the targets in the rest of this block that still
+ # need to be made to work in the GN build to the bottom of the file
+ # so that all the remaining work is located in one place in the file.
+ # This block should contain only the targets that aren't actually
+ # needed on Android.
+
+ deps -= [
+ "//apps", # Needs testing.
+ "//chrome/browser",
+ "//chrome/browser/devtools",
+ "//chrome/common",
+ "//chrome/plugin",
+ "//chrome/renderer",
+ "//chrome/test",
+ "//chrome/tools",
+ "//chrome/utility",
+ "//content/shell:content_shell",
+ "//extensions/browser",
+ "//extensions/common",
+ "//extensions/common/api",
+ "//extensions/renderer",
+ "//pdf", # Not compiled on Android in GYP yet, either.
+ "//ppapi/examples",
+ "//third_party/libusb",
+ "//ui/keyboard", # Blocked on content.
+
+ # Seems to not be compiled on Android. Otherwise it will need a config.h.
+ "//third_party/libxslt",
+
+ # Not relevant to Android.
+ "//ash",
+ "//tools/gn",
+ "//ui/aura",
+ "//ui/display",
+ "//ui/views",
+ "//ui/views/controls/webview",
+
+ # Fails on Android for unknown reasons.
+ "//third_party/flac",
+ "//breakpad:symupload",
+
+ # Not tested on Android yet:
+ "//google_apis/gcm",
+ "//remoting/client/plugin",
+ "//storage/browser",
+ "//third_party/cld_2",
+ "//third_party/ffmpeg",
+ "//ui/app_list",
+ "//ui/web_dialogs",
]
- } else if (is_mac) {
+ }
+
+ if (use_ozone) {
+ deps += [
+ "//ui/ozone",
+ "//ui/ozone/demo",
+ ]
+ }
+
+ # Non-mobile builds.
+ if (!is_android && !is_ios) {
+ deps += [
+ "//device/usb",
+ "//device:device_unittests",
+ "//third_party/pdfium/samples",
+ ]
+ }
+
+ #
+ # TODO(GYP): Make everything below this work in the GN build.
+ #
+
+ if (is_mac) {
deps += [
"//third_party/apple_sample_code",
"//third_party/molokocacao",
]
- # TODO(GYP): Remove these when the targets below work and these
- # are pulled in automatically.
- deps += [
- "//cc/blink",
- "//components/ui/zoom:ui_zoom",
- "//content",
- "//content/test:test_support",
- "//device/battery",
- "//device/bluetooth",
- "//device/nfc",
- "//device/usb",
- "//device/vibration",
- "//media/blink",
- "//pdf",
- "//storage/browser",
- "//third_party/brotli",
- "//third_party/flac",
- "//third_party/hunspell",
- "//third_party/iccjpeg",
- "//third_party/libphonenumber",
- "//third_party/ots",
- "//third_party/qcms",
- "//third_party/smhasher:murmurhash3",
- "//third_party/speex",
- "//third_party/webrtc/system_wrappers",
- "//ui/native_theme",
- "//ui/snapshot",
- "//ui/surface",
- ]
-
# TODO(dpranke): These are as-yet untriaged but need at least the above.
deps -= [
- "//chrome", # TODO(GYP)
- "//chrome/test:browser_tests", # TODO(GYP)
- "//chrome/test:interactive_ui_tests", # TODO(GYP)
- "//chrome/test:sync_integration_tests", # TODO(GYP)
- "//chrome/test:unit_tests", # TODO(GYP)
- "//components:components_unittests", # TODO(GYP)
- "//content/test:content_browsertests", # TODO(GYP)
- "//content/test:content_perftests", # TODO(GYP)
- "//content/test:content_unittests", # TODO(GYP)
- "//extensions:extensions_browsertests", # TODO(GYP)
- "//extensions:extensions_unittests", # TODO(GYP)
- "//net:net_unittests", # TODO(GYP)
- "//third_party/usrsctp", # TODO(GYP)
- "//ui/app_list:app_list_unittests", # TODO(GYP)
- "//ui/gfx:gfx_unittests", # TODO(GYP)
- "//ui/views:views_unittests", # TODO(GYP)
+ "//apps",
+ "//ash",
+ "//chrome/browser",
+ "//chrome/browser/devtools",
+ "//chrome/common",
+ "//chrome/plugin",
+ "//chrome/renderer",
+ "//chrome/test",
+ "//chrome/utility",
+ "//components:all_components",
+ "//content/shell:content_shell",
+ "//extensions/browser",
+ "//extensions/common",
+ "//extensions/common/api",
+ "//extensions/renderer",
+ "//remoting/client/plugin",
+ "//third_party/usrsctp",
+ "//ui/app_list",
+ "//ui/aura",
+ "//ui/keyboard",
+ "//ui/views",
+ "//ui/views/controls/webview",
+ "//ui/web_dialogs",
]
- } else if (is_win) {
- deps += [ "//ui/metro_viewer" ]
- deps -= [
- "//crypto:crypto_unittests", # TODO(GYP)
- "//net:net_unittests", # TODO(GYP)
- ]
+ }
+
+ if (is_mac || is_ios) {
+ deps -= [ "//ui/touch_selection" ]
}
}