DescriptionMove 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
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=291256
Patch Set 1 #Patch Set 2 : add some content_app_both deps for shared_library #Patch Set 3 : directly for content #Patch Set 4 : separate target #Patch Set 5 : . #Patch Set 6 : duplicate #Patch Set 7 : restore exe behavior for sandbox #
Messages
Total messages: 20 (0 generated)
|