platform/upstream/ninja.git
12 years agocommand line supports multiple targets
Evan Martin [Thu, 22 Sep 2011 17:42:43 +0000 (10:42 -0700)]
command line supports multiple targets

12 years agomake options const
Evan Martin [Thu, 22 Sep 2011 17:38:56 +0000 (10:38 -0700)]
make options const

12 years agostylistic cleanups
Evan Martin [Thu, 22 Sep 2011 17:37:19 +0000 (10:37 -0700)]
stylistic cleanups

12 years agonote that target is optional in command-line help
Evan Martin [Thu, 22 Sep 2011 17:07:29 +0000 (10:07 -0700)]
note that target is optional in command-line help

12 years agodelete todo; I converted it into bugs on github
Evan Martin [Thu, 15 Sep 2011 23:54:59 +0000 (16:54 -0700)]
delete todo; I converted it into bugs on github

12 years agodelete .a files before adding to them with ar
Evan Martin [Wed, 14 Sep 2011 19:08:02 +0000 (12:08 -0700)]
delete .a files before adding to them with ar

ar doesn't have a mode to just rebuild the file from scratch, so delete
it manually.

Fixes issue #105.

12 years agoMerge pull request #106 from pcc/depfile-vector
Evan Martin [Wed, 14 Sep 2011 15:57:36 +0000 (08:57 -0700)]
Merge pull request #106 from pcc/depfile-vector

Allocate space in the inputs vector for the depfile implicit deps

12 years agoMerge pull request #107 from pcc/missing-phony
Evan Martin [Wed, 14 Sep 2011 15:55:46 +0000 (08:55 -0700)]
Merge pull request #107 from pcc/missing-phony

Consider missing phony targets with no dependencies out of date

12 years agoConsider missing phony targets with no dependencies out of date
Peter Collingbourne [Wed, 14 Sep 2011 00:32:15 +0000 (01:32 +0100)]
Consider missing phony targets with no dependencies out of date

Commit 639c8f0 ("don't mark phony edges dirty if none of their
inputs are dirty") modified the behaviour of the "phony" built-in
rule.  Previously, when the output file was missing, it was marked
as dirty.  After 639c8f0, it was always marked as clean unless one
of the dependencies was dirty.  The depfile mechanism uses the old
behaviour of "phony" to rebuild an object file if any of the headers
were missing.

Restore the old "phony" behaviour only for the case where the build
statement has no dependencies.  This is slightly inconsistent, but I
can't really see any other use case for an alias of nothing.  Also,
document this behaviour.

12 years agoModify the build tests to use the virtual file system
Peter Collingbourne [Sun, 11 Sep 2011 21:54:00 +0000 (22:54 +0100)]
Modify the build tests to use the virtual file system

12 years agoAllocate space in the inputs vector for the depfile implicit deps
Peter Collingbourne [Wed, 14 Sep 2011 00:32:09 +0000 (01:32 +0100)]
Allocate space in the inputs vector for the depfile implicit deps

This speeds up a no-op LLVM/Clang build by about 20ms.

12 years agogeneralize the pattern of hash_map<const char*, ...>, use in BuildLog
Evan Martin [Mon, 12 Sep 2011 18:44:12 +0000 (11:44 -0700)]
generalize the pattern of hash_map<const char*, ...>, use in BuildLog

Refactor the code in StatCache for use in BuildLog.  Now both use
hash tables where the keys are const char*.  Removes another 30ms
from Chrome no-op builds.

12 years agouse StringPiece for makefile deps
Evan Martin [Mon, 12 Sep 2011 17:17:11 +0000 (10:17 -0700)]
use StringPiece for makefile deps

Because of this, MakefileParser now returns pointers into the source
makefile string rather than allocating new strings.  Despite needing
to take the result and stuff it into a new string anyway to canonicalize
it, this takes another 50ms or so off the null Chrome build, likely
due to the vector used in MakefileParser changing to a type that doesn't
use any allocations.

(I also experimented with making the vector reserve an initial size but
didn't see any performance impact.)

12 years agoMerge pull request #104 from tfarina/ninja-test
Evan Martin [Mon, 12 Sep 2011 02:45:53 +0000 (19:45 -0700)]
Merge pull request #104 from tfarina/ninja-test

Split ninja_test.cc into state_test.cc and disk_interface_test.cc

12 years agoSplit ninja_test.cc into state_test.cc and disk_interface_test.cc
Thiago Farina [Sun, 11 Sep 2011 22:29:38 +0000 (19:29 -0300)]
Split ninja_test.cc into state_test.cc and disk_interface_test.cc

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoMerge pull request #103 from tfarina/struct
Evan Martin [Sun, 11 Sep 2011 04:32:06 +0000 (21:32 -0700)]
Merge pull request #103 from tfarina/struct

This is C++, there is no need to write 'struct' before the type when decl

12 years agoThis is C++, there is no need to write 'struct' before the type when declaring a...
Thiago Farina [Sat, 10 Sep 2011 20:37:01 +0000 (17:37 -0300)]
This is C++, there is no need to write 'struct' before the type when declaring a variable.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agochange main hash to char*; use pointers into files
Evan Martin [Sat, 10 Sep 2011 00:18:28 +0000 (17:18 -0700)]
change main hash to char*; use pointers into files

This has a small (20ms) effect on Chrome, but it will also be used
more as I remove more strings.

12 years agooptimize IsIdentChar
Evan Martin [Fri, 9 Sep 2011 22:52:36 +0000 (15:52 -0700)]
optimize IsIdentChar

Rather than nested tests, use a table.  Shaves 200ms off Chrome null startup.

12 years agofix "ignored return value of write" harder
Evan Martin [Fri, 9 Sep 2011 22:06:02 +0000 (15:06 -0700)]
fix "ignored return value of write" harder

12 years agoverify -k param is numeric
Evan Martin [Fri, 9 Sep 2011 21:09:25 +0000 (14:09 -0700)]
verify -k param is numeric

Fixes issue #85.

12 years agominor cleanups
Evan Martin [Fri, 9 Sep 2011 21:03:59 +0000 (14:03 -0700)]
minor cleanups

12 years agodon't mark phony edges dirty if none of their inputs are dirty
Evan Martin [Fri, 9 Sep 2011 20:48:27 +0000 (13:48 -0700)]
don't mark phony edges dirty if none of their inputs are dirty

Because the output file is always missing, we'd consider a phony edge
dirty even when there wasn't any work to do.  Most importantly, that
would mean we wouldn't print "nothing to do" in the common case of
everything being up to date when building an alias.

12 years agoMerge pull request #101 from tfarina/build-config-reference
Evan Martin [Fri, 9 Sep 2011 18:38:37 +0000 (11:38 -0700)]
Merge pull request #101 from tfarina/build-config-reference

Make Cleaner::config_ a reference-to-const instead of copying the value.

12 years agoMerge pull request #95 from qhuo/depfile-for-command-with-multiple-outputs
Evan Martin [Fri, 9 Sep 2011 18:37:23 +0000 (11:37 -0700)]
Merge pull request #95 from qhuo/depfile-for-command-with-multiple-outputs

Add depfile support to build command with multiple outputs (Fixes: #61)

12 years agoMake Cleaner::config_ a reference-to-const instead of copying the value.
Thiago Farina [Fri, 9 Sep 2011 17:26:59 +0000 (14:26 -0300)]
Make Cleaner::config_ a reference-to-const instead of copying the value.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agolink gtest code with -lpthread
Evan Martin [Fri, 9 Sep 2011 15:53:08 +0000 (08:53 -0700)]
link gtest code with -lpthread

I broke this in a refactoring.

12 years agoMerge pull request #99 from tfarina/eval-env-test
Evan Martin [Fri, 9 Sep 2011 14:43:55 +0000 (07:43 -0700)]
Merge pull request #99 from tfarina/eval-env-test

Move EvalString tests to eval_env_test.cc

12 years agoMove EvalString tests to eval_env_test.cc
Thiago Farina [Fri, 9 Sep 2011 02:51:53 +0000 (23:51 -0300)]
Move EvalString tests to eval_env_test.cc

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoMerge pull request #98 from tfarina/fix-win-build
Evan Martin [Thu, 8 Sep 2011 02:51:29 +0000 (19:51 -0700)]
Merge pull request #98 from tfarina/fix-win-build

Fix windows build by moving mkdtemp() implementation from ninja_test.cc t

12 years agoMerge branch 'master' of github.com:martine/ninja
Evan Martin [Thu, 8 Sep 2011 01:48:41 +0000 (18:48 -0700)]
Merge branch 'master' of github.com:martine/ninja

Conflicts:
configure.py

12 years agofix redundant manifest rebuild
Evan Martin [Thu, 8 Sep 2011 01:33:10 +0000 (18:33 -0700)]
fix redundant manifest rebuild

Don't rebuild the manifest when it's already up to date.
The underlying problem was that Builder::Build has a confusing API;
split the API so it's more clear for callers what the return values
mean.

12 years agoFix windows build by moving mkdtemp() implementation from ninja_test.cc to disk_inter...
Thiago Farina [Thu, 8 Sep 2011 00:23:33 +0000 (21:23 -0300)]
Fix windows build by moving mkdtemp() implementation from ninja_test.cc to disk_interface_test.cc

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoallow --with-gtest flag to use unpacked gtest dir
Evan Martin [Wed, 7 Sep 2011 23:47:57 +0000 (16:47 -0700)]
allow --with-gtest flag to use unpacked gtest dir

Useful for building on Macs.

12 years agoMerge pull request #96 from tfarina/disk-interface-test
Evan Martin [Wed, 7 Sep 2011 23:10:50 +0000 (16:10 -0700)]
Merge pull request #96 from tfarina/disk-interface-test

Move DiskInterfaceTest into its own source file.

12 years agoMove DiskInterfaceTest into its own source file.
Thiago Farina [Wed, 7 Sep 2011 17:40:41 +0000 (14:40 -0300)]
Move DiskInterfaceTest into its own source file.

TEST=ninja_test --gtest_filter=DiskInterface*

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoMove a passing test from Errors to MultipleOutputs
Qingning Huo [Tue, 6 Sep 2011 21:19:45 +0000 (22:19 +0100)]
Move a passing test from Errors to MultipleOutputs

12 years agopreserve configure.py params across re-runs
Evan Martin [Tue, 6 Sep 2011 21:04:31 +0000 (14:04 -0700)]
preserve configure.py params across re-runs

12 years agoMerge pull request #91 from pcc/reload-manifest
Evan Martin [Tue, 6 Sep 2011 21:01:17 +0000 (14:01 -0700)]
Merge pull request #91 from pcc/reload-manifest

Support for rebuilding and reloading manifest files

12 years agobuild only the main binary by default
Evan Martin [Tue, 6 Sep 2011 20:00:38 +0000 (13:00 -0700)]
build only the main binary by default

12 years agoadd 'default' keyword to python module
Evan Martin [Tue, 6 Sep 2011 19:59:47 +0000 (12:59 -0700)]
add 'default' keyword to python module

12 years agodon't use "all" in the phony example, because we now have "default"
Evan Martin [Tue, 6 Sep 2011 19:52:22 +0000 (12:52 -0700)]
don't use "all" in the phony example, because we now have "default"

12 years agolink to github in docs
Evan Martin [Tue, 6 Sep 2011 19:51:33 +0000 (12:51 -0700)]
link to github in docs

12 years agoAdd depfile support to build command with multiple outputs (Fixes: #61)
Qingning Huo [Tue, 6 Sep 2011 19:46:32 +0000 (20:46 +0100)]
Add depfile support to build command with multiple outputs (Fixes: #61)

parsers.cpp: allow depfile used at build command with multiple outputs.
graph.cpp: allow depfile used at build command with multiple outputs.
parsers_test.cpp: make the test pass.

As before, the depfile itself can only mention one target, which must
be the first of a build command with multiple outpus.

[There is really no need to mention all the output in the depfile,
because all targets should depend on exactly the same files anyway,
because these targets are built by a single build command.]

12 years agoupdate docs on other build system integration with recent news
Evan Martin [Tue, 6 Sep 2011 19:11:08 +0000 (12:11 -0700)]
update docs on other build system integration with recent news

12 years agomake --profile take an argument to use either gmon or google-pprof
Evan Martin [Tue, 6 Sep 2011 18:51:50 +0000 (11:51 -0700)]
make --profile take an argument to use either gmon or google-pprof

12 years agoMerge pull request #94 from qhuo/named-pipe
Evan Martin [Sun, 4 Sep 2011 15:05:48 +0000 (08:05 -0700)]
Merge pull request #94 from qhuo/named-pipe

subprocess-win32.cc: change named pipe names to contain process ID and subprocess object address.

12 years agosubprocess-win32.cc: change named pipe names to contain process ID and subprocess...
Qingning Huo [Sun, 4 Sep 2011 10:29:02 +0000 (11:29 +0100)]
subprocess-win32.cc: change named pipe names to contain process ID and subprocess object address.

12 years agoSupport for rebuilding and reloading manifest files
Peter Collingbourne [Sat, 27 Aug 2011 01:25:57 +0000 (02:25 +0100)]
Support for rebuilding and reloading manifest files

This introduces support for rebuilding the top-level manifest file
using a provided build statement, and reloading it before building
the user-requested targets.

12 years agoMerge pull request #89 from tfarina/state
Evan Martin [Sat, 3 Sep 2011 20:38:44 +0000 (13:38 -0700)]
Merge pull request #89 from tfarina/state

Factor out State struct from ninja_jumble.cc into its header/source files

12 years agoFactor out State struct from ninja_jumble.cc into its header/source files.
Thiago Farina [Fri, 26 Aug 2011 23:58:28 +0000 (20:58 -0300)]
Factor out State struct from ninja_jumble.cc into its header/source files.

This was a TODO in src/ninja_jumble.cc. Now this task is completed.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoMerge pull request #92 from pcc/fix-warning
Evan Martin [Sat, 3 Sep 2011 15:52:18 +0000 (08:52 -0700)]
Merge pull request #92 from pcc/fix-warning

Fix a Clang self-assign warning by casting result to void

12 years agoMerge pull request #90 from pcc/default-target-statements
Evan Martin [Sat, 3 Sep 2011 15:37:03 +0000 (08:37 -0700)]
Merge pull request #90 from pcc/default-target-statements

Implement default target statements

12 years agoFix a Clang self-assign warning by casting result to void
Peter Collingbourne [Wed, 31 Aug 2011 17:55:38 +0000 (18:55 +0100)]
Fix a Clang self-assign warning by casting result to void

12 years agoImplement default target statements
Peter Collingbourne [Wed, 31 Aug 2011 03:55:35 +0000 (04:55 +0100)]
Implement default target statements

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).

12 years agoninja_syntax.py: add include and subninja
Evan Martin [Mon, 29 Aug 2011 18:19:22 +0000 (11:19 -0700)]
ninja_syntax.py: add include and subninja

12 years agoMerge pull request #87 from tfarina/fix-ninja-compilation
Evan Martin [Fri, 26 Aug 2011 20:40:45 +0000 (13:40 -0700)]
Merge pull request #87 from tfarina/fix-ninja-compilation

Fix ninja compilation by including a missing disk_interface.h.

12 years agoFix ninja compilation by including a missing disk_interface.h.
Thiago Farina [Thu, 25 Aug 2011 20:00:38 +0000 (17:00 -0300)]
Fix ninja compilation by including a missing disk_interface.h.

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>
12 years agoMerge pull request #86 from tfarina/real-disk-interface
Evan Martin [Thu, 25 Aug 2011 15:02:51 +0000 (08:02 -0700)]
Merge pull request #86 from tfarina/real-disk-interface

Move RealDiskInterface class to disk_interface.h.

12 years agoMove RealDiskInterface class to disk_interface.h.
Thiago Farina [Wed, 24 Aug 2011 00:33:41 +0000 (21:33 -0300)]
Move RealDiskInterface class to disk_interface.h.

This is a TODO in src/ninja_jumble.cc

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agosemantic change: allow reaching into parent directories in paths
Evan Martin [Wed, 24 Aug 2011 22:49:41 +0000 (15:49 -0700)]
semantic change: allow reaching into parent directories in paths

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.

12 years agoMerge pull request #82 from tfarina/disk-interface
Evan Martin [Tue, 23 Aug 2011 16:17:23 +0000 (09:17 -0700)]
Merge pull request #82 from tfarina/disk-interface

Factor out DiskInterface class into its own source/header files.

12 years agoMerge pull request #83 from rlarocque2/master
Evan Martin [Thu, 18 Aug 2011 17:38:45 +0000 (10:38 -0700)]
Merge pull request #83 from rlarocque2/master

Update configure.py following ninja.py rename

12 years agoUpdate configure.py for ninja module rename
Richard Larocque [Wed, 17 Aug 2011 18:32:39 +0000 (11:32 -0700)]
Update configure.py for ninja module rename

12 years agorename ninja module to ninja_syntax
Evan Martin [Tue, 9 Aug 2011 20:38:43 +0000 (13:38 -0700)]
rename ninja module to ninja_syntax

12 years agoadd escaping function to python module
Evan Martin [Tue, 9 Aug 2011 20:21:21 +0000 (13:21 -0700)]
add escaping function to python module

12 years agoFactor out DiskInterface class into its own source/header files.
Thiago Farina [Wed, 10 Aug 2011 12:47:32 +0000 (09:47 -0300)]
Factor out DiskInterface class into its own source/header files.

This is a TODO in src/ninja_jumble.cc

Signed-off-by: Thiago Farina <tfarina@chromium.org>
12 years agoMerge pull request #80 from tfarina/master
Evan Martin [Wed, 10 Aug 2011 03:31:45 +0000 (20:31 -0700)]
Merge pull request #80 from tfarina/master

fix trivial style issue.

12 years agoFix trivial style issues with Cleaner class.
Thiago Farina [Tue, 9 Aug 2011 23:07:50 +0000 (20:07 -0300)]
Fix trivial style issues with Cleaner class.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
13 years agofix double-indenting
Evan Martin [Wed, 27 Jul 2011 17:06:52 +0000 (10:06 -0700)]
fix double-indenting

13 years agoninja.py: fix the new test and pass the test
Evan Martin [Wed, 27 Jul 2011 16:59:22 +0000 (09:59 -0700)]
ninja.py: fix the new test and pass the test

From a patch from Elazar Leibovich <elazarl@gmail.com>.

13 years agounit test for line-wrapping in ninja.py
Evan Martin [Wed, 27 Jul 2011 16:35:50 +0000 (09:35 -0700)]
unit test for line-wrapping in ninja.py

From a patch from Elazar Leibovich <elazarl@gmail.com>.

13 years agodon't track line/column until you encounter an error, then re-parse
Evan Martin [Tue, 26 Jul 2011 00:51:47 +0000 (17:51 -0700)]
don't track line/column until you encounter an error, then re-parse

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.

13 years agoadd a --debug option to configure
Evan Martin [Mon, 25 Jul 2011 18:22:33 +0000 (11:22 -0700)]
add a --debug option to configure

13 years agodon't leak the build_log file descriptor into subprocesses
Evan Martin [Thu, 30 Jun 2011 17:31:25 +0000 (10:31 -0700)]
don't leak the build_log file descriptor into subprocesses

Closes issue #74.

13 years agoclean: don't delete phony targets
Evan Martin [Thu, 30 Jun 2011 17:20:54 +0000 (10:20 -0700)]
clean: don't delete phony targets

Based on a patch from John Birtley.

13 years agoMerge pull request #73 from qhuo/setvbuf
Evan Martin [Thu, 30 Jun 2011 17:17:20 +0000 (10:17 -0700)]
Merge pull request #73 from qhuo/setvbuf

Set stdout to line-buffered.

13 years agoSet stdout to line-buffered.
Qingning Huo [Tue, 28 Jun 2011 18:56:39 +0000 (19:56 +0100)]
Set stdout to line-buffered.

13 years agoMerge pull request #71 from jbirtley/master
Evan Martin [Tue, 28 Jun 2011 17:43:57 +0000 (10:43 -0700)]
Merge pull request #71 from jbirtley/master

Fix for long command lines in Win32

13 years agoFix for win32 long command lines:
U-MATHLETE\John [Sun, 26 Jun 2011 11:25:45 +0000 (12:25 +0100)]
Fix for win32 long command lines:

    - remove 'cmd /c' prepend from SubProcess::Start()

    - fix the subprocess tests to prepend 'cmd /c' explicitly

13 years agoFix for 'pipe has ended' errors on Win32 distributed builds
Evan Martin [Sat, 25 Jun 2011 20:16:43 +0000 (13:16 -0700)]
Fix for 'pipe has ended' errors on Win32 distributed builds

Patch from John Birtley.

13 years agoMerge pull request #69 from Roorback/master
Evan Martin [Sat, 25 Jun 2011 20:02:58 +0000 (13:02 -0700)]
Merge pull request #69 from Roorback/master

Path to python interpreter (on FreeBSD)

13 years agoMerge pull request #70 from scottfranklin/master
Evan Martin [Sat, 25 Jun 2011 19:56:23 +0000 (12:56 -0700)]
Merge pull request #70 from scottfranklin/master

Add tab-completion for zsh.

13 years agoadd docs on variable expansion
Evan Martin [Sat, 25 Jun 2011 19:37:39 +0000 (12:37 -0700)]
add docs on variable expansion

13 years agomention python module in the docs
Evan Martin [Sat, 25 Jun 2011 19:15:18 +0000 (12:15 -0700)]
mention python module in the docs

13 years agoAdding tab-completion function for zsh.
Scott Franklin [Thu, 23 Jun 2011 01:40:12 +0000 (18:40 -0700)]
Adding tab-completion function for zsh.

13 years agoRespect $CXX, fallback to 'g++' in bootstrap.sh
Grzegorz Blach [Tue, 21 Jun 2011 19:07:07 +0000 (21:07 +0200)]
Respect $CXX, fallback to 'g++' in bootstrap.sh

13 years agouse /usr/bin/env to find python interpreter
Grzegorz Blach [Mon, 20 Jun 2011 20:35:34 +0000 (22:35 +0200)]
use /usr/bin/env to find python interpreter

13 years agoMerge pull request #62 from qhuo/multiple-outputs-fix
Evan Martin [Thu, 16 Jun 2011 01:12:42 +0000 (18:12 -0700)]
Merge pull request #62 from qhuo/multiple-outputs-fix

Add a test for the multiple outputs fix

13 years agoAdd a test for the multiple outputs fix
Qingning Huo [Tue, 14 Jun 2011 21:54:30 +0000 (22:54 +0100)]
Add a test for the multiple outputs fix

13 years agoMerge pull request #59 from qhuo/multiple-outputs-fix
Evan Martin [Tue, 14 Jun 2011 02:28:02 +0000 (19:28 -0700)]
Merge pull request #59 from qhuo/multiple-outputs-fix

Multiple outputs fix: make $out include all outptus

13 years agosrc/graph.cc: fix EdgeEnv::LookupVariable
Qingning Huo [Fri, 10 Jun 2011 23:13:33 +0000 (00:13 +0100)]
src/graph.cc: fix EdgeEnv::LookupVariable

Make it return the correct value for "out" when there are multiple outputs.
It used to return only the first target file.

13 years agobuild_log_test.cc: add 3 #include for stat(2) on Linux
Qingning Huo [Fri, 10 Jun 2011 22:37:31 +0000 (23:37 +0100)]
build_log_test.cc: add 3 #include for stat(2) on Linux

13 years agoremove +x bit from source
Evan Martin [Fri, 3 Jun 2011 18:42:58 +0000 (11:42 -0700)]
remove +x bit from source

13 years agoOn Windows, ninja didn't create needed paths first
Philip Craig [Sun, 29 May 2011 18:24:46 +0000 (19:24 +0100)]
On Windows, ninja didn't create needed paths first

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

13 years agoMerge branch 'master' of github.com:martine/ninja
Evan Martin [Tue, 31 May 2011 16:42:50 +0000 (09:42 -0700)]
Merge branch 'master' of github.com:martine/ninja

13 years agoninja: Split StatCache struct into its own header file.
Thiago Farina [Tue, 31 May 2011 16:36:23 +0000 (13:36 -0300)]
ninja: Split StatCache struct into its own header file.

Note: This is a TODO in ninja_jumble.cc.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
13 years agoMerge pull request #51 from philipcraig/master
Evan Martin [Sun, 29 May 2011 17:20:56 +0000 (10:20 -0700)]
Merge pull request #51 from philipcraig/master

mingw ninja_test links and passes. (as do linux and native VS2010)

13 years agomingw ninja_test links and passes. (as do linux and native VS2010)
Philip Craig [Sun, 29 May 2011 08:18:49 +0000 (09:18 +0100)]
mingw ninja_test links and passes. (as do linux and native VS2010)

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

13 years agoMerge pull request #50 from philipcraig/master
Evan Martin [Sat, 28 May 2011 19:07:21 +0000 (12:07 -0700)]
Merge pull request #50 from philipcraig/master

Fixes to let native builds on Visual Studio 2010 build, pass tests