Index: chrome/BUILD.gn |
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn |
index 0ab9496a535a5e658eda5f4827c6304b3852a986..833dcb197a0d358cbd768ba25a6995c46bdd774c 100644 |
--- a/chrome/BUILD.gn |
+++ b/chrome/BUILD.gn |
@@ -2,6 +2,7 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+import("//build/config/chrome_build.gni") |
import("//build/config/features.gni") |
import("//build/config/locales.gni") |
import("//build/config/ui.gni") |
@@ -24,7 +25,7 @@ if (!is_android) { |
] |
defines = [] |
deps = [] |
- datadeps = [] |
+ data_deps = [] |
# TODO(GYP) mac_bundle_resources, xcode_settings |
@@ -32,7 +33,6 @@ if (!is_android) { |
if (is_win) { |
sources += [ |
- "$target_gen_dir/chrome_exe_version.rc", |
"//content/app/startup_helper_win.cc", |
"//content/public/common/content_switches.cc", |
"app/chrome_crash_reporter_client.cc", |
@@ -145,17 +145,22 @@ if (!is_android) { |
"//third_party/adobe/flash:flapper_binaries", |
"//third_party/widevine/cdm:widevinecdmadapter", |
] |
- # TODO(GYP) some stuff from GYP including chrome_multiple_dll. |
} |
if (is_linux && enable_plugins) { |
deps += [ "//pdf" ] |
} |
+ |
+ if (is_multi_dll_chrome) { |
+ defines += [ "CHROME_MULTIPLE_DLL" ] |
+ data_deps += [ ":chrome_child" ] |
+ } |
} |
} # !is_android |
shared_library("main_dll") { |
configs += [ "//build/config/compiler:wexit_time_destructors" ] |
+ defines = [] |
deps = [ |
":browser_dependencies", |
@@ -214,8 +219,7 @@ shared_library("main_dll") { |
deps += [ "//ui/compositor" ] |
} |
- #TODO(GYP) add chrome_multiple_dll support |
- if (false) { #chrome_multiple_dll) { |
+ if (is_multi_dll_chrome) { |
defines += [ "CHROME_MULTIPLE_DLL_BROWSER" ] |
deps += [ "//content/public/app:browser" ] |
} else { |
@@ -236,11 +240,55 @@ shared_library("main_dll") { |
# TODO(GYP) Lots of other stuff in the OS=="mac" block. |
} |
- if (enable_plugins) { |
+ if (enable_plugins && !is_multi_dll_chrome) { |
deps += [ "//pdf" ] |
} |
} |
+if (is_multi_dll_chrome) { |
+ shared_library("chrome_child") { |
+ sources = [ |
+ "app/chrome_main.cc", |
+ "app/chrome_main_delegate.cc", |
+ "app/chrome_main_delegate.h", |
+ "app/close_handle_hook_win.cc", |
+ "app/close_handle_hook_win.h", |
+ ] |
+ |
+ configs += [ "//build/config/compiler:wexit_time_destructors" ] |
+ defines = [ "CHROME_MULTIPLE_DLL_CHILD" ] |
+ |
+ deps = [ |
+ ":child_dependencies", |
+ ":chrome_dll_version", |
+ "//chrome/browser/policy:path_parser", |
+ "//content/public/app:child", |
+ ] |
+ |
+ if (is_win) { |
+ deps += [ "//chrome_elf" ] |
+ # TODO(GYP): PGO on Windows. |
+ # ['chrome_pgo_phase==1', { |
+ # 'msvs_settings': { |
+ # 'VCLinkerTool': { |
+ # 'LinkTimeCodeGeneration': '2', |
+ # }, |
+ # }, |
+ # }], |
+ # ['chrome_pgo_phase==2', { |
+ # 'msvs_settings': { |
+ # 'VCLinkerTool': { |
+ # 'LinkTimeCodeGeneration': '3', |
+ # }, |
+ # }, |
+ # }], |
+ } |
+ if (enable_plugins) { |
+ deps += [ "//pdf" ] |
+ } |
+ } |
+} |
+ |
# GYP version: chromium_browser_dependencies variable in chrome.gyp |
group("browser_dependencies") { |
deps = [ |