| Index: BUILD.gn
|
| diff --git a/BUILD.gn b/BUILD.gn
|
| index e8c3c750aff2918e6fd3734a0fdec521d6ee900a..124e0ff9244f670d35fe8c084e8f88057cad336c 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") {
|
| +# In GN, a "group" is a dummy target that just lists other targets.
|
| +group("root") {
|
| + # This should not be linked into production and depends on test targets.
|
| 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.
|
| -
|
| + # 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 = [
|
| - ":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)
|
| + "//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: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",
|
| + "//net",
|
| + "//pdf",
|
| + "//ppapi/examples",
|
| + "//printing",
|
| + "//remoting/client/plugin",
|
| + "//sandbox",
|
| + "//sdch",
|
| + "//skia",
|
| + "//storage/browser",
|
| + "//sql",
|
| + "//sync",
|
| + "//third_party/WebKit/public:all_blink",
|
| + "//third_party/angle:translator",
|
| + "//third_party/brotli",
|
| + "//third_party/cacheinvalidation",
|
| + "//third_party/cld",
|
| + "//third_party/cld_2",
|
| + "//third_party/codesighs",
|
| + "//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/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",
|
| + "//third_party/snappy",
|
| + "//third_party/speex",
|
| + "//third_party/usrsctp",
|
| + "//third_party/widevine/cdm:version_h",
|
| + "//third_party/webrtc",
|
| + "//third_party/zlib",
|
| + "//third_party:jpeg",
|
| + "//tools/gn",
|
| + "//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",
|
| ]
|
| -}
|
| -
|
| -# 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") {
|
| - testonly = true
|
| -
|
| - 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",
|
| - "//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",
|
| - "//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",
|
| - "//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/cld",
|
| - "//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/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/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/usrsctp",
|
| - "//tools/imagediff($host_toolchain)",
|
| - "//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",
|
| - ]
|
| -
|
| deps += root_extra_deps
|
|
|
| # TODO(GYP): Get this working on the mac?
|
| @@ -146,25 +153,34 @@
|
| 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" ]
|
| - }
|
| -
|
| - if (use_ozone) {
|
| - deps += [
|
| - "//ui/ozone", # TODO(GYP) Needed??
|
| - "//ui/ozone/demo", # TODO(GYP) Needed??
|
| - ]
|
| + deps += [ "//ui/wm" ]
|
| + }
|
| +
|
| + 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) {
|
| @@ -172,128 +188,131 @@
|
| "//base/android/linker:chromium_android_linker",
|
| "//build/android/gyp/test:hello_world",
|
| "//build/android/rezip",
|
| + "//third_party/openmax_dl/dl",
|
| + "//content/shell/android:content_shell_apk",
|
| "//chrome/android:chrome_shell_apk",
|
| + "//chrome/test:test_support_unit",
|
| "//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",
|
| - "//content/shell/android:content_shell_apk",
|
| -
|
| - # TODO(GYP): Are these needed, or will they be pulled in automatically?
|
| + "//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",
|
| - ]
|
| + ]
|
| +
|
| + if (has_chrome_android_internal) {
|
| + deps += [ "//clank" ]
|
| + }
|
| +
|
| + # 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 -= [
|
| - "//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",
|
| + "//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/pdfium/samples:pdfium_test",
|
| + "//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",
|
| - "//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) ??
|
| - }
|
| - } else if (is_linux) {
|
| - deps += [
|
| - "//dbus:dbus_unittests",
|
| - "//sandbox/linux:sandbox_linux_unittests",
|
| - ]
|
| - } else if (is_mac) {
|
| + "//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",
|
| + ]
|
| + }
|
| +
|
| + 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)
|
| - ]
|
| - } else if (is_win) {
|
| - deps += [ "//ui/metro_viewer" ]
|
| - deps -= [
|
| - "//crypto:crypto_unittests", # TODO(GYP)
|
| - "//net:net_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",
|
| + ]
|
| + }
|
| +
|
| + if (is_mac || is_ios) {
|
| + deps -= [ "//ui/touch_selection" ]
|
| }
|
| }
|
|
|