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" ] |
} |
} |