diff options
author | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-08 17:51:02 +0000 |
---|---|---|
committer | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-08 17:51:02 +0000 |
commit | 56c248b2e4d720c201269cf459efb65ca5396f40 (patch) | |
tree | 060ddd818a9d8ad713ed3eea6d11ae8f81ee9c37 /chrome/chrome_dll.gypi | |
parent | bc87c1e3758b85b5c997c21a5e9b0351c92482c5 (diff) | |
download | chromium_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.gypi | 208 |
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': [ { |