Revision 666ad1df2dc5b181a40d831c125529fe7e9bf0b4 authored by Brad King on 24 February 2017, 15:07:18 UTC, committed by Brad King on 24 February 2017, 15:15:50 UTC
This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all
source files, 2016-08-05).  Unfortunately using absolute paths can
cause incorrect rebuilds due to ninja limitations.  The ninja
manual [1] explains:

> ... using absolute paths, your depfile may result in a mixture of
> relative and absolute paths. Paths used by other build rules need
> to match exactly.

Passing an absolute path to a source file to the compiler while using a
relative path in the ninja build manifest can cause such mixture and
lead to incorrect rebuilds.  Simply revert the change for now.

Note that there was a follow-up to the original change in commit
v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with
cmcldeps, 2016-10-13).  We don't need to revert that because that
change made the relevant code cleverly adapt to whatever variable
we use to reference the source file.

[1] https://ninja-build.org/manual.html#_deps

Fixes: #16675
Issue: #13894
1 parent efac65d
History
File Mode Size
CMakeLists.txt -rw-r--r-- 2.6 KB
bar.cxx -rw-r--r-- 48 bytes
foo.cxx -rw-r--r-- 205 bytes
foo.h -rw-r--r-- 5 bytes
foo2.h -rw-r--r-- 6 bytes
fooBoth.h -rw-r--r-- 9 bytes
fooDeepPublic.h -rw-r--r-- 14 bytes
fooExtensionlessResource -rw-r--r-- 25 bytes
fooNeither.h -rw-r--r-- 12 bytes
fooPrivate.h -rw-r--r-- 12 bytes
fooPrivateExtensionlessHeader -rw-r--r-- 30 bytes
fooPublic.h -rw-r--r-- 11 bytes
fooPublicExtensionlessHeader -rw-r--r-- 29 bytes
test.lua -rw-r--r-- 9 bytes

back to top