Nico Weber [Mon, 16 Jun 2014 16:59:16 +0000 (09:59 -0700)]
only use FindExInfoBasic on win7+
Nico Weber [Sun, 15 Jun 2014 23:01:49 +0000 (16:01 -0700)]
Merge pull request #779 from nico/statcache
Use FindFirstFileEx() for stat()ing files on Windows.
Nico Weber [Sun, 15 Jun 2014 23:00:13 +0000 (16:00 -0700)]
s/hFind/find_handle/
Nico Weber [Sun, 15 Jun 2014 22:26:37 +0000 (15:26 -0700)]
add missing _WIN32 checks
Nico Weber [Sun, 15 Jun 2014 22:16:50 +0000 (15:16 -0700)]
make bool exist everywhere, for simpler calling code
Nico Weber [Sun, 15 Jun 2014 21:42:42 +0000 (14:42 -0700)]
add some statcache tests
Nico Weber [Sun, 15 Jun 2014 21:11:27 +0000 (14:11 -0700)]
Free cache memory once it's no longer used.
Doesn't slow down empty build times measurably, and
saves some memory on non-empty builds.
Nico Weber [Sun, 15 Jun 2014 05:18:28 +0000 (22:18 -0700)]
error checking
Nico Weber [Sun, 15 Jun 2014 05:11:31 +0000 (22:11 -0700)]
on by default
Nico Weber [Sun, 15 Jun 2014 05:07:04 +0000 (22:07 -0700)]
comment
Nico Weber [Sun, 15 Jun 2014 05:05:09 +0000 (22:05 -0700)]
make win-only
Nico Weber [Sun, 15 Jun 2014 04:50:05 +0000 (21:50 -0700)]
simplify more, move behind flag
Nico Weber [Sun, 15 Jun 2014 04:38:44 +0000 (21:38 -0700)]
more minor cleanups
Nico Weber [Sun, 15 Jun 2014 04:36:30 +0000 (21:36 -0700)]
more minor cleanups
Nico Weber [Sun, 15 Jun 2014 04:29:18 +0000 (21:29 -0700)]
minor cleanups
Nico Weber [Sun, 25 May 2014 04:36:57 +0000 (21:36 -0700)]
Turn on stat cache. Empty builds of chrome on my laptop 4s -> 1.3s (!)
Nico Weber [Sun, 25 May 2014 04:17:35 +0000 (21:17 -0700)]
Add a stat cache. Demo-quality, and disabled atm.
Nico Weber [Sun, 15 Jun 2014 05:50:54 +0000 (22:50 -0700)]
Merge pull request #778 from nico/spellrsp
spellcheck "keeprsp" in -d options
Nico Weber [Sun, 15 Jun 2014 05:49:01 +0000 (22:49 -0700)]
spellcheck "keeprsp" in -d options
Nico Weber [Sun, 15 Jun 2014 05:47:27 +0000 (22:47 -0700)]
Merge pull request #777 from nico/winconf
create a slightly nicer build.ninja on windows
Nico Weber [Sun, 15 Jun 2014 05:47:05 +0000 (22:47 -0700)]
create a slightly nicer build.ninja on windows
Nico Weber [Thu, 12 Jun 2014 20:22:35 +0000 (13:22 -0700)]
Version 1.4 of the vim syntax file was merged.
See https://code.google.com/p/vim/source/detail?r=
92751673cc37c9ef4d1ad1ac4d42d36faa67f88f
Evan Martin [Fri, 30 May 2014 23:24:28 +0000 (16:24 -0700)]
Merge pull request #770 from debfx/master
Use unversioned \ 1gnukfreebsd platform.
Felix Geyer [Fri, 30 May 2014 20:59:02 +0000 (22:59 +0200)]
Use unversioned \ 1gnukfreebsd platform.
Nico Weber [Fri, 30 May 2014 17:41:45 +0000 (10:41 -0700)]
Merge pull request #769 from nico/plus
Allow + in filenames without escaping
Nico Weber [Fri, 30 May 2014 01:14:48 +0000 (03:14 +0200)]
Allow + in filenames without escaping
Due to #690, file.c++ used to be escaped. + seems as safe as -, so allow
it to not be escaped, to keep compile command lines with a fairly common
extension slightly cleaner.
Nico Weber [Fri, 30 May 2014 00:58:33 +0000 (17:58 -0700)]
Merge pull request #768 from nico/vimsyn
vim syntax: Correctly highlight $$a as ($$)a instead of $($a).
Nico Weber [Thu, 29 May 2014 23:58:09 +0000 (16:58 -0700)]
Merge pull request #767 from nico/esc_deprspfile
Make "depfile=$out.d" work if $out contains escaped characters, rspfile ...
Nico Weber [Sat, 24 May 2014 22:52:52 +0000 (15:52 -0700)]
reword manual for depfile/rspfile escaping change
Nico Weber [Wed, 21 May 2014 22:07:47 +0000 (15:07 -0700)]
Make "depfile=$out.d" work if $out contains escaped characters, rspfile too.
Fixes #730. This has always been broken, but due to #690 more paths are now
escaped (e.g. paths containing + characters, like file.c++). Also see
discussion in #689.
The approach is to give EdgeEnv an enum deciding on whether or not to escape
file names, and provide functions that evaluate depfile and rspfile with that
set that to kNoEscape. (depfile=$out.d doesn't make sense on edges with
multiple outputs.)
This should be relatively safe, as $in and $out can't be used on edges, only
on rules (#687).
Nico Weber [Wed, 21 May 2014 21:17:44 +0000 (14:17 -0700)]
Merge pull request #766 from nico/cleanup
CleanTest cleanups:
Nico Weber [Wed, 21 May 2014 21:16:18 +0000 (14:16 -0700)]
CleanTest cleanups:
* $in only makes sense on rules, not edges (see issue #687)
* Remove unneccesary clear() line at end of test
Nico Weber [Sun, 18 May 2014 22:17:44 +0000 (15:17 -0700)]
Merge pull request #764 from nico/winconsole
Implement pool=console support on Windows.
Nico Weber [Sun, 18 May 2014 00:20:20 +0000 (17:20 -0700)]
win console wip: Fix comments based on review feedback.
Nico Weber [Wed, 14 May 2014 10:00:34 +0000 (03:00 -0700)]
win console wip: resolve FIXME
Nico Weber [Tue, 13 May 2014 21:51:51 +0000 (23:51 +0200)]
vim syntax: Correctly highlight $$a as ($$)a instead of $($a).
Nico Weber [Tue, 13 May 2014 19:58:01 +0000 (12:58 -0700)]
win console wip: ctrl-c should reach commands running in console pools
Nico Weber [Tue, 13 May 2014 19:47:08 +0000 (12:47 -0700)]
win console wip: enable test
Nico Weber [Tue, 13 May 2014 19:35:52 +0000 (12:35 -0700)]
wip for console pool on windows
Nico Weber [Thu, 8 May 2014 00:11:37 +0000 (17:11 -0700)]
Merge pull request #761 from maximuska/proposed/depfile_parser_fixes
Allow paths with '{' '}' in depfiles
Maxim Kalaev [Wed, 7 May 2014 17:56:32 +0000 (20:56 +0300)]
Allow paths with '{' '}' in depfiles
Nico Weber [Mon, 5 May 2014 22:54:26 +0000 (15:54 -0700)]
Merge pull request #756 from ronnychevalier/rc/zsh_completion
improve zsh completion
Nico Weber [Mon, 5 May 2014 22:51:11 +0000 (15:51 -0700)]
Merge pull request #758 from mathstuf/dev/fix-compdb-abort
compdb: check that inputs is not empty
Ben Boeckel [Mon, 5 May 2014 19:00:26 +0000 (15:00 -0400)]
compdb: check that inputs is not empty
Nico Weber [Mon, 5 May 2014 03:25:57 +0000 (20:25 -0700)]
Merge pull request #757 from cjdrake/master
Stylistic changes to ninja_syntax.py
Chris Drake [Mon, 5 May 2014 01:35:28 +0000 (18:35 -0700)]
Get rid of unused import
Chris Drake [Mon, 5 May 2014 01:34:55 +0000 (18:34 -0700)]
Use consistent indentation conventions
Ronny Chevalier [Sun, 4 May 2014 02:55:40 +0000 (04:55 +0200)]
improve zsh completion
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.
Nico Weber [Thu, 1 May 2014 03:46:12 +0000 (20:46 -0700)]
Accept \r\n line endings in depfiles.
Fixes #752.
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
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.
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.
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.
Nico Weber [Sun, 27 Apr 2014 19:57:25 +0000 (12:57 -0700)]
Make manifest_parser_perftest build on Windows.
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
Taylor Braun-Jones [Fri, 25 Apr 2014 17:59:53 +0000 (13:59 -0400)]
Style: Fix inconsistent indentation
Taylor Braun-Jones [Fri, 25 Apr 2014 17:50:09 +0000 (13:50 -0400)]
Fix bash-completion support for -C option to expand tilde
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
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.
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.
Nico Weber [Thu, 17 Apr 2014 05:15:09 +0000 (22:15 -0700)]
Manifest perftest: Try to make it build on Linux.
Nico Weber [Thu, 17 Apr 2014 05:12:30 +0000 (22:12 -0700)]
Manifest perftest: Pull manifest parsing into own function.
Nico Weber [Thu, 17 Apr 2014 05:06:34 +0000 (22:06 -0700)]
Add manifest_parser_perftest to .gitignore.
Nico Weber [Thu, 17 Apr 2014 05:05:32 +0000 (22:05 -0700)]
Manifest perftest: Also measure command evaluation time.
Nico Weber [Thu, 17 Apr 2014 04:56:49 +0000 (21:56 -0700)]
Add a simple manifest parsing perftest.
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.
Nicolas Despres [Wed, 16 Apr 2014 06:24:38 +0000 (08:24 +0200)]
Propagate file rename to gitignore.
This was introduced by
68a4bb27d1a747b240ea68cd320a51dbd261ed14.
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.
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.
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.
Nico Weber [Wed, 16 Apr 2014 00:43:03 +0000 (17:43 -0700)]
Rename parser_perftest to depfile_parser_perftest.
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
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.
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).
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
Scott Graham [Mon, 14 Apr 2014 20:37:06 +0000 (13:37 -0700)]
CLParser shouldn't read stderr
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
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.
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.
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
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
Scott Graham [Wed, 2 Apr 2014 21:11:26 +0000 (14:11 -0700)]
Support both slashes on Windows when making output dirs
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.
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.
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).
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
Steve Purcell [Wed, 22 Jan 2014 12:01:16 +0000 (12:01 +0000)]
ninja-mode: add autoload cookie for the mode itself
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
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
Evan Martin [Tue, 21 Jan 2014 16:40:26 +0000 (08:40 -0800)]
Merge pull request #705 from yasuyk/elpa
emacs: ELPA compatibility
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.
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'
Yasuyuki Oka [Tue, 21 Jan 2014 13:19:19 +0000 (22:19 +0900)]
emacs: ELPA compatibility
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
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
Nicholas Hutchinson [Thu, 9 Jan 2014 02:35:36 +0000 (15:35 +1300)]
configure.py: use /FS flag under vs2013 when compiling gtest
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.
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
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.