summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #94 from qhuo/named-pipeEvan Martin2011-09-041-2/+2
|\ | | | | subprocess-win32.cc: change named pipe names to contain process ID and subprocess object address.
| * subprocess-win32.cc: change named pipe names to contain process ID and ↵Qingning Huo2011-09-041-2/+2
| | | | | | | | subprocess object address.
* | Factor out State struct from ninja_jumble.cc into its header/source files.Thiago Farina2011-09-0312-45/+38
|/ | | | | | This was a TODO in src/ninja_jumble.cc. Now this task is completed. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Merge pull request #92 from pcc/fix-warningEvan Martin2011-09-031-2/+2
|\ | | | | Fix a Clang self-assign warning by casting result to void
| * Fix a Clang self-assign warning by casting result to voidPeter Collingbourne2011-09-011-2/+2
| |
* | Implement default target statementsPeter Collingbourne2011-08-316-2/+111
|/ | | | | | This introduces a new directive, the default target statement, which may be used to control the list of targets built by default (i.e. if no target is named on the command line).
* Fix ninja compilation by including a missing disk_interface.h.Thiago Farina2011-08-251-0/+1
| | | | | | | When running ./ninja the compilation fails because test.h uses DiskInterface but doesn't include disk_interface.h to get the declaration. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Merge pull request #86 from tfarina/real-disk-interfaceEvan Martin2011-08-257-78/+90
|\ | | | | Move RealDiskInterface class to disk_interface.h.
| * Move RealDiskInterface class to disk_interface.h.Thiago Farina2011-08-257-78/+90
| | | | | | | | | | | | 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-246-104/+76
|/ | | | | | | | | | | 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.
* Factor out DiskInterface class into its own source/header files.Thiago Farina2011-08-104-59/+101
| | | | | | This is a TODO in src/ninja_jumble.cc Signed-off-by: Thiago Farina <tfarina@chromium.org>
* Fix trivial style issues with Cleaner class.Thiago Farina2011-08-091-5/+3
| | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* don't track line/column until you encounter an error, then re-parseEvan Martin2011-07-262-40/+31
| | | | | | This speeds up the common case (where you don't need a line number) at the small expense of the uncommon case (for error messages, you do need a line number). And it's less code.
* don't leak the build_log file descriptor into subprocessesEvan Martin2011-06-301-0/+17
| | | | Closes issue #74.
* clean: don't delete phony targetsEvan Martin2011-06-301-4/+7
| | | | Based on a patch from John Birtley.
* Set stdout to line-buffered.Qingning Huo2011-06-281-0/+2
|
* Fix for win32 long command lines:U-MATHLETE\John2011-06-262-6/+7
| | | | | | - remove 'cmd /c' prepend from SubProcess::Start() - fix the subprocess tests to prepend 'cmd /c' explicitly
* Fix for 'pipe has ended' errors on Win32 distributed buildsEvan Martin2011-06-251-0/+5
| | | | Patch from John Birtley.
* Add a test for the multiple outputs fixQingning Huo2011-06-141-1/+19
|
* 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.
* build_log_test.cc: add 3 #include for stat(2) on LinuxQingning Huo2011-06-101-0/+6
|
* remove +x bit from sourceEvan Martin2011-06-037-0/+0
|
* On Windows, ninja didn't create needed paths firstPhilip Craig2011-06-022-4/+20
| | | | | | | | | | | | | Now it does. Still works as it should on linux too. The canonical example that now works on Windows is: builddir = build rule copy command = copy $in $out build $builddir\fred\test.out: copy test.in
* Merge branch 'master' of github.com:martine/ninjaEvan Martin2011-05-316-22/+28
|\
| * mingw ninja_test links and passes. (as do linux and native VS2010)Philip Craig2011-05-292-22/+10
| | | | | | | | | | | | Use chsize instead of truncate for mingw compatibility SubprocessTest uses DoWork to force Subprocesses to execute Drop GoodCommandStdOut test as it is tested in SetWithSingle
| * Tests now build on a native Windows build (tested with VS2010)Philip Craig2011-05-285-2/+20
| | | | | | | | | | All tests except SubProcess pass on a native Windows build Tests continue not to build on a platform=mingw build
* | ninja: Split StatCache struct into its own header file.Thiago Farina2011-05-314-36/+78
| | | | | | | | | | | | Note: This is a TODO in ninja_jumble.cc. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | use 0 for NULL in test to silence gcc 4.5 warningEvan Martin2011-05-271-1/+1
|/
* expand $$ as $Evan Martin2011-05-273-0/+24
|
* switch to $ as the line continuation charEvan Martin2011-05-273-23/+44
| | | | | This means that backslashes are passed through without interpretation, allowing us to support Windows paths without worrying about escaping.
* perftest: print summary info at endEvan Martin2011-05-271-1/+20
|
* add more test coverage for makefile parsingEvan Martin2011-05-251-0/+13
|
* add a test program for evaluating depfile parse speedEvan Martin2011-05-251-0/+57
|
* move GetTimeMillis to utilEvan Martin2011-05-243-15/+24
|
* move ReadFile into utilEvan Martin2011-05-244-24/+27
|
* refactor let parsing, passing another testEvan Martin2011-05-243-28/+46
|
* refactorEvan Martin2011-05-231-7/+8
|
* show correct location for unexpected var errorEvan Martin2011-05-232-3/+4
|
* refactor parser, check in some failing testsEvan Martin2011-05-233-9/+51
|
* merge two line continuation codepathsEvan Martin2011-05-221-14/+11
|
* include filename in subninja load err messageEvan Martin2011-05-222-5/+15
|
* don't recompact log often for small programsEvan Martin2011-05-221-4/+8
|
* 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.
* don't mangle absolute paths in the canonicalizerEvan Martin2011-05-172-1/+9
| | | | | We frequently do use absolute paths when depfiles refer to e.g. /usr/include/stdio.h.
* add extra check for no error in build testEvan Martin2011-05-171-0/+1
|
* simplify CommandRunner, simplifying users tooEvan Martin2011-05-173-37/+13
| | | | | After much staring at this I think I found the more clear way to express what it's doing.
* rearrange build loop, pass new testEvan Martin2011-05-172-26/+58
|
* check in failing test that hits the "stuck" stateEvan Martin2011-05-171-2/+22
|
* move various doc files out of top-level directoryEvan Martin2011-05-141-0/+92
|
* show started, not finished, edges in progressEvan Martin2011-05-141-3/+4
| | | | | | In verbose mode (where we don't overprint) it's confusing to show [0/XX] for the first N commands we start. In smart terminal mode, I can't really tell the difference.