summaryrefslogtreecommitdiffstats
path: root/chrome/chrome_dll.gypi
diff options
context:
space:
mode:
authorscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 17:51:02 +0000
committerscottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-08 17:51:02 +0000
commit56c248b2e4d720c201269cf459efb65ca5396f40 (patch)
tree060ddd818a9d8ad713ed3eea6d11ae8f81ee9c37 /chrome/chrome_dll.gypi
parentbc87c1e3758b85b5c997c21a5e9b0351c92482c5 (diff)
downloadchromium_src-56c248b2e4d720c201269cf459efb65ca5396f40.zip
chromium_src-56c248b2e4d720c201269cf459efb65ca5396f40.tar.gz
chromium_src-56c248b2e4d720c201269cf459efb65ca5396f40.tar.bz2
Add chrome_split_dll gyp variable, and duplicate chrome_main_dll target (reland)
Currently contains chrome_browser_dll target. Removes some paths from browser->webcore via content that are there due to single process mode, and removes dependency of content on content_renderer. Current remaining paths from chrome_browser_dll to webcore: http://i.imgur.com/7WWRvpA.jpg Reland of https://chromiumcodereview.appspot.com/14682014 TBR=cpu@chromium.org BUG=237249 Review URL: https://codereview.chromium.org/14794004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198928 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome_dll.gypi')
-rw-r--r--chrome/chrome_dll.gypi208
1 files changed, 138 insertions, 70 deletions
diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi
index 3d4119a..b38bfa1 100644
--- a/chrome/chrome_dll.gypi
+++ b/chrome/chrome_dll.gypi
@@ -2,6 +2,75 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
+ 'variables': {
+ 'browser_dll_sources': [
+ 'app/chrome_command_ids.h',
+ 'app/chrome_dll.rc',
+ 'app/chrome_dll_resource.h',
+ 'app/chrome_main.cc',
+ 'app/chrome_main_delegate.cc',
+ 'app/chrome_main_delegate.h',
+ 'app/delay_load_hook_win.cc',
+ 'app/delay_load_hook_win.h',
+
+ '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
+ '../base/win/dllmain.cc',
+
+ '../ui/resources/cursors/aliasb.cur',
+ '../ui/resources/cursors/cell.cur',
+ '../ui/resources/cursors/col_resize.cur',
+ '../ui/resources/cursors/copy.cur',
+ '../ui/resources/cursors/none.cur',
+ '../ui/resources/cursors/row_resize.cur',
+ '../ui/resources/cursors/vertical_text.cur',
+ '../ui/resources/cursors/zoom_in.cur',
+ '../ui/resources/cursors/zoom_out.cur',
+
+ # TODO: It would be nice to have these pulled in
+ # automatically from direct_dependent_settings in
+ # their various targets (net.gyp:net_resources, etc.),
+ # but that causes errors in other targets when
+ # resulting .res files get referenced multiple times.
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc',
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
+ ],
+ 'delay_load_dlls_win': [
+ 'comdlg32.dll',
+ 'crypt32.dll',
+ 'cryptui.dll',
+ 'dhcpcsvc.dll',
+ 'imagehlp.dll',
+ 'imm32.dll',
+ 'iphlpapi.dll',
+ 'setupapi.dll',
+ 'urlmon.dll',
+ 'winhttp.dll',
+ 'wininet.dll',
+ 'winspool.drv',
+ 'ws2_32.dll',
+ 'wsock32.dll',
+ ],
+ 'browser_dependencies_win': [
+ # On Windows, link the dependencies (libraries) that make
+ # up actual Chromium functionality into this .dll.
+ 'chrome_resources.gyp:chrome_resources',
+ 'chrome_version_resources',
+ '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
+ '../crypto/crypto.gyp:crypto',
+ '../printing/printing.gyp:printing',
+ '../net/net.gyp:net_resources',
+ '../third_party/cld/cld.gyp:cld',
+ '../ui/views/views.gyp:views',
+ '../webkit/support/webkit_support.gyp:webkit_resources',
+ ],
+ 'manifest_files_win': '$(ProjectDir)\\app\\chrome.dll.manifest',
+ },
'conditions': [
['OS=="mac" or OS=="win"', {
'targets': [
@@ -74,7 +143,9 @@
'enable_wexit_time_destructors': 1,
},
'dependencies': [
- '<@(chromium_dependencies)',
+ '<@(chromium_browser_dependencies)',
+ '<@(chromium_child_dependencies)',
+ '../content/content.gyp:content_worker',
'app/policy/cloud_policy_codegen.gyp:policy',
],
'conditions': [
@@ -98,66 +169,15 @@
['OS=="win"', {
'product_name': 'chrome',
'dependencies': [
- # On Windows, link the dependencies (libraries) that make
- # up actual Chromium functionality into this .dll.
+ '<@(browser_dependencies_win)',
'chrome_dll_pdb_workaround',
- 'chrome_resources.gyp:chrome_resources',
- 'chrome_version_resources',
- '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
- '../content/content.gyp:content_worker',
- '../crypto/crypto.gyp:crypto',
- '../printing/printing.gyp:printing',
- '../net/net.gyp:net_resources',
- '../third_party/cld/cld.gyp:cld',
- '../ui/views/views.gyp:views',
- '../webkit/support/webkit_support.gyp:webkit_resources',
],
'sources': [
- 'app/chrome_command_ids.h',
- 'app/chrome_dll.rc',
- 'app/chrome_dll_resource.h',
- 'app/chrome_main.cc',
- 'app/chrome_main_delegate.cc',
- 'app/chrome_main_delegate.h',
- 'app/delay_load_hook_win.cc',
- 'app/delay_load_hook_win.h',
-
- '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
- '../base/win/dllmain.cc',
-
- '../ui/resources/cursors/aliasb.cur',
- '../ui/resources/cursors/cell.cur',
- '../ui/resources/cursors/col_resize.cur',
- '../ui/resources/cursors/copy.cur',
- '../ui/resources/cursors/none.cur',
- '../ui/resources/cursors/row_resize.cur',
- '../ui/resources/cursors/vertical_text.cur',
- '../ui/resources/cursors/zoom_in.cur',
- '../ui/resources/cursors/zoom_out.cur',
-
- # TODO: It would be nice to have these pulled in
- # automatically from direct_dependent_settings in
- # their various targets (net.gyp:net_resources, etc.),
- # but that causes errors in other targets when
- # resulting .res files get referenced multiple times.
- '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc',
- '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
+ '<@(browser_dll_sources)',
],
'include_dirs': [
'<(DEPTH)/third_party/wtl/include',
],
- 'defines': [
- 'CHROME_DLL',
- 'BROWSER_DLL',
- 'RENDERER_DLL',
- 'PLUGIN_DLL',
- ],
'configurations': {
'Debug_Base': {
'msvs_settings': {
@@ -210,24 +230,11 @@
}],
],
'DelayLoadDLLs': [
- 'comdlg32.dll',
- 'crypt32.dll',
- 'cryptui.dll',
- 'dhcpcsvc.dll',
- 'imagehlp.dll',
- 'imm32.dll',
- 'iphlpapi.dll',
- 'setupapi.dll',
- 'urlmon.dll',
- 'winhttp.dll',
- 'wininet.dll',
- 'winspool.drv',
- 'ws2_32.dll',
- 'wsock32.dll',
+ '<@(delay_load_dlls_win)',
],
},
'VCManifestTool': {
- 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.manifest',
+ 'AdditionalManifestFiles': '<(manifest_files_win)',
},
},
}], # OS=="win"
@@ -297,9 +304,70 @@
], # conditions
}], # OS=="mac"
], # conditions
- }, # target chrome_dll
+ }, # target chrome_main_dll
], # targets
}], # OS=="mac" or OS=="win"
+ ['OS=="win" and chrome_split_dll', {
+ 'targets': [
+ {
+ 'target_name': 'chrome_browser_dll',
+ 'type': 'shared_library',
+ 'variables': {
+ 'enable_wexit_time_destructors': 1,
+ },
+ 'dependencies': [
+ '<@(chromium_browser_dependencies)',
+ 'app/policy/cloud_policy_codegen.gyp:policy',
+ # TODO(scottmg): http://crbug.com/237249 Probably should be
+ # renderer.
+ '../ppapi/ppapi_internal.gyp:ppapi_host',
+ ],
+ 'conditions': [
+ ['use_aura==1', {
+ 'dependencies': [
+ '../ui/compositor/compositor.gyp:compositor',
+ ],
+ }],
+ ['use_ash==1', {
+ 'sources': [
+ '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_resources.rc',
+ ],
+ }],
+ ['OS=="win"', {
+ 'product_name': 'chrome_browser',
+ 'dependencies': [
+ '<@(browser_dependencies_win)',
+ ],
+ 'sources': [
+ '<@(browser_dll_sources)',
+ ],
+ 'include_dirs': [
+ '<(DEPTH)/third_party/wtl/include',
+ ],
+ 'msvs_settings': {
+ 'VCLinkerTool': {
+ 'BaseAddress': '0x01c30000',
+ 'ImportLibrary': '$(OutDir)\\lib\\chrome_browser_dll.lib',
+ # Set /SUBSYSTEM:WINDOWS for chrome_browser.dll (for consistency).
+ 'SubSystem': '2',
+ 'DelayLoadDLLs': [
+ '<@(delay_load_dlls_win)',
+ ],
+ },
+ 'VCManifestTool': {
+ 'AdditionalManifestFiles': '<(manifest_files_win)',
+ },
+ },
+ }], # OS=="win"
+ ['win_use_allocator_shim==1', {
+ 'dependencies': [
+ '<(allocator_target)',
+ ],
+ }],
+ ], # conditions
+ }, # target chrome_browser_dll
+ ], # targets
+ }],
['OS=="win"', {
'targets': [
{