Evan Martin [Sun, 30 Dec 2012 18:11:13 +0000 (10:11 -0800)]
no error if deps log doesn't exist
Evan Martin [Sun, 30 Dec 2012 18:10:03 +0000 (10:10 -0800)]
load deps log at startup
Evan Martin [Sun, 30 Dec 2012 17:53:57 +0000 (09:53 -0800)]
factor out creation of build directory
Evan Martin [Sat, 29 Dec 2012 19:55:52 +0000 (11:55 -0800)]
use DepsLog in loading dependencies
WIP
Evan Martin [Sat, 29 Dec 2012 19:24:03 +0000 (11:24 -0800)]
factor out implicit dep loading
Evan Martin [Sat, 29 Dec 2012 18:53:59 +0000 (10:53 -0800)]
pass command results via a struct
WaitForCommand now passes all command output via a struct.
This will allow adding more output in a future change.
Evan Martin [Mon, 17 Dec 2012 17:08:15 +0000 (09:08 -0800)]
add DepsLog, a new data structure for dependency information
DepsLog is a compact serialization of dependency information.
It can be used to replace depfiles for faster loading.
Evan Martin [Mon, 8 Apr 2013 21:44:30 +0000 (14:44 -0700)]
sync version number in master with release
Update RELEASING with notes on how to not screw this up again.
Evan Martin [Mon, 8 Apr 2013 21:15:36 +0000 (14:15 -0700)]
split FakeCommandRunner out of BuildTest
Separating concerns to make a subsequent refactoring easier.
Evan Martin [Mon, 8 Apr 2013 21:05:27 +0000 (14:05 -0700)]
move test virtual time "now_" into VirtualFileSystem
It's the only piece that cares about the current time.
Evan Martin [Mon, 8 Apr 2013 21:17:27 +0000 (14:17 -0700)]
Merge pull request #527 from wang-bin/compile_fix
fix compile error about noreturn on windows
wang-bin [Sun, 7 Apr 2013 03:14:16 +0000 (11:14 +0800)]
fix compile error about noreturn on windows
Evan Martin [Sat, 6 Apr 2013 14:46:08 +0000 (07:46 -0700)]
Merge pull request #526 from RedX2501/improved_bash_completion
Improved bash completion when using tools like '-t clean'
Guilherme Bufolo [Sat, 6 Apr 2013 11:47:18 +0000 (13:47 +0200)]
Improved bash completion when using tools like '-t clean'
Evan Martin [Sun, 17 Feb 2013 23:02:31 +0000 (15:02 -0800)]
refactor some of the output mtime-handling code
Reduces duplicated explain output.
Evan Martin [Sun, 17 Feb 2013 20:59:23 +0000 (12:59 -0800)]
add noreturn attr on Fatal()
Evan Martin [Fri, 5 Apr 2013 17:07:48 +0000 (10:07 -0700)]
decided against using XXX in the manual for unknown versions
Evan Martin [Fri, 5 Apr 2013 16:27:06 +0000 (09:27 -0700)]
tag a feature with the right version number
Evan Martin [Tue, 2 Apr 2013 17:40:19 +0000 (10:40 -0700)]
Merge pull request #525 from nico/escapedollar
Dollar signs in depfiles are escaped as "$$", not "\$".
Nico Weber [Tue, 2 Apr 2013 16:39:05 +0000 (09:39 -0700)]
Dollar signs in depfiles are escaped as "$$", not "\$".
See http://llvm.org/PR15642. I checked that gcc does produce depfiles
containing "$$" for files with "$" signs in their name (and as of
r178540, so does clang). I also checked that .d files that escape dollar
signs with "\$" are not read correctly by make.
Evan Martin [Sat, 30 Mar 2013 23:36:47 +0000 (16:36 -0700)]
allow paths with '!' in depfiles
See funny paths in
https://github.com/google/libcxx/tree/master/test/iterators/stream.iterators/istreambuf.iterator/
Evan Martin [Thu, 28 Mar 2013 00:11:08 +0000 (17:11 -0700)]
Merge pull request #522 from nico/spelldebug
Add spell checking for debug flags.
Nico Weber [Wed, 27 Mar 2013 23:03:52 +0000 (16:03 -0700)]
Add spell checking for debug flags.
I just used `ninja -d stat` and it took me a bit to realize that I missed the
trailing 's'.
While here, move the message printing from printf() to Error(). This makes the
output consistent with other error outputs: The messages are now prefixed with
"ninja: error: " instead of just "ninja: " and they go to stderr instead of
stdout.
Evan Martin [Tue, 26 Mar 2013 17:40:08 +0000 (10:40 -0700)]
Merge pull request #521 from riannucci/ignore_duplicate_edges_in_shcedule_work
Fix duplicate edge Pool crash in the minimally invasive way
Robert Iannucci [Sat, 23 Mar 2013 21:35:10 +0000 (14:35 -0700)]
Add regression test
Robert Iannucci [Sat, 23 Mar 2013 21:31:05 +0000 (14:31 -0700)]
Fix debug build on linux (type strictness).
Robert Iannucci [Mon, 18 Mar 2013 17:36:23 +0000 (10:36 -0700)]
Fix Pool to use a set internally
Robert Iannucci [Mon, 18 Mar 2013 16:53:53 +0000 (09:53 -0700)]
Fix duplicate edge Pool crash in the minimally invasive way
Evan Martin [Thu, 14 Mar 2013 17:13:22 +0000 (10:13 -0700)]
Merge pull request #518 from syntheticpp/max-patch
Posix symbols are not enabled by default for MSVC
Peter Kümmel [Thu, 14 Mar 2013 15:29:59 +0000 (16:29 +0100)]
Posix symbols are not enabled by default for MSVC
Evan Martin [Mon, 11 Mar 2013 20:47:37 +0000 (13:47 -0700)]
Merge pull request #513 from fifoforlifo/master
Adding elapsed time (%e) to NINJA_STATUS.
Avinash Baliga [Mon, 11 Mar 2013 05:15:46 +0000 (00:15 -0500)]
Added %e to manual.asciidoc, fixed brace style.
Evan Martin [Sun, 10 Mar 2013 17:03:55 +0000 (10:03 -0700)]
Merge pull request #512 from pcc/compilation-database
Add compdb tool
Peter Collingbourne [Thu, 28 Feb 2013 08:28:23 +0000 (00:28 -0800)]
Add compdb tool
This tool helps convert Ninja build files to a compilation database
of the form used by Clang tooling.
Evan Martin [Sun, 10 Mar 2013 00:50:34 +0000 (16:50 -0800)]
Merge pull request #499 from lht/patch-1
Fix typo in manual
Evan Martin [Sun, 10 Mar 2013 00:50:11 +0000 (16:50 -0800)]
Merge pull request #503 from mo/fix_typo_20130219
Fix typo, s/verison/version/
Evan Martin [Sun, 10 Mar 2013 00:49:49 +0000 (16:49 -0800)]
Merge pull request #504 from benvanik/master
Add a check for the VC++ 2012-style 64-bit path.
Evan Martin [Sun, 10 Mar 2013 00:20:59 +0000 (16:20 -0800)]
Merge pull request #514 from dabrahams/patch-1
Bring in declaration of atoi
Dave Abrahams [Fri, 8 Mar 2013 21:18:12 +0000 (13:18 -0800)]
Bring in declaration of atoi
./bootstrap.py fails on some platforms without this include
Avinash Baliga [Mon, 4 Mar 2013 04:04:48 +0000 (22:04 -0600)]
Made %e purely a number.
Avinash Baliga [Mon, 4 Mar 2013 03:33:19 +0000 (21:33 -0600)]
NINJA_STATUS now takes %e for elapsed time.
Evan Martin [Sun, 24 Feb 2013 20:51:38 +0000 (12:51 -0800)]
Merge pull request #507 from ikarienator/master
Browse command does not parse URL correctly
Evan Martin [Sun, 24 Feb 2013 17:50:56 +0000 (09:50 -0800)]
Merge pull request #502 from tfarina/rm-unused-fun
Removed unused UnitsWaiting() function from State class.
Bei Zhang [Sun, 24 Feb 2013 06:51:21 +0000 (22:51 -0800)]
Browse command does not parse URL correctly
Evan Martin [Thu, 21 Feb 2013 20:32:06 +0000 (12:32 -0800)]
Merge pull request #506 from syntheticpp/string-find
Fix wrong usage of std::string::find
Peter Kümmel [Thu, 21 Feb 2013 18:42:12 +0000 (19:42 +0100)]
Fix wrong usage of std::string::find
Ben Vanik [Wed, 20 Feb 2013 06:28:26 +0000 (22:28 -0800)]
Add a check for the VC++ 2012-style 64-bit path.
In VS2012 the path to the 64-bit tools has changed to
VCINSTALLDIR\bin\x86_amd64\cl.exe. This change will make the bootstrap
check there to see if it exists before falling back to the old amd64 path.
Martin Olsson [Tue, 19 Feb 2013 20:41:03 +0000 (21:41 +0100)]
Fix typo, s/verison/version/
Thiago Farina [Tue, 19 Feb 2013 20:31:10 +0000 (17:31 -0300)]
Removed unused UnitsWaiting() function from State class.
This function was added at
307f0bbd("and some basic implementation"), but nobody
calls it anymore.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Tue, 19 Feb 2013 17:31:16 +0000 (09:31 -0800)]
manual: move in_newline to the reference
It's a detail, it doesn't belong in the brief tutorial overview.
Evan Martin [Sun, 17 Feb 2013 19:22:37 +0000 (11:22 -0800)]
add versioning notes to features in the manual
This helps guide which ninja version to depend on.
Evan Martin [Sun, 17 Feb 2013 19:16:23 +0000 (11:16 -0800)]
make doc xrefs link to section headers
Haitao Li 李海涛 [Sun, 17 Feb 2013 10:50:16 +0000 (18:50 +0800)]
Fix typo in manual
Evan Martin [Sun, 17 Feb 2013 01:32:42 +0000 (17:32 -0800)]
rearrange env variable section layout
Evan Martin [Sun, 17 Feb 2013 01:13:10 +0000 (17:13 -0800)]
move from asciidoc html to asciidoc -> docbook -> html
As best as I can tell this is the easiest way to customize
the asciidoc HTML output.
Evan Martin [Sat, 16 Feb 2013 23:16:50 +0000 (15:16 -0800)]
say where the default value for -j comes from
This is a FAQ.
Scott Graham [Sat, 16 Feb 2013 23:04:52 +0000 (15:04 -0800)]
depfile helper: check errors on writing .d files
Closes #492 and #493.
Evan Martin [Sat, 16 Feb 2013 22:59:30 +0000 (14:59 -0800)]
docs for ninja_required_version
(And some extra docs for top-level variables in general.)
Evan Martin [Tue, 30 Oct 2012 16:40:59 +0000 (09:40 -0700)]
add syntax for checking versions
Evan Martin [Sat, 9 Feb 2013 18:34:07 +0000 (10:34 -0800)]
Merge pull request #498 from pck/cygwin
util.cc: Reusing windows workaround for cygwin.
Paul Kunysch [Sat, 9 Feb 2013 12:19:13 +0000 (13:19 +0100)]
util.cc: Reusing windows workaround for cygwin.
This fixes:
src/util.cc: In function 'double GetLoadAverage()':
src/util.cc:337:28: error: 'getloadavg' was not declared in this scope
Evan Martin [Fri, 1 Feb 2013 18:37:10 +0000 (10:37 -0800)]
mark pools as experimental in the docs
Evan Martin [Fri, 1 Feb 2013 18:31:46 +0000 (10:31 -0800)]
add a release checklist so I won't forget steps in the future
Evan Martin [Sun, 27 Jan 2013 00:57:26 +0000 (16:57 -0800)]
Merge pull request #485 from petrh/fedora-rpmbuild
RPM spec file fixed to work properly on recent Fedora releases
Evan Martin [Thu, 24 Jan 2013 18:32:34 +0000 (10:32 -0800)]
Merge pull request #489 from sgraham/err-message-depfile
more verbose error (including path) when depfile fails to load
Scott Graham [Thu, 24 Jan 2013 17:33:21 +0000 (09:33 -0800)]
more verbose error (including path) when depfile fails to load
Petr Hosek [Mon, 21 Jan 2013 19:32:44 +0000 (19:32 +0000)]
Removed re2c build dependency from RPM spec file
Evan Martin [Thu, 17 Jan 2013 04:11:11 +0000 (20:11 -0800)]
Merge pull request #484 from TheOneRing/fix_mingw
if windows and not msvc, set platform to mingw
Petr Hosek [Tue, 15 Jan 2013 23:27:54 +0000 (23:27 +0000)]
Use correct Fedora versioning scheme
Petr Hosek [Mon, 14 Jan 2013 12:49:05 +0000 (12:49 +0000)]
RPM spec file should use correct versioning scheme and list all build dependencies
Patrick von Reth [Sat, 12 Jan 2013 10:32:45 +0000 (11:32 +0100)]
if windows and not msvc, set platform to mingw
Evan Martin [Thu, 3 Jan 2013 03:06:20 +0000 (19:06 -0800)]
Merge pull request #479 from nico/testfix
ManifestParser constructor accesses its first argument, don't pass NULL
Nico Weber [Thu, 3 Jan 2013 01:40:12 +0000 (17:40 -0800)]
ManifestParser constructor accesses its first argument, don't pass NULL
The constructor does
env_ = &state->bindings_;
so env_ is effectively set to offsetof(ManifestParser, bindings_). This
will blow up if env_ gets dereferenced -- this doesn't seem to happen in
these tests, but it's less confusing with this patch. Also, passing &state is
consistent with the rest of this test.
Evan Martin [Sun, 30 Dec 2012 00:37:12 +0000 (16:37 -0800)]
always set GTEST_HAS_RTTI=0 in all testing code
Pino Toscano [Sat, 29 Dec 2012 22:32:27 +0000 (14:32 -0800)]
fix build on non-Linux glibc systems
ninja-build does not build on non-Linux archs, such as
GNU/kFreeBSD and GNU/Hurd.
The problem is that the GetProcessorCount() implementation for these
architectures is the sysconf() one, but <unistd.h> has not been
included, causing sysconf() and _SC_NPROCESSORS_ONLN to not be
declared. Another solution (which is the one I chose) is to make use
of the "linux" implementation which uses get_nprocs(), which is a GNU
extension and thus available for anything using GNU libc.
Evan Martin [Wed, 31 Oct 2012 22:18:36 +0000 (15:18 -0700)]
drop the "rules" tool completely
I had already broken this earlier, but the refactor of variable handling
broke it completely.
Evan Martin [Tue, 30 Oct 2012 16:52:40 +0000 (09:52 -0700)]
update docs to clarify scoping rules
Evan Martin [Sat, 27 Oct 2012 20:09:40 +0000 (13:09 -0700)]
rearrange handling of builtin bindings to make rules simpler
Now, a 'build' block can override any special binding like 'command'
or 'description' if it needs to.
Evan Martin [Sat, 29 Dec 2012 20:02:16 +0000 (12:02 -0800)]
wrap some overlong lines
Evan Martin [Sat, 29 Dec 2012 19:57:14 +0000 (11:57 -0800)]
fix all "class" -> "struct"
Evan Martin [Sat, 29 Dec 2012 20:33:02 +0000 (12:33 -0800)]
add a TODO from a pull request
Evan Martin [Sat, 29 Dec 2012 20:32:17 +0000 (12:32 -0800)]
Merge pull request #455 from azuk/master
Make a native Windows build possible when using Cygwin Python.
Evan Martin [Sat, 29 Dec 2012 20:27:00 +0000 (12:27 -0800)]
Merge pull request #467 from ppuryear/browse-error
browse: Read ninja's error text from stderr.
Evan Martin [Sat, 29 Dec 2012 08:39:38 +0000 (00:39 -0800)]
ninja_syntax.py: don't add trailing space when build has no inputs
Seen in Ninja's configure.py where it creates an "rpmbuild" command.
Evan Martin [Sat, 29 Dec 2012 08:35:53 +0000 (00:35 -0800)]
fix test build under clang/system gtest
Tests always need GTEST_HAS_RTTI=0 set, but the code was only
setting it in the --with-gtest branch. Instead always use the
test-specific cflags when compiling test code.
Evan Martin [Fri, 28 Dec 2012 21:47:59 +0000 (13:47 -0800)]
wrap test in anon namespace
Evan Martin [Fri, 21 Dec 2012 01:49:55 +0000 (17:49 -0800)]
correctly open /dev/null in subprocesses
Fixes issue #468.
Evan Martin [Tue, 27 Nov 2012 16:30:45 +0000 (08:30 -0800)]
update a comment
Evan Martin [Fri, 21 Dec 2012 01:48:25 +0000 (17:48 -0800)]
Merge pull request #474 from yannicklm/master
NINJA_STATUS: add support of `%p` for percentage
Evan Martin [Fri, 21 Dec 2012 01:47:49 +0000 (17:47 -0800)]
Merge pull request #475 from nico/vim
Update version number in ninja.vim after recent changes.
Nico Weber [Sat, 15 Dec 2012 05:18:31 +0000 (21:18 -0800)]
Update version number in ninja.vim after recent changes.
yannicklm [Fri, 14 Dec 2012 21:25:51 +0000 (22:25 +0100)]
NINJA_STATUS: add support of `%p` for percentage
Evan Martin [Fri, 14 Dec 2012 19:06:03 +0000 (11:06 -0800)]
Merge pull request #471 from riannucci/fix_vim_syntax
Fix vim syntax
Evan Martin [Fri, 14 Dec 2012 19:05:44 +0000 (11:05 -0800)]
Merge pull request #472 from riannucci/add_python_pool_syntax
Add python ninja_syntax.py support for pool
Evan Martin [Fri, 14 Dec 2012 19:05:23 +0000 (11:05 -0800)]
Merge pull request #473 from riannucci/fix_emacs
Fix emacs ninja-mode
Robert Iannucci [Fri, 14 Dec 2012 07:21:02 +0000 (23:21 -0800)]
Add missing default keyword
Robert Iannucci [Fri, 14 Dec 2012 07:20:50 +0000 (23:20 -0800)]
Add pool
Robert Iannucci [Fri, 14 Dec 2012 07:11:12 +0000 (23:11 -0800)]
Add missing rspfile and rspfile_content
Robert Iannucci [Fri, 14 Dec 2012 07:10:52 +0000 (23:10 -0800)]
Add ninja.vim syntax for pool
Robert Iannucci [Fri, 14 Dec 2012 07:11:37 +0000 (23:11 -0800)]
Add python ninja_syntax.py support for pool