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
BadFoundVar-result.txt -rw-r--r-- 2 bytes
BadFoundVar-stderr.txt -rw-r--r-- 380 bytes
BadFoundVar.cmake -rw-r--r-- 89 bytes
CMakeLists.txt -rw-r--r-- 101 bytes
FindBadFoundVar.cmake -rw-r--r-- 203 bytes
FindPseudo.cmake -rw-r--r-- 169 bytes
RunCMakeTest.cmake -rw-r--r-- 899 bytes
any_version.cmake -rw-r--r-- 30 bytes
exact_0-result.txt -rw-r--r-- 2 bytes
exact_0.cmake -rw-r--r-- 38 bytes
exact_0_matching.cmake -rw-r--r-- 38 bytes
exact_1.1-result.txt -rw-r--r-- 2 bytes
exact_1.1.cmake -rw-r--r-- 40 bytes
exact_1.2.2-result.txt -rw-r--r-- 2 bytes
exact_1.2.2.cmake -rw-r--r-- 42 bytes
exact_1.2.3.3-result.txt -rw-r--r-- 2 bytes
exact_1.2.3.3.cmake -rw-r--r-- 44 bytes
exact_1.2.3.4.cmake -rw-r--r-- 44 bytes
exact_1.2.3.5-result.txt -rw-r--r-- 2 bytes
exact_1.2.3.5.cmake -rw-r--r-- 44 bytes
exact_1.2.3.cmake -rw-r--r-- 42 bytes
exact_1.2.4-result.txt -rw-r--r-- 2 bytes
exact_1.2.4.cmake -rw-r--r-- 42 bytes
exact_1.2.cmake -rw-r--r-- 40 bytes
exact_1.3-result.txt -rw-r--r-- 2 bytes
exact_1.3.cmake -rw-r--r-- 40 bytes
exact_1.cmake -rw-r--r-- 38 bytes
exact_2-result.txt -rw-r--r-- 2 bytes
exact_2.cmake -rw-r--r-- 38 bytes

back to top