Evan Martin [Fri, 27 Jul 2012 22:49:30 +0000 (15:49 -0700)]
Merge pull request #378 from syntheticpp/msvc-fixes
also build with msvc
Peter Kümmel [Fri, 27 Jul 2012 21:09:52 +0000 (23:09 +0200)]
also build with msvc
Evan Martin [Fri, 27 Jul 2012 20:46:46 +0000 (13:46 -0700)]
fix a warning and leak in windows-specific console output code
Claus Klein [Fri, 27 Jul 2012 20:06:03 +0000 (13:06 -0700)]
fix error and prevent warning in GetTimeMillis()
Evan Martin [Fri, 27 Jul 2012 19:39:12 +0000 (12:39 -0700)]
Merge branch 'master' of github.com:martine/ninja
Evan Martin [Fri, 27 Jul 2012 19:39:02 +0000 (12:39 -0700)]
Merge pull request #352 from tfarina/string-piece-private
Make StringPiece data members private.
Evan Martin [Fri, 27 Jul 2012 19:24:40 +0000 (12:24 -0700)]
rename subprocess.cc to reflex its posixness
Evan Martin [Fri, 27 Jul 2012 19:02:59 +0000 (12:02 -0700)]
rearrange minidump patch to match ninja code style
Evan Martin [Fri, 27 Jul 2012 18:44:06 +0000 (11:44 -0700)]
Merge branch 'set_terminate' of git://github.com/gmoudry/ninja into minidump
(This likely doesn't compile, just getting all the history in place.)
Conflicts:
src/util.cc
Evan Martin [Fri, 27 Jul 2012 17:59:19 +0000 (10:59 -0700)]
Merge pull request #351 from syntheticpp/rate
print edges per second
Evan Martin [Fri, 27 Jul 2012 17:38:44 +0000 (10:38 -0700)]
make the build log test match the indended build log logic
As described on https://github.com/martine/ninja/pull/349 , this test
shouldn't have been passing. Fixing a Valgrind issue showed that the
test was wrong. Thankfully it wasn't a critical issue.
The new code verifies that we either succeed or report an error when
parsing -- the only behavior we really care about is not crashing.
Maxim Kalaev [Thu, 28 Jun 2012 06:34:19 +0000 (09:34 +0300)]
Minor: zero log buffer before reading data/parsing it
Not a real problem, mainly to make valgrind happy
Evan Martin [Fri, 27 Jul 2012 17:17:20 +0000 (10:17 -0700)]
mingw: specify _WIN32_WINNT also in configure.py
Evan Martin [Fri, 27 Jul 2012 17:15:34 +0000 (10:15 -0700)]
fix some mingw warnings in getopt.c
From a patch from Claus Klein <claus.klein@arcormail.de>.
Evan Martin [Fri, 27 Jul 2012 17:08:06 +0000 (10:08 -0700)]
windows: fix printf format for process id
Evan Martin [Fri, 27 Jul 2012 17:05:20 +0000 (10:05 -0700)]
mingw: fix quoting of -DNINJA_PYTHON
Evan Martin [Fri, 27 Jul 2012 17:01:53 +0000 (10:01 -0700)]
bootstrap: set _WIN32_WINNT to WinXP for mingw
From a patch from Peter Kuemmel <syntheticpp@gmx.net>.
Evan Martin [Fri, 27 Jul 2012 16:53:40 +0000 (09:53 -0700)]
wrap at 80 columns
Evan Martin [Fri, 27 Jul 2012 16:45:06 +0000 (09:45 -0700)]
Merge pull request #369 from maximuska/proposed/packaging-rpm
packaging: added basic RPM building
Maxim Kalaev [Thu, 26 Jul 2012 12:21:30 +0000 (15:21 +0300)]
packaging: added basic RPM building
Evan Martin [Wed, 25 Jul 2012 18:02:34 +0000 (11:02 -0700)]
Merge pull request #368 from nico/toolpipe
Don't print 'Entering directory' when running tools.
Nico Weber [Wed, 25 Jul 2012 17:34:14 +0000 (10:34 -0700)]
Don't print 'Entering directory' when running tools.
Evan Martin [Tue, 24 Jul 2012 06:55:22 +0000 (23:55 -0700)]
Merge pull request #367 from tfarina/lowercase
Use lowercase consistently.
Thiago Farina [Fri, 20 Jul 2012 15:19:18 +0000 (12:19 -0300)]
Use lowercase consistently.
https://github.com/martine/ninja/issues/360
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Fri, 20 Jul 2012 07:17:44 +0000 (00:17 -0700)]
Merge pull request #366 from sgraham/no-noisy-cursor
windows: use WriteConsoleOutput instead of printf to avoid moving cursor
Scott Graham [Thu, 19 Jul 2012 22:17:38 +0000 (15:17 -0700)]
windows: use WriteConsoleOutput instead of printf to avoid moving cursor
Evan Martin [Thu, 19 Jul 2012 18:35:37 +0000 (11:35 -0700)]
Merge pull request #365 from maximuska/proposed/dep-file-parsing-more-specials
dep file parsing: allow '@' and '=' in paths
Maxim Kalaev [Thu, 19 Jul 2012 05:49:34 +0000 (08:49 +0300)]
dep file parsing: allow '@' and '=' in paths
Evan Martin [Wed, 18 Jul 2012 00:38:48 +0000 (17:38 -0700)]
disallow crlf in manifest files
It turns out to be trickier than expected to process these correctly.
It turns out to also be trickier than expected to give a nice error
message on encountering these. But the behavior prior to this patch
would just be silent failures where we attempted to examine paths
that accidentally contained embedded \r.
For now, fix all regexes of the form [^...] to include \r in the
excluded block, then assert that we get a vague lexer error near the
problem.
In the future perhaps we can open manifest files in text mode on Windows
or just disallow Windows-style CRLF in the manual.
Evan Martin [Tue, 17 Jul 2012 23:42:53 +0000 (16:42 -0700)]
explain mode: show which input is more recent
Patch from Scott Graham <scottmg@chromium.org>.
Evan Martin [Tue, 17 Jul 2012 23:32:44 +0000 (16:32 -0700)]
windows: get correct path for ninja_syntax
Patch from Scott Graham <scottmg@chromium.org>.
Evan Martin [Tue, 17 Jul 2012 23:19:50 +0000 (16:19 -0700)]
gitignore unpacked gtest
Patch from Scott Graham <scottmg@chromium.org>.
Evan Martin [Tue, 17 Jul 2012 16:34:10 +0000 (09:34 -0700)]
subprocess_test: make SetWithLots run on all non-Windows platforms
I think it might have been an oversight that this was marked
Linux-specific.
Evan Martin [Tue, 17 Jul 2012 20:26:11 +0000 (13:26 -0700)]
ninja_syntax: escape colons in paths
Evan Martin [Tue, 17 Jul 2012 20:20:12 +0000 (13:20 -0700)]
Merge pull request #340 from sgraham/fix-win-build
fix win32 compile, fix BuildLogTest.WriteRead on 2nd run
Evan Martin [Tue, 17 Jul 2012 16:31:52 +0000 (09:31 -0700)]
Merge pull request #363 from usovalx/subprocess_test_build_failure
Add missing include of <sys/resouce.h>
Evan Martin [Tue, 17 Jul 2012 15:59:55 +0000 (08:59 -0700)]
fix manual to reflect reality of depfile cleaning
Fixes issue #362.
Evan Martin [Tue, 17 Jul 2012 15:24:49 +0000 (08:24 -0700)]
Merge pull request #364 from tfarina/pragma-once
Remove #pragma once from our header files.
Thiago Farina [Tue, 17 Jul 2012 14:35:12 +0000 (11:35 -0300)]
Remove #pragma once from our header files.
https://github.com/martine/ninja/issues/358
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Oleksandr Usov [Mon, 16 Jul 2012 13:05:53 +0000 (14:05 +0100)]
Add missing include of <sys/resouce.h>
Peter Kümmel [Fri, 6 Jul 2012 09:12:36 +0000 (11:12 +0200)]
GCC 4.7 needs cstdio
Peter Kuemmel [Fri, 29 Jun 2012 14:12:03 +0000 (16:12 +0200)]
print edges per second
prints the rate of finished edges per second to the console,
for instance with NINJA_STATUS="[%s/%t %o(%c)/s] ":
[132/1922 16.1(14)/s]
16.1 is the average for all processed files (here 132 since start)
14 is the average of the last n files while n is the number specifies by
-j (or its default)
Evan Martin [Sun, 15 Jul 2012 00:20:30 +0000 (17:20 -0700)]
Merge pull request #361 from HeisSpiter/master
Check more efficiently for emptiness
Pierre Schweitzer [Sat, 14 Jul 2012 15:54:17 +0000 (17:54 +0200)]
Efficiently check for emptiness
Evan Martin [Wed, 11 Jul 2012 21:40:28 +0000 (14:40 -0700)]
Merge pull request #359 from tedv/old-arch
Fix missing POLLRDHUP constant on older systems.
Ted Vessenes [Wed, 11 Jul 2012 15:33:45 +0000 (11:33 -0400)]
Clarify comment wording.
Ted Vessenes [Wed, 11 Jul 2012 14:49:16 +0000 (10:49 -0400)]
Fix missing POLLRDHUP constant on older systems.
Attempting to compile with g++ 4.1.2 failed because the POLLRDHUP
constant was not defined when <poll.h> is included.
Evan Martin [Mon, 9 Jul 2012 19:19:02 +0000 (12:19 -0700)]
Merge pull request #357 from tfarina/manifest-parser
Rename parsers.* to manifest_parser.*
Thiago Farina [Mon, 9 Jul 2012 19:09:31 +0000 (16:09 -0300)]
Rename parsers.* to manifest_parser.*
So it matches with the class name in there.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Tue, 3 Jul 2012 16:45:37 +0000 (09:45 -0700)]
Merge pull request #313 from wolfp/restat_missing_input
Do not reset restat_mtime if an input is missing
Thiago Farina [Sat, 30 Jun 2012 14:40:10 +0000 (11:40 -0300)]
Make StringPiece data members private.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Fri, 29 Jun 2012 16:15:09 +0000 (09:15 -0700)]
Merge pull request #350 from maximuska/proposed/improve-dump-edge-node
Improving Edge::Dump, introducing Node::Dump
Maxim Kalaev [Wed, 27 Jun 2012 21:28:32 +0000 (23:28 +0200)]
Improving Edge::Dump, introducing Node::Dump
- Edge::Dump could crash if called while inputs_ is being extended
- Node::Dump prints Node attributes, in-edge and lists of out-edges
- Dump functions now accept "prefix" parameter, printed along with the object
for easier orientation. For example, edge->Dump("Re-reading deps files").
wolfp [Wed, 27 Jun 2012 08:29:17 +0000 (10:29 +0200)]
Add a test for missing input files in restat rules
wolfp [Tue, 22 May 2012 11:39:40 +0000 (13:39 +0200)]
Do not reset restat_mtime if an input is missing (issue #295)
Scott Graham [Tue, 19 Jun 2012 21:32:39 +0000 (14:32 -0700)]
remove unnecessary manual Close()
Scott Graham [Tue, 19 Jun 2012 21:32:04 +0000 (14:32 -0700)]
don't leak file handle on fail-to-upgrade case
Scott Graham [Tue, 19 Jun 2012 20:15:41 +0000 (13:15 -0700)]
fix win32 compile, fix BuildLogTest.WriteRead on 2nd run
Evan Martin [Tue, 19 Jun 2012 17:31:14 +0000 (10:31 -0700)]
switch build log to print hashes as hex
Nico convinced me that it's safe to do this without revving the build
log format: the old decimal values will still parse as hex (just as
different numbers) and cause a superfluous rebuild.
Evan Martin [Tue, 19 Jun 2012 16:36:42 +0000 (09:36 -0700)]
add copyright header
Evan Martin [Tue, 19 Jun 2012 16:31:26 +0000 (09:31 -0700)]
add new binaries to gitignore
Evan Martin [Mon, 18 Jun 2012 22:47:38 +0000 (15:47 -0700)]
drop support of log formats < 4
Log format 4 was introduced in January.
There's been plenty of time to migrate.
Evan Martin [Mon, 18 Jun 2012 22:41:28 +0000 (15:41 -0700)]
use PRIu64 for printing 64-bit in, %d for printing int
Fixes a warning.
Evan Martin [Mon, 18 Jun 2012 22:29:23 +0000 (15:29 -0700)]
make canon_perftest build, add license
Evan Martin [Mon, 18 Jun 2012 18:51:24 +0000 (11:51 -0700)]
Merge pull request #338 from syntheticpp/empty-log-file
no recompacting needed when log file is empty
Peter Kuemmel [Mon, 18 Jun 2012 11:20:31 +0000 (13:20 +0200)]
no recompacting needed when log file is empty
Evan Martin [Sun, 17 Jun 2012 01:54:07 +0000 (18:54 -0700)]
Merge pull request #316 from tfarina/struct
No need to write 'struct' before type name when declaraing variables in ...
Evan Martin [Sat, 16 Jun 2012 20:29:09 +0000 (13:29 -0700)]
fix quoting thinko
Evan Martin [Sat, 16 Jun 2012 20:27:14 +0000 (13:27 -0700)]
rearrange shell quoting in configure.py
Evan Martin [Sat, 16 Jun 2012 17:01:45 +0000 (10:01 -0700)]
Merge pull request #333 from jonforums/no-main-multi-defs
Prevent multiple definition link error
Jon [Sat, 16 Jun 2012 15:52:58 +0000 (11:52 -0400)]
Prevent multiple definition link error
Globbed inclusion of `src/hash_collision_bench.cc` cause link errors
Evan Martin [Fri, 15 Jun 2012 22:05:57 +0000 (15:05 -0700)]
Merge pull request #331 from sgraham/add-in_newline
Add $in_newline
Evan Martin [Fri, 15 Jun 2012 22:04:25 +0000 (15:04 -0700)]
Merge pull request #330 from sgraham/win32-hash-build
fix windows build
Scott Graham [Fri, 15 Jun 2012 21:57:22 +0000 (14:57 -0700)]
improve test
Scott Graham [Fri, 15 Jun 2012 21:48:43 +0000 (14:48 -0700)]
add $in_newline
Scott Graham [Fri, 15 Jun 2012 21:28:23 +0000 (14:28 -0700)]
fix windows build
Evan Martin [Fri, 15 Jun 2012 20:45:37 +0000 (13:45 -0700)]
Merge pull request #329 from nico/hash2
Only store command hashes in the build log.
Nico Weber [Fri, 15 Jun 2012 16:50:06 +0000 (09:50 -0700)]
Add a hash collision benchmark.
Nico Weber [Fri, 15 Jun 2012 04:52:17 +0000 (21:52 -0700)]
Only store command hashes in the build log.
.build_log load time 350ms -> 17ms, filesize 197MB -> 1.6MB on
Mac. On Windows, it's 500ms -> 20ms.
Makes the build log a lot less useful for scripts, but there could
be a tool for use cases that need log information. A prototype of
such a tool is in https://github.com/nico/ninja/commit/
1b243d311
The hash function is 64bit murmurhash2. Assuming that that different
commands get the same hash only by chance, it's is very unlikely
for two different commands to hash to the same value with a 64bit
hash.
Evan Martin [Fri, 15 Jun 2012 19:40:05 +0000 (12:40 -0700)]
Merge pull request #328 from nico/canonperf
add canon_perftest
Evan Martin [Tue, 12 Jun 2012 22:11:22 +0000 (15:11 -0700)]
allow '(' and ')' in depfile paths
Fixes issue #327.
Evan Martin [Tue, 12 Jun 2012 21:54:34 +0000 (14:54 -0700)]
add a note to HACKING about how to get gtest
Evan Martin [Tue, 12 Jun 2012 21:49:40 +0000 (14:49 -0700)]
fix a typo in a test name
Evan Martin [Tue, 12 Jun 2012 03:03:56 +0000 (20:03 -0700)]
Merge pull request #325 from luvit/fix-path-magic
bootstrap: fix path magic on windows
Brandon Philips [Mon, 11 Jun 2012 17:19:23 +0000 (10:19 -0700)]
bootstrap: fix path magic on windows
It was reported that argv[0] doesn't get set on windows. Some research
showed that using abspath(__filename__) should accomplish this.
Evan Martin [Sun, 10 Jun 2012 07:45:59 +0000 (00:45 -0700)]
Merge pull request #323 from luvit/bootstrap-from-cwd
bootstrap: chdir to bootstrap's directory
Brandon Philips [Sun, 10 Jun 2012 01:38:50 +0000 (18:38 -0700)]
bootstrap: chdir to bootstrap's directory
When integrating ninja into luvit I naively tried calling:
./tools/ninja/bootstrap.py
This broke because bootstrap expects you to be in the ninja directory
when you call it. This patch makes it possible to run bootstrap.py like
above and have it work.
Evan Martin [Thu, 7 Jun 2012 23:03:01 +0000 (16:03 -0700)]
Merge pull request #306 from nico/winunbreakconf
Strip leading whitespace from commands on Windows.
Nico Weber [Tue, 5 Jun 2012 03:23:14 +0000 (20:23 -0700)]
Fix configure.py on windows, which does not permit a leading space.
Evan Martin [Mon, 4 Jun 2012 17:16:39 +0000 (10:16 -0700)]
Merge pull request #311 from nico/cleanups
Cleanups
Nico Weber [Sun, 3 Jun 2012 05:58:26 +0000 (22:58 -0700)]
add canon_perftest
Evan Martin [Sat, 2 Jun 2012 23:56:25 +0000 (16:56 -0700)]
Merge pull request #321 from nico/diff
Fix a bug that caused total_time to always be -1.
Nico Weber [Fri, 1 Jun 2012 21:00:32 +0000 (14:00 -0700)]
Remove code that was never executed.
total_time was always -1, because it computed a pointer difference,
not a time difference (should've been |*end_time - *start_time|).
Evan Martin [Sat, 2 Jun 2012 17:20:09 +0000 (10:20 -0700)]
Merge pull request #320 from nico/cleanup
Remove unused variable last_update_millis_.
Evan Martin [Sat, 2 Jun 2012 17:18:58 +0000 (10:18 -0700)]
Merge pull request #319 from nico/vimp
Make `:set spell` only check spelling in comments. Patch from Thilo Six ...
Nico Weber [Fri, 1 Jun 2012 20:50:39 +0000 (13:50 -0700)]
Remove unused variable last_update_millis_.
Nico Weber [Fri, 1 Jun 2012 17:56:41 +0000 (10:56 -0700)]
Make `:set spell` only check spelling in comments. Patch from Thilo Six <T.Six@gmx.de>!
Evan Martin [Fri, 1 Jun 2012 04:24:11 +0000 (21:24 -0700)]
Merge pull request #318 from jsternberg/master
Missing/unused header files
Jonathan Sternberg [Thu, 31 May 2012 18:36:30 +0000 (14:36 -0400)]
Missing header file for "getenv".
Jonathan Sternberg [Wed, 30 May 2012 13:46:20 +0000 (09:46 -0400)]
Removing unused sys/termios.h header.