Skip to content

Loading…

Header deps are duplicated on Windows #418

Closed
sgraham opened this Issue · 2 comments

2 participants

@sgraham

(I noticed on depdb, but applies to msvc-helper too)

/showIncludes prints a line when it opens the file, so many utility headers are included many times. e.g. for base/win_util.cc below:

I think includes_ can just be a set instead of a vector.

d:\src\cr\src>ninja -C out\Debug -t deps obj\base\win\base.win_util.obj.dl
ninja: Entering directory `out\Debug'
obj\base\win\base.win_util.obj.dl:
....\base\win\win_util.h
....\base\base_export.h
....\base\string16.h
....\base\base_export.h
....\base\basictypes.h
....\base\port.h
....\build\build_config.h
....\third_party\platformsdk_win8\files\include\um\aclapi.h
....\third_party\platformsdk_win8\files\include\um\accctrl.h
....\third_party\platformsdk_win8\files\include\um\shobjidl.h
....\third_party\platformsdk_win8\files\include\um\ole2.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\um\objbase.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\um\combaseapi.h
....\third_party\platformsdk_win8\files\include\shared\apiset.h
....\third_party\platformsdk_win8\files\include\shared\apisetcconv.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\um\unknwnbase.h
....\third_party\platformsdk_win8\files\include\um\objidlbase.h
....\third_party\platformsdk_win8\files\include\shared\guiddef.h
....\third_party\platformsdk_win8\files\include\um\cguid.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\um\objidl.h
....\third_party\platformsdk_win8\files\include\um\unknwn.h
....\third_party\platformsdk_win8\files\include\um\urlmon.h
....\third_party\platformsdk_win8\files\include\um\oleidl.h
....\third_party\platformsdk_win8\files\include\um\servprov.h
....\third_party\platformsdk_win8\files\include\um\msxml.h
....\third_party\platformsdk_win8\files\include\um\oaidl.h
....\third_party\platformsdk_win8\files\include\um\propidl.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\um\oleauto.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\um\docobj.h
....\third_party\platformsdk_win8\files\include\um\ocidl.h
....\third_party\platformsdk_win8\files\include\um\shtypes.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\um\comcat.h
....\third_party\platformsdk_win8\files\include\um\prsht.h
....\third_party\platformsdk_win8\files\include\um\propsys.h
....\third_party\platformsdk_win8\files\include\um\structuredquerycondition.h
....\third_party\platformsdk_win8\files\include\um\propkeydef.h
....\third_party\platformsdk_win8\files\include\um\objectarray.h
....\third_party\platformsdk_win8\files\include\um\sherrors.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\um\prsht.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\initguid.h
....\third_party\platformsdk_win8\files\include\shared\guiddef.h
....\third_party\platformsdk_win8\files\include\um\propkey.h
....\third_party\platformsdk_win8\files\include\um\propkeydef.h
....\third_party\platformsdk_win8\files\include\um\propvarutil.h
....\third_party\platformsdk_win8\files\include\um\propapi.h
....\third_party\platformsdk_win8\files\include\um\shlwapi.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\sddl.h
....\third_party\platformsdk_win8\files\include\shared\apiset.h
....\third_party\platformsdk_win8\files\include\shared\apisetcconv.h
....\third_party\platformsdk_win8\files\include\um\shlobj.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack1.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\pshpack8.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\third_party\platformsdk_win8\files\include\shared\poppack.h
....\base\logging.h
....\base\base_export.h
....\base\basictypes.h
....\base\debug\debugger.h
....\base\base_export.h
....\build\build_config.h
....\base\memory\scoped_ptr.h
....\base\basictypes.h
....\base\compiler_specific.h
....\build\build_config.h
....\base\move.h
....\base\template_util.h
....\build\build_config.h
....\base\win\registry.h
....\base\base_export.h
....\base\basictypes.h
....\base\string_util.h
....\base\base_export.h
....\base\basictypes.h
....\base\compiler_specific.h
....\base\string16.h
....\base\string_piece.h
....\base\base_export.h
....\base\basictypes.h
....\base\hash_tables.h
....\build\build_config.h
....\base\string16.h
....\base\string16.h
....\base\string_util_win.h
....\base\logging.h
....\base\stringprintf.h
....\base\base_export.h
....\base\compiler_specific.h
....\base\threading\thread_restrictions.h
....\base\base_export.h
....\base\basictypes.h
....\base\win\scoped_handle.h
....\base\base_export.h
....\base\basictypes.h
....\base\location.h
....\base\base_export.h
....\base\basictypes.h
....\base\logging.h
....\base\move.h
....\base\win\windows_version.h
....\base\base_export.h
....\base\basictypes.h

@martine

I noticed this happening on .d files on Linux too. :~(

See also issue 308 (not the same problem or solution though)

@martine

Forked the non-Windows issue into #423.

@martine martine closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.