platform/upstream/ninja.git
11 years agoadd DepsLog, a new data structure for dependency information
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.

11 years agosync version number in master with release
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.

11 years agosplit FakeCommandRunner out of BuildTest
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.

11 years agomove test virtual time "now_" into VirtualFileSystem
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.

11 years agoMerge pull request #527 from wang-bin/compile_fix
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

11 years agofix 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

11 years agoMerge pull request #526 from RedX2501/improved_bash_completion
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'

11 years agoImproved 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'

11 years agorefactor some of the output mtime-handling code
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.

11 years agoadd noreturn attr on Fatal()
Evan Martin [Sun, 17 Feb 2013 20:59:23 +0000 (12:59 -0800)]
add noreturn attr on Fatal()

11 years agodecided against using XXX in the manual for unknown versions
Evan Martin [Fri, 5 Apr 2013 17:07:48 +0000 (10:07 -0700)]
decided against using XXX in the manual for unknown versions

11 years agotag a feature with the right version number
Evan Martin [Fri, 5 Apr 2013 16:27:06 +0000 (09:27 -0700)]
tag a feature with the right version number

11 years agoMerge pull request #525 from nico/escapedollar
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 "\$".

11 years agoDollar 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.

11 years agoallow paths with '!' in depfiles
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/

11 years agoMerge pull request #522 from nico/spelldebug
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.

11 years agoAdd 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.

11 years agoMerge pull request #521 from riannucci/ignore_duplicate_edges_in_shcedule_work
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

11 years agoAdd regression test
Robert Iannucci [Sat, 23 Mar 2013 21:35:10 +0000 (14:35 -0700)]
Add regression test

11 years agoFix debug build on linux (type strictness).
Robert Iannucci [Sat, 23 Mar 2013 21:31:05 +0000 (14:31 -0700)]
Fix debug build on linux (type strictness).

11 years agoFix Pool to use a set internally
Robert Iannucci [Mon, 18 Mar 2013 17:36:23 +0000 (10:36 -0700)]
Fix Pool to use a set internally

11 years agoFix duplicate edge Pool crash in the minimally invasive way
Robert Iannucci [Mon, 18 Mar 2013 16:53:53 +0000 (09:53 -0700)]
Fix duplicate edge Pool crash in the minimally invasive way

11 years agoMerge pull request #518 from syntheticpp/max-patch
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

11 years agoPosix 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

11 years agoMerge pull request #513 from fifoforlifo/master
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.

11 years agoAdded %e to manual.asciidoc, fixed brace style.
Avinash Baliga [Mon, 11 Mar 2013 05:15:46 +0000 (00:15 -0500)]
Added %e to manual.asciidoc, fixed brace style.

11 years agoMerge pull request #512 from pcc/compilation-database
Evan Martin [Sun, 10 Mar 2013 17:03:55 +0000 (10:03 -0700)]
Merge pull request #512 from pcc/compilation-database

Add compdb tool

11 years agoAdd 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.

11 years agoMerge pull request #499 from lht/patch-1
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

11 years agoMerge pull request #503 from mo/fix_typo_20130219
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/

11 years agoMerge pull request #504 from benvanik/master
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.

11 years agoMerge pull request #514 from dabrahams/patch-1
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

11 years agoBring 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

11 years agoMade %e purely a number.
Avinash Baliga [Mon, 4 Mar 2013 04:04:48 +0000 (22:04 -0600)]
Made %e purely a number.

11 years agoNINJA_STATUS now takes %e for elapsed time.
Avinash Baliga [Mon, 4 Mar 2013 03:33:19 +0000 (21:33 -0600)]
NINJA_STATUS now takes %e for elapsed time.

11 years agoMerge pull request #507 from ikarienator/master
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

11 years agoMerge pull request #502 from tfarina/rm-unused-fun
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.

11 years agoBrowse command does not parse URL correctly
Bei Zhang [Sun, 24 Feb 2013 06:51:21 +0000 (22:51 -0800)]
Browse command does not parse URL correctly

11 years agoMerge pull request #506 from syntheticpp/string-find
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

11 years agoFix 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

11 years agoAdd a check for the VC++ 2012-style 64-bit path.
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.

11 years agoFix typo, s/verison/version/
Martin Olsson [Tue, 19 Feb 2013 20:41:03 +0000 (21:41 +0100)]
Fix typo, s/verison/version/

11 years agoRemoved unused UnitsWaiting() function from State class.
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>
11 years agomanual: move in_newline to the reference
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.

11 years agoadd versioning notes to features in the manual
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.

11 years agomake doc xrefs link to section headers
Evan Martin [Sun, 17 Feb 2013 19:16:23 +0000 (11:16 -0800)]
make doc xrefs link to section headers

11 years agoFix typo in manual
Haitao Li 李海涛 [Sun, 17 Feb 2013 10:50:16 +0000 (18:50 +0800)]
Fix typo in manual

11 years agorearrange env variable section layout
Evan Martin [Sun, 17 Feb 2013 01:32:42 +0000 (17:32 -0800)]
rearrange env variable section layout

11 years agomove from asciidoc html to asciidoc -> docbook -> html
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.

11 years agosay where the default value for -j comes from
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.

11 years agodepfile helper: check errors on writing .d files
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.

11 years agodocs for ninja_required_version
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.)

11 years agoadd syntax for checking versions
Evan Martin [Tue, 30 Oct 2012 16:40:59 +0000 (09:40 -0700)]
add syntax for checking versions

11 years agoMerge pull request #498 from pck/cygwin
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.

11 years agoutil.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

11 years agomark pools as experimental in the docs
Evan Martin [Fri, 1 Feb 2013 18:37:10 +0000 (10:37 -0800)]
mark pools as experimental in the docs

11 years agoadd a release checklist so I won't forget steps in the future
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

11 years agoMerge pull request #485 from petrh/fedora-rpmbuild
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

11 years agoMerge pull request #489 from sgraham/err-message-depfile
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

11 years agomore 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

11 years agoRemoved re2c build dependency from RPM spec file
Petr Hosek [Mon, 21 Jan 2013 19:32:44 +0000 (19:32 +0000)]
Removed re2c build dependency from RPM spec file

11 years agoMerge pull request #484 from TheOneRing/fix_mingw
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

11 years agoUse correct Fedora versioning scheme
Petr Hosek [Tue, 15 Jan 2013 23:27:54 +0000 (23:27 +0000)]
Use correct Fedora versioning scheme

11 years agoRPM spec file should use correct versioning scheme and list all build dependencies
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

11 years agoif windows and not msvc, set platform to mingw
Patrick von Reth [Sat, 12 Jan 2013 10:32:45 +0000 (11:32 +0100)]
if windows and not msvc, set platform to mingw

11 years agoMerge pull request #479 from nico/testfix
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

11 years agoManifestParser 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.

11 years agoalways set GTEST_HAS_RTTI=0 in all testing code
Evan Martin [Sun, 30 Dec 2012 00:37:12 +0000 (16:37 -0800)]
always set GTEST_HAS_RTTI=0 in all testing code

11 years agofix build on non-Linux glibc systems
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.

11 years agodrop the "rules" tool completely
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.

11 years agoupdate docs to clarify scoping rules
Evan Martin [Tue, 30 Oct 2012 16:52:40 +0000 (09:52 -0700)]
update docs to clarify scoping rules

11 years agorearrange handling of builtin bindings to make rules simpler
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.

11 years agowrap some overlong lines
Evan Martin [Sat, 29 Dec 2012 20:02:16 +0000 (12:02 -0800)]
wrap some overlong lines

11 years agofix all "class" -> "struct"
Evan Martin [Sat, 29 Dec 2012 19:57:14 +0000 (11:57 -0800)]
fix all "class" -> "struct"

11 years agoadd a TODO from a pull request
Evan Martin [Sat, 29 Dec 2012 20:33:02 +0000 (12:33 -0800)]
add a TODO from a pull request

11 years agoMerge pull request #455 from azuk/master
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.

11 years agoMerge pull request #467 from ppuryear/browse-error
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.

11 years agoninja_syntax.py: don't add trailing space when build has no inputs
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.

11 years agofix test build under clang/system gtest
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.

11 years agowrap test in anon namespace
Evan Martin [Fri, 28 Dec 2012 21:47:59 +0000 (13:47 -0800)]
wrap test in anon namespace

11 years agocorrectly open /dev/null in subprocesses
Evan Martin [Fri, 21 Dec 2012 01:49:55 +0000 (17:49 -0800)]
correctly open /dev/null in subprocesses

Fixes issue #468.

11 years agoupdate a comment
Evan Martin [Tue, 27 Nov 2012 16:30:45 +0000 (08:30 -0800)]
update a comment

11 years agoMerge pull request #474 from yannicklm/master
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

11 years agoMerge pull request #475 from nico/vim
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.

11 years agoUpdate 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.

11 years agoNINJA_STATUS: add support of `%p` for percentage
yannicklm [Fri, 14 Dec 2012 21:25:51 +0000 (22:25 +0100)]
NINJA_STATUS: add support of `%p` for percentage

11 years agoMerge pull request #471 from riannucci/fix_vim_syntax
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

11 years agoMerge pull request #472 from riannucci/add_python_pool_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

11 years agoMerge pull request #473 from riannucci/fix_emacs
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

11 years agoAdd missing default keyword
Robert Iannucci [Fri, 14 Dec 2012 07:21:02 +0000 (23:21 -0800)]
Add missing default keyword

11 years agoAdd pool
Robert Iannucci [Fri, 14 Dec 2012 07:20:50 +0000 (23:20 -0800)]
Add pool

11 years agoAdd missing rspfile and rspfile_content
Robert Iannucci [Fri, 14 Dec 2012 07:11:12 +0000 (23:11 -0800)]
Add missing rspfile and rspfile_content

11 years agoAdd ninja.vim syntax for pool
Robert Iannucci [Fri, 14 Dec 2012 07:10:52 +0000 (23:10 -0800)]
Add ninja.vim syntax for pool

11 years agoAdd python ninja_syntax.py support for pool
Robert Iannucci [Fri, 14 Dec 2012 07:11:37 +0000 (23:11 -0800)]
Add python ninja_syntax.py support for pool

11 years agoMerge pull request #461 from riannucci/global_section
Evan Martin [Thu, 13 Dec 2012 19:55:35 +0000 (11:55 -0800)]
Merge pull request #461 from riannucci/global_section

Resource pools for ninja

11 years agobrowse: Read ninja's error text from stderr.
Philip Puryear [Sat, 8 Dec 2012 00:22:19 +0000 (18:22 -0600)]
browse: Read ninja's error text from stderr.

11 years agoRemove unnecessary parameter from ShouldDelayEdge
Robert Iannucci [Fri, 30 Nov 2012 01:53:30 +0000 (17:53 -0800)]
Remove unnecessary parameter from ShouldDelayEdge

11 years agoRename isValid
Robert Iannucci [Fri, 30 Nov 2012 01:51:30 +0000 (17:51 -0800)]
Rename isValid

11 years agoFix formatting
Robert Iannucci [Fri, 30 Nov 2012 01:47:22 +0000 (17:47 -0800)]
Fix formatting

11 years agoImprove comments for src/state.h
Robert Iannucci [Fri, 30 Nov 2012 01:07:50 +0000 (17:07 -0800)]
Improve comments for src/state.h