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
AliasTarget
Architecture
ArgumentExpansion
Assembler
BuildDepends
BundleGeneratorTest
BundleTest
BundleUtilities
CFBundleTest
CMakeCommands
CMakeLib
CMakeOnly
CMakeTestAllGenerators
CMakeTestMultipleConfigures
CMakeTests
COnly
CPackComponents
CPackComponentsDEB
CPackComponentsForAll
CPackComponentsPrefix
CPackTestAllGenerators
CPackWiXGenerator
CTestBuildCommandProjectInSubdir
CTestConfig
CTestCoverageCollectGCOV
CTestLimitDashJ
CTestScriptMode
CTestTest
CTestTest2
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestCostSerial
CTestTestCrash
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime
CTestTestSubdir
CTestTestTimeout
CTestTestUpload
CTestTestVerboseOutput
CTestTestZeroTimeout
CheckCompilerRelatedVariables
CoberturaCoverage
CommandLineTest
CompatibleInterface
CompileCommandOutput
CompileDefinitions
CompileFeatures
CompileOptions
Complex
ComplexOneConfig
ConfigSources
Contracts
CrossCompile
CustComDepend
CustomCommand
CustomCommandByproducts
CustomCommandWorkingDirectory
CxxDialect
CxxOnly
CxxSubdirC
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport
ExternalOBJ
ExternalProject
ExternalProjectLocal
ExternalProjectSourceSubdir
ExternalProjectSubdir
ExternalProjectUpdate
FindBZip2
FindBoost
FindGSL
FindGTK2
FindGTest
FindICU
FindJsonCpp
FindLTTngUST
FindLibUV
FindMatlab
FindModulesExecuteAll
FindOpenCL
FindOpenSSL
FindPNG
FindPackageModeMakefileTest
FindPackageTest
FindTIFF
FindThreads
FindVulkan
FindXalanC
FindXercesC
ForceInclude
Fortran
FortranC
FortranModules
FortranOnly
Framework
FunctionTest
GeneratorExpression
GhsMulti
GhsMultiDuplicateSourceFilenames
IPO
IncludeDirectories
InterfaceLibrary
InterfaceLinkLibraries
JCTest
JacocoCoverage
Java
JavaExportImport
JavaJavah
JavascriptCoverage
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand
LoadCommandOneConfig
MFC
MSManifest
MacRuntimePath
MacroTest
MakeClean
MathTest
MissingInstall
MissingSourceFile
Module
ModuleDefinition
MumpsCoverage
NewlineArgs
ObjC++
ObjectLibrary
OutDir
OutOfBinary
OutOfSource
PDBDirectoryAndName
PerConfig
Plugin
Policy0002
PolicyScope
PositionIndependentTargets
PreOrder
PrecompiledHeader
Preprocess
Properties
PythonCoverage
Qt4And5Automoc
Qt4Deploy
Qt4Targets
QtAutoUicInterface
QtAutogen
QtAutomocNoQt
ReturnTest
RunCMake
RuntimePath
SBCS
SameName
Server
SetLang
Simple
SimpleCOnly
SimpleExclude
SimpleInstall
SimpleInstallS2
SourceFileProperty
SourceGroups
SourcesProperty
StagingPrefix
StringFileTest
SubDir
SubDirSpaces
SubProject
SwiftMix
SwiftOnly
SwigTest
SystemInformation
TargetName
TestDriver
Testing
TestsWorkingDirectory
TryCompile
Tutorial
Unset
VSExcludeFromDefaultBuild
VSExternalInclude
VSGNUFortran
VSMASM
VSMidl
VSNsightTegra
VSProjectInSubdir
VSResource
VSResourceNinjaForceRSP
VSWinStorePhone
VSWindowsFormsResx
VSXaml
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
Visibility
WarnUnusedCliUnused
Wrapping
X11
XCTest
iOSNavApp
.NoDartCoverage -rw-r--r-- 39 bytes
BootstrapTest.cmake -rw-r--r-- 258 bytes
CMakeBuildTest.cmake.in -rw-r--r-- 2.0 KB
CMakeCopyright.cmake -rw-r--r-- 959 bytes
CMakeInstall.cmake -rw-r--r-- 1.2 KB
CMakeLists.txt -rw-r--r-- 131.9 KB
CTestUpdateBZR.cmake.in -rw-r--r-- 4.6 KB
CTestUpdateCVS.cmake.in -rw-r--r-- 5.7 KB
CTestUpdateCommon.cmake -rw-r--r-- 10.3 KB
CTestUpdateGIT.cmake.in -rw-r--r-- 10.7 KB
CTestUpdateGIT.sh.in -rwxr-xr-x 135 bytes
CTestUpdateHG.cmake.in -rw-r--r-- 5.4 KB
CTestUpdateP4.cmake.in -rw-r--r-- 7.6 KB
CTestUpdateSVN.cmake.in -rw-r--r-- 5.3 KB
CheckFortran.cmake -rw-r--r-- 2.0 KB
EnforceConfig.cmake.in -rw-r--r-- 883 bytes
README -rw-r--r-- 1.9 KB
bootstrap.bat.in -rw-r--r-- 47 bytes
test_clean.cmake.in -rw-r--r-- 81 bytes

README

back to top