diff options
author | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-22 00:06:22 +0000 |
---|---|---|
committer | scottmg@chromium.org <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-22 00:07:59 +0000 |
commit | c9f5110c17265ccad812ee66777fb2bc539b18c2 (patch) | |
tree | 2ca81f76ae2adff95185862d9261700c75af7a2f /ash | |
parent | 21e657e70100ae4528b0027ddc68611a64a6d8a5 (diff) | |
download | chromium_src-c9f5110c17265ccad812ee66777fb2bc539b18c2.zip chromium_src-c9f5110c17265ccad812ee66777fb2bc539b18c2.tar.gz chromium_src-c9f5110c17265ccad812ee66777fb2bc539b18c2.tar.bz2 |
Move startup_helper_win.cc to separate target for incremental build
Currently, the .cc is included in multiple targets. In incremental builds this results in errors like:
[609->8104/8713 ~0] LINK_EMBED unit_tests.exe
FAILED: d:\src\depot_tools\python276_bin\python.exe gyp-win-tool link-with-manifests environment.x86 True unit_tests.exe "d:\src\depot_tools\python276_bin\python.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /OUT:unit_tests.exe @unit_tests.exe.rsp" 1 mt.exe rc.exe "obj\chrome\unit_tests.unit_tests.exe.intermediate.manifest" obj\chrome\unit_tests.unit_tests.exe.generated.manifest ..\..\build\win\compatibility.manifest
content_app_both.startup_helper_win.obj : error LNK2005: "void __cdecl content::InitializeSandboxInfo(struct sandbox::SandboxInterfaceInfo *)" (?InitializeSandboxInfo@content@@YAXPAUSandboxInterfaceInfo@sandbox@@@Z) already defined in test_support_content.startup_helper_win.obj
content_app_both.startup_helper_win.obj : error LNK2005: "void __cdecl `anonymous namespace'::InvalidParameter(wchar_t const *,wchar_t const *,wchar_t const *,unsigned int,unsigned int)" (?InvalidParameter@?A0xc496daa2@@YAXPB_W00II@Z) already defined in test_support_content.startup_helper_win.obj
content_app_both.startup_helper_win.obj : error LNK2005: "void __cdecl `anonymous namespace'::PureCall(void)" (?PureCall@?A0xc496daa2@@YAXXZ) already defined in test_support_content.startup_helper_win.obj
content_app_both.startup_helper_win.obj : error LNK2005: "void __cdecl content::RegisterInvalidParamHandler(void)" (?RegisterInvalidParamHandler@content@@YAXXZ) already defined in test_support_content.startup_helper_win.obj
content_app_both.startup_helper_win.obj : error LNK2005: "void __cdecl content::SetupCRT(class base::CommandLine const &)" (?SetupCRT@content@@YAXABVCommandLine@base@@@Z) already defined in test_support_content.startup_helper_win.obj
unit_tests.exe : fatal error LNK1169: one or more multiply defined symbols found
when incremental_chrome_dll=1 used in Release build.
By putting the .cc in a static_library target and depending on it as necessary, rather than including the .cc into multiple places, this is avoided.
R=jam@chromium.org
TBR=sky@chromium.org
BUG=404809
Review URL: https://codereview.chromium.org/470523005
Cr-Commit-Position: refs/heads/master@{#291256}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291256 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash')
-rw-r--r-- | ash/ash.gyp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index 6c6b8a3..5e8383e 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -715,7 +715,6 @@ 'test/ui_controls_factory_ash.h', ], 'ash_shell_lib_sources': [ - '../content/app/startup_helper_win.cc', '../ui/views/test/test_views_delegate_aura.cc', 'shell/app_list.cc', 'shell/bubble.cc', @@ -1199,6 +1198,13 @@ 'sources': [ '<@(ash_shell_lib_sources)', ], + 'conditions': [ + ['OS=="win"', { + 'dependencies': [ + '../content/content.gyp:content_startup_helper_win', + ], + }], + ], }, { # GN version: //ash:ash_shell |