From c9f5110c17265ccad812ee66777fb2bc539b18c2 Mon Sep 17 00:00:00 2001 From: "scottmg@chromium.org" <scottmg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> Date: Fri, 22 Aug 2014 00:06:22 +0000 Subject: 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 --- ash/ash.gyp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ash') 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 -- cgit v1.1