Index: BUILD.gn |
diff --git a/BUILD.gn b/BUILD.gn |
index 124e0ff9244f670d35fe8c084e8f88057cad336c..f0ba26da16689036c3a07d5da62689f21caa198a 100644 |
--- a/BUILD.gn |
+++ b/BUILD.gn |
@@ -10,6 +10,7 @@ |
import("//build/config/features.gni") |
import("//build/config/ui.gni") |
+ |
if (is_android) { |
import("//build/config/android/config.gni") |
} |
@@ -21,127 +22,118 @@ declare_args() { |
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("root") { |
- # This should not be linked into production and depends on test targets. |
+group("gn_all") { |
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 = [ |
- "//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", |
+ "//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: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", |
+ "//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", |
- "//net", |
- "//pdf", |
- "//ppapi/examples", |
- "//printing", |
- "//remoting/client/plugin", |
- "//sandbox", |
- "//sdch", |
- "//skia", |
- "//storage/browser", |
- "//sql", |
- "//sync", |
+ "//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/angle:translator", |
- "//third_party/brotli", |
- "//third_party/cacheinvalidation", |
+ "//third_party/cacheinvalidation:cacheinvalidation_unittests", |
+ |
+ # TODO(GYP): This is needed only w/ cld_version==1. What configs set that? |
"//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", |
+ |
+ # 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/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/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", |
- "//third_party/snappy", |
- "//third_party/speex", |
+ |
+ # 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", |
- "//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", |
+ "//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", |
+ "//url:url_unittests", |
] |
+ |
deps += root_extra_deps |
# TODO(GYP): Get this working on the mac? |
@@ -153,166 +145,156 @@ group("root") { |
deps += [ "//breakpad:symupload" ] |
} |
- if (is_linux) { |
- deps += [ |
- "//dbus", |
- "//third_party/fontconfig", |
- "//third_party/freetype2", |
- ] |
- } |
- |
if (use_x11) { |
deps += [ "//tools/xdisplaycheck" ] |
} |
+ if (toolkit_views) { |
+ deps += [ "//ui/views:views_unittests" ] |
+ } |
+ |
if (use_aura) { |
- deps += [ "//ui/wm" ] |
+ deps += [ "//ui/wm:wm_unittests" ] |
} |
- if (is_win) { |
- deps += [ "//ui/metro_viewer" ] |
+ if (use_ozone) { |
+ deps += [ |
+ "//ui/ozone", |
+ "//ui/ozone/demo", # GN only |
+ ] |
} |
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", |
- "//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", |
- "//ui/android:ui_java", |
+ "//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? |
"//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", |
- ] |
- |
- 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. |
+ "//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 -= [ |
- "//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. |
+ "//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/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", |
+ "//third_party/pdfium/samples:pdfium_test", |
"//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", |
+ "//tools/gn:gn_unittests", |
+ "//ui/app_list:app_list_unittests", |
+ "//url:url_unittests", |
] |
- } |
- if (use_ozone) { |
+ if (has_chrome_android_internal) { |
+ deps += [ "//clank" ] # TODO(GYP) ?? |
+ } |
+ } else if (is_linux) { |
deps += [ |
- "//ui/ozone", |
- "//ui/ozone/demo", |
+ "//dbus:dbus_unittests", |
+ "//sandbox/linux:sandbox_linux_unittests", |
] |
- } |
- |
- # Non-mobile builds. |
- if (!is_android && !is_ios) { |
+ } else if (is_mac) { |
deps += [ |
- "//device/usb", |
- "//device:device_unittests", |
- "//third_party/pdfium/samples", |
+ "//third_party/apple_sample_code", |
+ "//third_party/molokocacao", |
] |
- } |
- # |
- # TODO(GYP): Make everything below this work in the GN build. |
- # |
- |
- if (is_mac) { |
+ # TODO(GYP): Remove these when the targets below work and these |
+ # are pulled in automatically. |
deps += [ |
- "//third_party/apple_sample_code", |
- "//third_party/molokocacao", |
+ "//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 -= [ |
- "//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", |
+ "//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) |
+ ] |
+ } 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" ] |
} |
} |