platform/upstream/ninja.git
10 years agoGet rid of unused import
Chris Drake [Mon, 5 May 2014 01:35:28 +0000 (18:35 -0700)]
Get rid of unused import

10 years agoUse consistent indentation conventions
Chris Drake [Mon, 5 May 2014 01:34:55 +0000 (18:34 -0700)]
Use consistent indentation conventions

10 years agoMerge pull request #753 from nico/nlacc
Nico Weber [Thu, 1 May 2014 15:50:21 +0000 (08:50 -0700)]
Merge pull request #753 from nico/nlacc

Accept \r\n line endings in depfiles.

10 years agoAccept \r\n line endings in depfiles.
Nico Weber [Thu, 1 May 2014 03:46:12 +0000 (20:46 -0700)]
Accept \r\n line endings in depfiles.

Fixes #752.

10 years agoMerge pull request #748 from nocnokneo/bash-completion-for-f-and-C
Nico Weber [Wed, 30 Apr 2014 19:10:54 +0000 (12:10 -0700)]
Merge pull request #748 from nocnokneo/bash-completion-for-f-and-C

Support completion of arguments to -f and -C options

10 years agoFix getopts barfing over the terminal when trying to complete -f and -C
Taylor Braun-Jones [Sun, 27 Apr 2014 22:31:40 +0000 (18:31 -0400)]
Fix getopts barfing over the terminal when trying to complete -f and -C

Note that this is only applicable for when bash_completion is
unavailable.

10 years agoSupport completion of arguments to -f and -C options
Taylor Braun-Jones [Fri, 25 Apr 2014 18:20:42 +0000 (14:20 -0400)]
Support completion of arguments to -f and -C options

Note: This is only available for bash_completion users.

10 years agoMerge pull request #750 from nico/perfwin
Nico Weber [Sun, 27 Apr 2014 19:57:56 +0000 (12:57 -0700)]
Merge pull request #750 from nico/perfwin

Make manifest_parser_perftest build on Windows.

10 years agoMake manifest_parser_perftest build on Windows.
Nico Weber [Sun, 27 Apr 2014 19:57:25 +0000 (12:57 -0700)]
Make manifest_parser_perftest build on Windows.

10 years agoMerge pull request #747 from nocnokneo/master
Nico Weber [Fri, 25 Apr 2014 21:06:03 +0000 (14:06 -0700)]
Merge pull request #747 from nocnokneo/master

Fix bash-completion support for -C option to expand tilde

10 years agoStyle: Fix inconsistent indentation
Taylor Braun-Jones [Fri, 25 Apr 2014 17:59:53 +0000 (13:59 -0400)]
Style: Fix inconsistent indentation

10 years agoFix bash-completion support for -C option to expand tilde
Taylor Braun-Jones [Fri, 25 Apr 2014 17:50:09 +0000 (13:50 -0400)]
Fix bash-completion support for -C option to expand tilde

10 years agoMerge pull request #714 from pcc/console-pool
Nico Weber [Thu, 17 Apr 2014 18:46:21 +0000 (11:46 -0700)]
Merge pull request #714 from pcc/console-pool

Introduce the "console" pool

10 years agoMerge pull request #715 from nico/lazyenv
Nico Weber [Thu, 17 Apr 2014 05:28:53 +0000 (22:28 -0700)]
Merge pull request #715 from nico/lazyenv

Allocate per-edge BindingEnvs lazily.

10 years agoMerge pull request #742 from nico/maniperf
Nico Weber [Thu, 17 Apr 2014 05:17:52 +0000 (22:17 -0700)]
Merge pull request #742 from nico/maniperf

Add a manifest parsing perftest.

10 years agoManifest perftest: Try to make it build on Linux.
Nico Weber [Thu, 17 Apr 2014 05:15:09 +0000 (22:15 -0700)]
Manifest perftest: Try to make it build on Linux.

10 years agoManifest perftest: Pull manifest parsing into own function.
Nico Weber [Thu, 17 Apr 2014 05:12:30 +0000 (22:12 -0700)]
Manifest perftest: Pull manifest parsing into own function.

10 years agoAdd manifest_parser_perftest to .gitignore.
Nico Weber [Thu, 17 Apr 2014 05:06:34 +0000 (22:06 -0700)]
Add manifest_parser_perftest to .gitignore.

10 years agoManifest perftest: Also measure command evaluation time.
Nico Weber [Thu, 17 Apr 2014 05:05:32 +0000 (22:05 -0700)]
Manifest perftest: Also measure command evaluation time.

10 years agoAdd a simple manifest parsing perftest.
Nico Weber [Thu, 17 Apr 2014 04:56:49 +0000 (21:56 -0700)]
Add a simple manifest parsing perftest.

10 years agoMerge pull request #741 from nicolasdespres/propagate-file-rename-to-gitignore
Nico Weber [Wed, 16 Apr 2014 17:02:26 +0000 (10:02 -0700)]
Merge pull request #741 from nicolasdespres/propagate-file-rename-to-gitignore

Propagate file rename to gitignore.

10 years agoPropagate file rename to gitignore.
Nicolas Despres [Wed, 16 Apr 2014 06:24:38 +0000 (08:24 +0200)]
Propagate file rename to gitignore.

This was introduced by 68a4bb27d1a747b240ea68cd320a51dbd261ed14.

10 years agoMerge pull request #740 from nico/formatfile
Nico Weber [Wed, 16 Apr 2014 05:09:23 +0000 (22:09 -0700)]
Merge pull request #740 from nico/formatfile

Add a .clang-format file.

10 years agoAdd a .clang-format file.
Nico Weber [Wed, 16 Apr 2014 05:06:01 +0000 (22:06 -0700)]
Add a .clang-format file.

This isn't meant to be authoritative. It's good enough to let the
"indent current line using clang-format" hotkey do the right thing often
enough to be useful.

10 years agoMerge pull request #739 from nico/ren
Nico Weber [Wed, 16 Apr 2014 00:47:28 +0000 (17:47 -0700)]
Merge pull request #739 from nico/ren

Rename parser_perftest to depfile_parser_perftest.

10 years agoRename parser_perftest to depfile_parser_perftest.
Nico Weber [Wed, 16 Apr 2014 00:43:03 +0000 (17:43 -0700)]
Rename parser_perftest to depfile_parser_perftest.

10 years agoMerge pull request #737 from sorbits/bash-completion-fixes
Nico Weber [Tue, 15 Apr 2014 19:00:01 +0000 (12:00 -0700)]
Merge pull request #737 from sorbits/bash-completion-fixes

Bash completion fixes

10 years agoExpand the -C argument via ‘eval’ in bash completion
Allan Odgaard [Tue, 15 Apr 2014 07:27:37 +0000 (14:27 +0700)]
Expand the -C argument via ‘eval’ in bash completion

Previously completion would not work for ‘ninja -C $HOME/Source/foo targ‸’.

We still do not support using tilde in the directory argument.

10 years agoFix bash completion when using command options
Allan Odgaard [Tue, 15 Apr 2014 07:23:47 +0000 (14:23 +0700)]
Fix bash completion when using command options

By quoting the ‘line’ variable we are making it a single word, but ‘getopts’ wants each option as its own word.

Previously bash completion would output an error for a line like: ‘ninja -vn targ‸’.

In addition to removing the quotes (to enable word expansion) I also used it as a regular variable, as that is what it is (not an array).

10 years agoMerge pull request #734 from sgraham/no-stderr
Nico Weber [Mon, 14 Apr 2014 21:09:51 +0000 (14:09 -0700)]
Merge pull request #734 from sgraham/no-stderr

CLParser shouldn't read stderr

10 years agoCLParser shouldn't read stderr
Scott Graham [Mon, 14 Apr 2014 20:37:06 +0000 (13:37 -0700)]
CLParser shouldn't read stderr

10 years agoMerge pull request #722 from nico/manifestgen
Nico Weber [Mon, 14 Apr 2014 17:43:15 +0000 (10:43 -0700)]
Merge pull request #722 from nico/manifestgen

add a script to generate large synthetic manifests

10 years agoMerge pull request #732 from bratell-at-opera/bratell/fewer_list_copies_20140414
Nico Weber [Mon, 14 Apr 2014 15:39:21 +0000 (08:39 -0700)]
Merge pull request #732 from bratell-at-opera/bratell/fewer_list_copies_20140414

performance: Writer.build should copy less.

10 years agoperformance: Writer.build should copy less.
Daniel Bratell [Mon, 14 Apr 2014 11:52:02 +0000 (13:52 +0200)]
performance: Writer.build should copy less.

The build method copies the input lists several times. That
cost about 0.1s in the gyp generation for the Chromium project for
no gain.

10 years agoMerge pull request #699 from mostynb/avoid_useless_mkdir_failure
Nico Weber [Mon, 7 Apr 2014 15:22:07 +0000 (08:22 -0700)]
Merge pull request #699 from mostynb/avoid_useless_mkdir_failure

don't Fail if trying to mkdir when the dir already exists

10 years agoMerge pull request #728 from sgraham/both-slashes-on-windows-for-output
Nico Weber [Thu, 3 Apr 2014 21:04:06 +0000 (14:04 -0700)]
Merge pull request #728 from sgraham/both-slashes-on-windows-for-output

Support both slashes on Windows when making output dirs

10 years agoSupport both slashes on Windows when making output dirs
Scott Graham [Wed, 2 Apr 2014 21:11:26 +0000 (14:11 -0700)]
Support both slashes on Windows when making output dirs

10 years agoadd a script to generate large synthetic manifests
Nico Weber [Tue, 25 Mar 2014 15:33:21 +0000 (08:33 -0700)]
add a script to generate large synthetic manifests

To be used by a manifest parser perf test in a follow-up.

10 years agoAllocate per-edge BindingEnvs lazily.
Nico Weber [Tue, 11 Feb 2014 20:19:01 +0000 (12:19 -0800)]
Allocate per-edge BindingEnvs lazily.

In chrome, only 2000 of 22000 build edges have bindings.  A BindingEnv is
64 bytes, so allocating these only when needed saves a bit over 1 MB of
memory.  Since env chains are shorter for lookups, builds also become a
tiny bit faster.

10 years agoIntroduce the "console" pool
Peter Collingbourne [Thu, 30 Jan 2014 05:57:58 +0000 (21:57 -0800)]
Introduce the "console" pool

This is a pre-defined pool with a depth of 1. It has the special property
that any task in the pool has direct access to the console. This can be
useful for interactive tasks or long-running tasks which produce status
updates on the console (such as test suites).

10 years agoMerge pull request #710 from purcell/patch-1
Evan Martin [Thu, 23 Jan 2014 16:29:38 +0000 (08:29 -0800)]
Merge pull request #710 from purcell/patch-1

ninja-mode: add autoload cookie for the mode itself

10 years agoninja-mode: add autoload cookie for the mode itself
Steve Purcell [Wed, 22 Jan 2014 12:01:16 +0000 (12:01 +0000)]
ninja-mode: add autoload cookie for the mode itself

10 years agoMerge branch 'fix-provide-form' of git://github.com/yasuyk/ninja
Evan Martin [Tue, 21 Jan 2014 18:57:29 +0000 (10:57 -0800)]
Merge branch 'fix-provide-form' of git://github.com/yasuyk/ninja

Conflicts:
misc/ninja-mode.el

10 years agoMerge branch 'fix-warning' of git://github.com/yasuyk/ninja
Evan Martin [Tue, 21 Jan 2014 18:56:43 +0000 (10:56 -0800)]
Merge branch 'fix-warning' of git://github.com/yasuyk/ninja

Conflicts:
misc/ninja-mode.el

10 years agoMerge pull request #705 from yasuyk/elpa
Evan Martin [Tue, 21 Jan 2014 16:40:26 +0000 (08:40 -0800)]
Merge pull request #705 from yasuyk/elpa

emacs: ELPA compatibility

10 years agoemacs: Place provide form at end of file
Yasuyuki Oka [Tue, 21 Jan 2014 13:33:35 +0000 (22:33 +0900)]
emacs: Place provide form at end of file

Any errors in the code after "provide" will leave the feature
registered, so it should always be at the end.

10 years agoemacs: Fix a warning
Yasuyuki Oka [Tue, 21 Jan 2014 13:29:41 +0000 (22:29 +0900)]
emacs: Fix a warning

Fix a following byte-compile warning:
ninja-mode.el:18:7:Warning: assignment to free variable `ninja-keywords'

10 years agoemacs: ELPA compatibility
Yasuyuki Oka [Tue, 21 Jan 2014 13:19:19 +0000 (22:19 +0900)]
emacs: ELPA compatibility

10 years agoMerge pull request #702 from nickhutchinson/feature/win32-escaping-fix
Nico Weber [Thu, 9 Jan 2014 08:27:35 +0000 (00:27 -0800)]
Merge pull request #702 from nickhutchinson/feature/win32-escaping-fix

Don’t unnecessarily escape backslashes in Win32 paths

10 years agoMerge pull request #701 from nickhutchinson/feature/msvc-gtest-cflags
Nico Weber [Thu, 9 Jan 2014 03:54:01 +0000 (19:54 -0800)]
Merge pull request #701 from nickhutchinson/feature/msvc-gtest-cflags

configure.py: use /FS flag under vs2013 when compiling gtest

10 years agoconfigure.py: use /FS flag under vs2013 when compiling gtest
Nicholas Hutchinson [Thu, 9 Jan 2014 02:35:36 +0000 (15:35 +1300)]
configure.py: use /FS flag under vs2013 when compiling gtest

10 years agoDon’t unnecessarily escape backslashes in Win32 paths
Nicholas Hutchinson [Wed, 8 Jan 2014 20:38:20 +0000 (09:38 +1300)]
Don’t unnecessarily escape backslashes in Win32 paths

Under ::CommandLineToArgvW() rules, the backslash character only gets special treatment if it’s immediately followed by a double quote. So, when checking to see if a string needs Win32 escaping, it’s sufficient to check for the presence of a double quote character. This allows paths like "foo\bar" to be recognised as “sensible” paths, which don’t require the full escaping.

10 years agodon't Fail if trying to mkdir when the dir already exists
Mostyn Bramley-Moore [Tue, 7 Jan 2014 09:33:09 +0000 (10:33 +0100)]
don't Fail if trying to mkdir when the dir already exists

10 years agoMerge pull request #697 from nico/gclogs
Nico Weber [Tue, 7 Jan 2014 00:17:14 +0000 (16:17 -0800)]
Merge pull request #697 from nico/gclogs

Remove old outputs from build log and deps log during recompaction.

10 years agoMake BuildLogUser reference constant.
Nico Weber [Tue, 7 Jan 2014 00:15:23 +0000 (16:15 -0800)]
Make BuildLogUser reference constant.

10 years agoMerge pull request #690 from nickhutchinson/feature/escape-paths-properly
Nico Weber [Mon, 6 Jan 2014 23:57:33 +0000 (15:57 -0800)]
Merge pull request #690 from nickhutchinson/feature/escape-paths-properly

More robust escaping of $in, $out paths

10 years agoMore robust escaping of $in, $out paths
Nicholas Hutchinson [Sat, 30 Nov 2013 22:33:02 +0000 (22:33 +0000)]
More robust escaping of $in, $out paths

In summary: don’t escape if the path doesn’t contain problematic characters, otherwise:
- Shell: enclose string in single quotes, escape embedded single quotes with the magic quote-backslash-quote sequence
- Win32: Escape double quotes by doubling the number of consecutive backslashes that precede them (if any) and adding one more. Finally, double the number of trailing backslashes, and enclose the whole thing in double quotes.

10 years agoAdd a comment.
Nico Weber [Sat, 4 Jan 2014 05:32:41 +0000 (21:32 -0800)]
Add a comment.

10 years agoRename "IsDead" to "BuildLogUser".
Nico Weber [Sat, 4 Jan 2014 05:26:50 +0000 (21:26 -0800)]
Rename "IsDead" to "BuildLogUser".

10 years agoMove duplicated code into a helper function.
Nico Weber [Sat, 4 Jan 2014 05:12:31 +0000 (21:12 -0800)]
Move duplicated code into a helper function.

10 years agoAdd a test for collection of dead log entries.
Nico Weber [Sat, 4 Jan 2014 04:43:42 +0000 (20:43 -0800)]
Add a test for collection of dead log entries.

10 years agoAdd a test for collection of dead deps entries.
Nico Weber [Fri, 3 Jan 2014 05:16:38 +0000 (21:16 -0800)]
Add a test for collection of dead deps entries.

10 years agoFix DepsLogTest.Recompact by making sure outputs aren't garbag-collected.
Nico Weber [Thu, 2 Jan 2014 05:37:47 +0000 (21:37 -0800)]
Fix DepsLogTest.Recompact by making sure outputs aren't garbag-collected.

10 years agoMake tests compile (one fails atm).
Nico Weber [Thu, 2 Jan 2014 04:46:18 +0000 (20:46 -0800)]
Make tests compile (one fails atm).

10 years agoRemove dead entries in .ninja_log and .ninja_deps while recompacting.
Nico Weber [Thu, 2 Jan 2014 04:31:34 +0000 (20:31 -0800)]
Remove dead entries in .ninja_log and .ninja_deps while recompacting.

For .ninja_deps, remove objects that have no in-edges or whose in-edges
do not have a "deps" attribute. (This matches the behaviour of `-t
deps`).

BuildLog doesn't know about state, so let its recompact method take
delegate that decides is a path is life or not, and implement it in
NinjaMain.

10 years agoMerge pull request #695 from nico/norange
Nico Weber [Fri, 13 Dec 2013 21:02:40 +0000 (13:02 -0800)]
Merge pull request #695 from nico/norange

Fix additional range in character class.

10 years agoFix additional range in character class.
Nico Weber [Fri, 13 Dec 2013 21:01:02 +0000 (13:01 -0800)]
Fix additional range in character class.

The range was added in 7ab6dcbdb6447861eefafc47fc3e10f3273cede2, but that
change only tried to add ! to the character class. Fix by moving '-' to the end
of the class.

Fixes #694.

10 years agoMerge pull request #691 from TheOneRing/fix-msvc13
Nico Weber [Fri, 6 Dec 2013 00:10:29 +0000 (16:10 -0800)]
Merge pull request #691 from TheOneRing/fix-msvc13

fixed platform_helper.py msvc_needs_fs test for python 3

10 years agofixed platform_helper.py msvc_needs_fs test
Patrick von Reth [Thu, 5 Dec 2013 09:37:52 +0000 (10:37 +0100)]
fixed platform_helper.py msvc_needs_fs test

11 years agoMerge pull request #688 from ndmitchell/master
Nico Weber [Mon, 18 Nov 2013 10:00:36 +0000 (02:00 -0800)]
Merge pull request #688 from ndmitchell/master

Fix up platform_helper for MSVC

11 years agoFix up platform_helper for MSVC, with Python 2.6.8 the arguments have to be in a...
Neil Mitchell [Mon, 18 Nov 2013 06:32:32 +0000 (06:32 +0000)]
Fix up platform_helper for MSVC, with Python 2.6.8 the arguments have to be in a list, not space separated (unless you set Shell to true)

11 years agoMerge pull request #683 from nico/ruletest
Evan Martin [Mon, 28 Oct 2013 17:21:12 +0000 (10:21 -0700)]
Merge pull request #683 from nico/ruletest

Add a test that shows that there is a single global namespace for rules.

11 years agoAdd a test that shows that there is a single global namespace for rules.
Nico Weber [Sun, 27 Oct 2013 19:38:34 +0000 (12:38 -0700)]
Add a test that shows that there is a single global namespace for rules.

11 years agoMerge pull request #682 from nico/pep8
Nico Weber [Sun, 27 Oct 2013 03:16:07 +0000 (20:16 -0700)]
Merge pull request #682 from nico/pep8

Wrap to 79 colums. No functionality change.

11 years agoWrap to 79 colums. No functionality change.
Nico Weber [Sun, 27 Oct 2013 03:15:23 +0000 (20:15 -0700)]
Wrap to 79 colums. No functionality change.

11 years agoMerge pull request #674 from nico/style
Nico Weber [Sat, 19 Oct 2013 18:03:51 +0000 (11:03 -0700)]
Merge pull request #674 from nico/style

Minor style fixes. No functionality change.

11 years agoMinor style fixes. No functionality change.
Nico Weber [Sat, 19 Oct 2013 18:03:15 +0000 (11:03 -0700)]
Minor style fixes. No functionality change.

11 years agoMerge pull request #665 from syntheticpp/localized-showinclude
Nico Weber [Fri, 18 Oct 2013 23:43:05 +0000 (16:43 -0700)]
Merge pull request #665 from syntheticpp/localized-showinclude

add deps_prefix for localized /showIncludes' output parsing

11 years agoadd deps_prefix for localized /showIncludes' output parsing
Peter Kümmel [Sun, 13 Oct 2013 10:20:17 +0000 (12:20 +0200)]
add deps_prefix for localized /showIncludes' output parsing

11 years agoMerge pull request #671 from sgraham/compile-vs2013
Nico Weber [Fri, 18 Oct 2013 04:16:13 +0000 (21:16 -0700)]
Merge pull request #671 from sgraham/compile-vs2013

Fix compilation on VS2013

11 years agoFix compilation on VS2013
Scott Graham [Fri, 18 Oct 2013 04:12:11 +0000 (21:12 -0700)]
Fix compilation on VS2013

11 years agomark this 1.4.0.git, update RELEASING
Evan Martin [Thu, 12 Sep 2013 02:05:21 +0000 (19:05 -0700)]
mark this 1.4.0.git, update RELEASING

11 years agoMerge pull request #657 from sgraham/keeprsp2
Nico Weber [Wed, 11 Sep 2013 21:50:04 +0000 (14:50 -0700)]
Merge pull request #657 from sgraham/keeprsp2

add -d keeprsp to preserve @rsp files on success on windows

11 years agoadd -d keeprsp to preserve @rsp files on success on windows
Scott Graham [Tue, 10 Sep 2013 22:34:01 +0000 (15:34 -0700)]
add -d keeprsp to preserve @rsp files on success on windows

11 years agoMerge pull request #655 from nico/simp
Nico Weber [Sun, 8 Sep 2013 02:16:49 +0000 (19:16 -0700)]
Merge pull request #655 from nico/simp

Simplify.

11 years agoSimplify.
Nico Weber [Sun, 8 Sep 2013 02:16:21 +0000 (19:16 -0700)]
Simplify.

11 years agoMerge pull request #654 from rgeary1/buildTestFix
Nico Weber [Sun, 8 Sep 2013 02:14:17 +0000 (19:14 -0700)]
Merge pull request #654 from rgeary1/buildTestFix

Fix for build test for BuildWithDepsLogTest.RestatMissingDepfileDepslog

11 years agoFix for build test for BuildWithDepsLogTest.RestatMissingDepfileDepslog
Richard Geary [Sat, 7 Sep 2013 14:03:00 +0000 (10:03 -0400)]
Fix for build test for BuildWithDepsLogTest.RestatMissingDepfileDepslog

11 years agoMerge pull request #653 from nico/msg
Nico Weber [Fri, 6 Sep 2013 21:37:33 +0000 (14:37 -0700)]
Merge pull request #653 from nico/msg

Make depslog v1->v3 message less scary.

11 years agoMake depslog v1->v3 message less scary.
Nico Weber [Fri, 6 Sep 2013 21:29:32 +0000 (14:29 -0700)]
Make depslog v1->v3 message less scary.

See the comment 5 lines up for details.

11 years agoMerge pull request #650 from nico/simplify
Nico Weber [Mon, 2 Sep 2013 23:10:59 +0000 (16:10 -0700)]
Merge pull request #650 from nico/simplify

Simplify.

11 years agoSimplify.
Nico Weber [Mon, 2 Sep 2013 23:09:00 +0000 (16:09 -0700)]
Simplify.

11 years agoMerge pull request #649 from nico/fff
Nico Weber [Mon, 2 Sep 2013 23:02:44 +0000 (16:02 -0700)]
Merge pull request #649 from nico/fff

Delete a line I failed to delete in d7a46654a7be1.

11 years agoDelete a line I failed to delete in d7a46654a7be1.
Nico Weber [Mon, 2 Sep 2013 23:01:46 +0000 (16:01 -0700)]
Delete a line I failed to delete in d7a46654a7be1.

11 years agoMerge pull request #648 from nico/landmaxim
Nico Weber [Mon, 2 Sep 2013 22:52:21 +0000 (15:52 -0700)]
Merge pull request #648 from nico/landmaxim

Land the majority of pull request #608.

11 years agoFix restat rebuild if deps are missing.
Maxim Kalaev [Mon, 2 Sep 2013 22:44:32 +0000 (15:44 -0700)]
Fix restat rebuild if deps are missing.

Fixes issue #603.

Apparently, the problem was caused by my fix r "consider target dirty if
depfile is missing" (bcc8ad1), which was not working correctly with
restat rules cleaning nodes.  Switching to deps only triggered an easily
observable issue.

Fix by setting a flag in edges with invalid deps, and not cleaning edges
with that flag set.

11 years agoShare more code between CleanNode() and RecomputeDirty().
Maxim Kalaev [Mon, 2 Sep 2013 22:32:19 +0000 (15:32 -0700)]
Share more code between CleanNode() and RecomputeDirty().

Move a common loop into the new function RecomputeOutputsDirty().
Simplifies things a bit, and makes it harder for the restat path to have
different behavior from the regular path.

No dramatic behavior change (the restat path now also calls
RestatIfNecessary()).

11 years agoCheck depslog timestamp in LoadDepsFromLog(), not in RecomputeOutputDirty().
Maxim Kalaev [Mon, 2 Sep 2013 22:24:26 +0000 (15:24 -0700)]
Check depslog timestamp in LoadDepsFromLog(), not in RecomputeOutputDirty().

RecomputeOutputDirty() is called from two places:

1. RecomputeDirty(), which calls LoadDeps().
2. CleanNode(), which always passes 0 for the deps mtime.

So this is no behavior change in either case.

deps_mtime was nonzero only in deps mode, and it got passed all over the
place.  This makes things simpler.

11 years agoMerge pull request #647 from bmeurer/SimplifyGetProcessorCount
Evan Martin [Mon, 2 Sep 2013 19:12:23 +0000 (12:12 -0700)]
Merge pull request #647 from bmeurer/SimplifyGetProcessorCount

Simplify implementation of GetProcessorCount().

11 years agoSimplify implementation of GetProcessorCount().
Benedikt Meurer [Sun, 1 Sep 2013 09:12:23 +0000 (11:12 +0200)]
Simplify implementation of GetProcessorCount().

The current implementation is unnecessarily complex, because:

- The BSD derived systems implement sysconf(_SC_NPROCESSORS_ONLN)
  in terms of sysctl({CTL_HW,HW_NCPU}).
- get_nprocs() is a GNU extension, and glibc implements
  sysconf(_SC_NPROCESSORS_ONLN) in terms of get_nprocs().