summaryrefslogtreecommitdiffstats
path: root/src/graph.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge pull request #86 from tfarina/real-disk-interfaceEvan Martin2011-08-251-0/+1
|\ | | | | Move RealDiskInterface class to disk_interface.h.
| * Move RealDiskInterface class to disk_interface.h.Thiago Farina2011-08-251-0/+1
| | | | | | | | | | | | This is a TODO in src/ninja_jumble.cc Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | semantic change: allow reaching into parent directories in pathsEvan Martin2011-08-241-2/+1
|/ | | | | | | | | | | This allows generating build files in a subdirectory of your source tree. - Change CanonicalizePath to accept this. - CanonicalizePath no longer has an error condition, so change it to a void function. I profiled the result against Chrome and it might be ~100ms slower, but that might just be Chrome's size working against me. In any case I think there are lower-hanging performance fruit elsewhere.
* src/graph.cc: fix EdgeEnv::LookupVariableQingning Huo2011-06-101-1/+6
| | | | | Make it return the correct value for "out" when there are multiple outputs. It used to return only the first target file.
* make the phony depfile edge order-onlyEvan Martin2011-05-171-0/+1
| | | | | I'm not sure this is semantically different but it's consistent with how I think about these phony edges.
* SEMANTIC CHANGE: implicit inputs are now required to existEvan Martin2011-05-131-3/+10
| | | | | | Edges found through depfiles are special: they get an extra empty "phony" rule. (This is identical to the way you hack this with Makefiles.)
* add doxygen-compatibile comments to most classesEvan Martin2011-04-291-0/+1
|
* Move CanonicalizePath into util.h so it can be shared by the other modules.Thiago Farina2011-04-151-53/+1
| | | | | | Also add util_test.cc and move the CanonicalizePathTest into there. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* files that have both implicit and explicit edges should be implicitEvan Martin2011-03-071-11/+3
| | | | | | | This is just deleting some code that was written in anticipation of staying memory-resident; when loading a depfile, we don't need to attempt to update existing entries in the dependency list, we just need to blindly add them.
* canonicalize paths loaded from depfilesEvan Martin2011-03-071-1/+58
| | | | | | | | | If a C file #includes "../foo.cc", then gcc will emit paths like "bar/../foo.cc" into the dependency file; canonicalize these when we load the file. Add a test module for testing the graph dirty recomputation directly, without all the build classes around it.
* add copyrightsEvan Martin2011-02-061-0/+14
|
* cleanup phony testingEvan Martin2011-02-051-0/+3
|
* include path when printing a makefile parse errorEvan Martin2011-02-041-1/+4
|
* remove bottom-up dirtyingEvan Martin2011-01-081-32/+0
|
* split out graph into its own headerEvan Martin2011-01-081-0/+201