Evan Martin [Tue, 23 Oct 2012 16:37:55 +0000 (09:37 -0700)]
fix bad merge
Evan Martin [Mon, 8 Oct 2012 23:31:15 +0000 (16:31 -0700)]
mingw helper: drop unused -r flag
Evan Martin [Mon, 8 Oct 2012 23:30:27 +0000 (16:30 -0700)]
update mingw docs for ubuntu precise
Evan Martin [Mon, 8 Oct 2012 17:09:12 +0000 (10:09 -0700)]
fix whitespace
Evan Martin [Fri, 28 Sep 2012 17:05:34 +0000 (10:05 -0700)]
bootstrap: fail more gracefully if gcc isn't available
Evan Martin [Sun, 21 Oct 2012 19:20:33 +0000 (12:20 -0700)]
Merge pull request #450 from zchothia/zc/py3k
Add support for Python 3
Zaheer Chothia [Fri, 19 Oct 2012 07:46:09 +0000 (09:46 +0200)]
Python scripts: use built-in print function.
Zaheer Chothia [Thu, 18 Oct 2012 13:02:48 +0000 (15:02 +0200)]
Add support for Python 3
Evan Martin [Wed, 17 Oct 2012 18:54:45 +0000 (11:54 -0700)]
Merge pull request #441 from tfarina/missing-virtual
Add missing 'virtual' annotation to ReadFile() override.
Thiago Farina [Tue, 9 Oct 2012 02:48:11 +0000 (23:48 -0300)]
Add missing 'virtual' annotation to ReadFile() override.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Wed, 17 Oct 2012 05:28:06 +0000 (22:28 -0700)]
Merge pull request #448 from maximuska/proposed/buildlog-mini-refactor2
Proposed/buildlog mini refactor2
Maxim Kalaev [Sun, 14 Oct 2012 18:40:46 +0000 (20:40 +0200)]
build log: fixing parameter names
Evan Martin [Fri, 12 Oct 2012 17:03:21 +0000 (10:03 -0700)]
Merge pull request #446 from maximuska/proposed/start-end-edge-metrics
build metrics: StartEdge and EndEdge
Maxim Kalaev [Fri, 12 Oct 2012 06:16:06 +0000 (08:16 +0200)]
build metrics: StartEdge and EndEdge
Total build time is also relevant.
The costs of StartEdge and EndEdge turned out to be quite surprising.
Especially if multiple targets are specified on edges.
(I've tried declaring depfiles targets explicitly)
Maxim Kalaev [Fri, 12 Oct 2012 06:59:49 +0000 (08:59 +0200)]
build log: mini-refactoring to use constructors to initialize entries
Maxim Kalaev [Fri, 12 Oct 2012 06:57:23 +0000 (08:57 +0200)]
build log: moving HashCommand() calculation out of targets loop
Maxim Kalaev [Sat, 6 Oct 2012 21:16:21 +0000 (23:16 +0200)]
build log: Adding test for multiple target edges
Evan Martin [Thu, 4 Oct 2012 22:52:47 +0000 (15:52 -0700)]
Merge pull request #439 from wolfp/metric-recompact
Add metric for log recompacting
Petr Wolf [Thu, 4 Oct 2012 20:07:25 +0000 (16:07 -0400)]
Add metric for log recompacting
Evan Martin [Thu, 4 Oct 2012 19:53:32 +0000 (12:53 -0700)]
Merge pull request #438 from wolfp/clean-efficiency
Improve the efficiency of -t clean
Petr Wolf [Thu, 4 Oct 2012 19:42:15 +0000 (15:42 -0400)]
Improve the efficiency of -t clean
Prevent each node from being examined for cleaning multiple times, if it
is used in several other nodes
Evan Martin [Wed, 3 Oct 2012 20:05:26 +0000 (13:05 -0700)]
Merge pull request #437 from mo/master
[PATCH] Fixed two spelling errors in ninja
Martin Olsson [Wed, 3 Oct 2012 08:10:53 +0000 (10:10 +0200)]
Fix two spelling errors
Evan Martin [Tue, 2 Oct 2012 19:05:29 +0000 (12:05 -0700)]
Merge pull request #436 from tfarina/dry-run-unnamed-namespace
Move DryRunCommandRunner into a unnamed namespace.
Thiago Farina [Tue, 2 Oct 2012 01:13:39 +0000 (22:13 -0300)]
Move DryRunCommandRunner into a unnamed namespace.
No functional change.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Sun, 30 Sep 2012 17:20:51 +0000 (10:20 -0700)]
Merge pull request #433 from polrop/fix-help-option
Don't say -h is invalid whereas it is supported.
Nicolas Despres [Thu, 27 Sep 2012 18:49:22 +0000 (20:49 +0200)]
Don't say -h is invalid whereas it is supported.
getopt_long(3) was reporting "ninja: invalid option -- h" when "ninja -h" was
called.
Regression most probably introduced by
5fdb12ed5cec4e1c853c64026142d088ff5519e1
Evan Martin [Sun, 23 Sep 2012 16:51:39 +0000 (09:51 -0700)]
Merge pull request #428 from maximuska/proposed/rpm-build-fixed
packaging: refactored rpm building
Maxim Kalaev [Fri, 14 Sep 2012 10:46:01 +0000 (13:46 +0300)]
packaging: refactored rpm building
Now passing through a valid SRPM, working in a standard way.
Evan Martin [Fri, 21 Sep 2012 22:36:52 +0000 (15:36 -0700)]
Merge pull request #427 from jonforums/jf/mingw-n-msvc
fix mingw build fail - redux
Evan Martin [Thu, 20 Sep 2012 21:47:32 +0000 (14:47 -0700)]
Merge pull request #426 from sgraham/spaces-in-headers-2
fix spaces in headers for -t msvc
Jon [Thu, 20 Sep 2012 17:46:41 +0000 (13:46 -0400)]
Always include stdio.h
Scott Graham [Thu, 20 Sep 2012 17:01:25 +0000 (10:01 -0700)]
less random comment
Scott Graham [Thu, 20 Sep 2012 16:36:37 +0000 (09:36 -0700)]
review fixes
Jon [Thu, 20 Sep 2012 14:08:30 +0000 (10:08 -0400)]
Silence bothersome warning from -Wextra
Struct initializations such as those in `CLWrapper::Run` of file
`src/msvc_helper-win32.cc` causes MinGW GCC to spew warnings.
Jon [Thu, 20 Sep 2012 14:05:11 +0000 (10:05 -0400)]
Give MinGW builds MSVC build helper superpowers
Note: _WIN32 is used instead of WIN32 to enable builds with MSVC
IDE, Windows SDK non-IDE command line tools, and mingw/mingw-w64
based toolchains
Scott Graham [Thu, 20 Sep 2012 00:15:55 +0000 (17:15 -0700)]
fix spaces in headers for -t msvc
Evan Martin [Tue, 18 Sep 2012 22:08:23 +0000 (15:08 -0700)]
Merge pull request #419 from syntheticpp/rate-buffer-size
Buffer size passed to snprintf is wrong in rate code
Peter Kümmel [Tue, 18 Sep 2012 07:14:39 +0000 (09:14 +0200)]
Fix subtile buffer size error
The deduced type was char* with size 4 and not char[32] with size 32.
This removes strange output characters on Windows.
Peter Kümmel [Tue, 18 Sep 2012 07:11:40 +0000 (09:11 +0200)]
build with msvc2012
Peter Kümmel [Tue, 18 Sep 2012 07:10:47 +0000 (09:10 +0200)]
remove some code duplication
Evan Martin [Mon, 17 Sep 2012 22:52:15 +0000 (15:52 -0700)]
Merge pull request #422 from sgraham/fix-dupe-includes
don't emit duplicate headers for msvc helper
Scott Graham [Mon, 17 Sep 2012 22:46:55 +0000 (15:46 -0700)]
don't emit duplicate headers for msvc helper
Evan Martin [Fri, 14 Sep 2012 22:05:13 +0000 (15:05 -0700)]
Merge pull request #416 from nico/slide
Change rate measurement code.
Evan Martin [Fri, 14 Sep 2012 22:01:22 +0000 (15:01 -0700)]
Merge pull request #415 from nico/getopt
Clean up getopt_long call.
Nico Weber [Fri, 14 Sep 2012 13:37:31 +0000 (22:37 +0900)]
Change rate measurement code.
For %o, remove a superfluous + 0.5: snprintf("%f") rounds already.
Remove some unnecessary code.
For %c, fix a TODO to add a sliding window and update after every
completed edge. Else, with -j50 and several files that take 3s to
compile each, this number would only update every 150s. Also give
the number one decimal place so that this can measure steps slower
than 1s.
Nico Weber [Fri, 14 Sep 2012 04:14:16 +0000 (13:14 +0900)]
Clean up getopt_long call.
Remove now-unimplemented 'V' from getopt_long. Remove 'h', since it's
included in the long options. Order switch cases in the same order as in
the getopt_long argument.
Evan Martin [Thu, 13 Sep 2012 22:31:02 +0000 (15:31 -0700)]
mark msvc-helper as experimental
Evan Martin [Thu, 13 Sep 2012 18:07:45 +0000 (11:07 -0700)]
windows: merge msvc-helper into ninja.exe itself
Now "ninja -t msvc ..." passes the "..." to the msvc helper main.
This drastically simplifies bootstrap and makes ninja a single
binary again.
Evan Martin [Tue, 11 Sep 2012 04:23:08 +0000 (21:23 -0700)]
Merge pull request #414 from riannucci/master
Fix re2c detection in bootstrap which breaks win32 w/ gnuwin32
Robert A. Iannucci Jr [Tue, 11 Sep 2012 03:42:32 +0000 (20:42 -0700)]
Fix re2c detection which breaks win32 w/ gnuwin32
Evan Martin [Fri, 7 Sep 2012 20:26:52 +0000 (13:26 -0700)]
scoping workaround for gcc on Windows
From https://github.com/martine/ninja/issues/410.
Alex Caudill [Fri, 7 Sep 2012 20:24:26 +0000 (13:24 -0700)]
include termios for solaris
Alex Caudill [Fri, 7 Sep 2012 19:56:57 +0000 (19:56 +0000)]
add solaris platform definitions
Evan Martin [Fri, 7 Sep 2012 20:10:48 +0000 (13:10 -0700)]
disable a new warning that popped up on Windows
This pattern is safe as long as you're careful; we don't use it
very much.
Alex Caudill [Fri, 7 Sep 2012 19:46:17 +0000 (12:46 -0700)]
add GetProcessorCount() implementation for Solaris
Evan Martin [Fri, 7 Sep 2012 19:36:16 +0000 (12:36 -0700)]
drop special case for msvc bucket count
Calling bucket_count() works locally with MSVC. I wonder if some
other change in the code fixed this.
Evan Martin [Thu, 6 Sep 2012 18:20:23 +0000 (11:20 -0700)]
Merge pull request #408 from nico/fix
Make sure no stale test file exists before running build log tests.
Evan Martin [Thu, 6 Sep 2012 18:13:24 +0000 (11:13 -0700)]
allow tools to specify when they run (before/after build.ninja load)
This will be necessary to inline msvc-helper as well as so -t graph
can get depfiles.
Evan Martin [Wed, 5 Sep 2012 16:19:26 +0000 (09:19 -0700)]
factor out metrics dump from ninja main
Evan Martin [Wed, 5 Sep 2012 16:14:39 +0000 (09:14 -0700)]
factor out build log load from main
Evan Martin [Wed, 5 Sep 2012 01:41:13 +0000 (21:41 -0400)]
rearrange tool-picking logic
Now "ninja -t list" works from any directory.
Evan Martin [Tue, 4 Sep 2012 23:03:35 +0000 (19:03 -0400)]
show all in graph
Evan Martin [Tue, 4 Sep 2012 23:00:07 +0000 (19:00 -0400)]
reduce indent
Evan Martin [Tue, 4 Sep 2012 22:57:16 +0000 (18:57 -0400)]
move BuildConfig out of globals
Evan Martin [Tue, 4 Sep 2012 22:52:22 +0000 (18:52 -0400)]
remove DiskInterface from globals
Evan Martin [Tue, 4 Sep 2012 22:48:49 +0000 (18:48 -0400)]
remove unfortunate header dependency
This was temporarily added, and now it can be removed.
Evan Martin [Tue, 4 Sep 2012 22:43:45 +0000 (18:43 -0400)]
clarify setter
Evan Martin [Tue, 4 Sep 2012 22:39:04 +0000 (18:39 -0400)]
move BuildLog to DependencyScan
The build log is needed in computing whether an edge is
dirty, so I think it belongs here. (It's a bit weird
that Builder needs to reach into it to record completed
commands, maybe it will become cleaner with more thought.)
Evan Martin [Tue, 4 Sep 2012 22:21:52 +0000 (18:21 -0400)]
fix --debug for glibc pedantic mode
Evan Martin [Tue, 4 Sep 2012 22:08:41 +0000 (18:08 -0400)]
pass Builder as arg to build-running functions
Reducing use of globals.
Evan Martin [Sun, 2 Sep 2012 19:53:59 +0000 (15:53 -0400)]
remove config from BuildLog, rename members
Evan Martin [Sun, 2 Sep 2012 19:27:46 +0000 (12:27 -0700)]
remove a redundant arg to RecomputeOutputDirty
Evan Martin [Sun, 2 Sep 2012 18:03:01 +0000 (11:03 -0700)]
split out dirty recomputation logic from Edge class
Rather than passing States and DiskInterfaces through all the calls,
put the necessary ambient information in a new DependencyScan object
and move the code accordingly.
Note: I didn't move the source location of the functions to preserve
history, though this does result in a sort of weird order for the
functions in graph.cc.
Nico Weber [Sat, 1 Sep 2012 05:56:11 +0000 (22:56 -0700)]
Make sure no stale test file exists before running build log tests.
Evan Martin [Thu, 30 Aug 2012 18:26:55 +0000 (11:26 -0700)]
Merge pull request #407 from maximuska/proposed/dirty-on-missing-depfile
safer build: consider target dirty if depfile is missing
Maxim Kalaev [Wed, 29 Aug 2012 20:25:44 +0000 (22:25 +0200)]
safer build: consider target dirty if depfile is missing
Evan Martin [Tue, 28 Aug 2012 21:53:22 +0000 (14:53 -0700)]
Merge pull request #403 from nico/everylineweighsyoudown
Remove unused macro NINJA_UNUSED_ARG.
Nico Weber [Tue, 28 Aug 2012 19:11:27 +0000 (12:11 -0700)]
Remove unused macro NINJA_UNUSED_ARG.
Evan Martin [Fri, 24 Aug 2012 19:27:48 +0000 (12:27 -0700)]
point to HACKING.md in README
Evan Martin [Fri, 24 Aug 2012 19:01:00 +0000 (12:01 -0700)]
drop DepfileParserTest.Tilde, as it's covered by .SpecialChars
The SpecialChars test covers a bunch of different special characters,
including tilde.
Evan Martin [Fri, 24 Aug 2012 18:53:48 +0000 (11:53 -0700)]
link directly to gtest zip
Evan Martin [Fri, 24 Aug 2012 18:30:13 +0000 (11:30 -0700)]
update old test to cover newer rule attributes
Evan Martin [Fri, 6 Jan 2012 21:50:29 +0000 (13:50 -0800)]
add test that checks attributes on rules
Evan Martin [Fri, 24 Aug 2012 18:20:55 +0000 (11:20 -0700)]
windows: pass /Zi to gtest compile as well
Evan Martin [Fri, 24 Aug 2012 18:14:52 +0000 (11:14 -0700)]
remove crlfs from .gitignore
These were introduced by a change of mine on Windows, whoops.
Evan Martin [Fri, 17 Aug 2012 17:41:39 +0000 (10:41 -0700)]
fix test broken in 697350d
That's what I get for making last-second adjustments before checking in!
Evan Martin [Fri, 17 Aug 2012 17:25:21 +0000 (10:25 -0700)]
make it more explicit that a bad build log causes us to rebuild
(Committing this on top of b56fe80 since they're related,
but I may end up reverting both.)
Evan Martin [Fri, 17 Aug 2012 07:26:01 +0000 (00:26 -0700)]
Merge pull request #401 from syntheticpp/win-network-path
on windows a network path starts with two backslashes
Peter Kuemmel [Thu, 16 Aug 2012 13:26:33 +0000 (15:26 +0200)]
on windows a network path starts with two backslashes
Evan Martin [Thu, 16 Aug 2012 18:31:37 +0000 (11:31 -0700)]
drop HACKING from doxygen
I tried just fixing the code to pull in HACKING.md but it didn't show
up in the doxygen output; it's maybe too long to include anyway.
Evan Martin [Thu, 16 Aug 2012 18:28:03 +0000 (11:28 -0700)]
use 4 space tabs in configure.py, warn on re2c missing
Evan Martin [Thu, 16 Aug 2012 18:25:55 +0000 (11:25 -0700)]
many updates for HACKING.md
In particular, describe a policy for good patches.
Evan Martin [Thu, 16 Aug 2012 05:26:46 +0000 (22:26 -0700)]
Merge pull request #400 from nico/dynre2c
Only write re2c rules if a re2c binary is found in the PATH.
Nico Weber [Thu, 16 Aug 2012 03:11:27 +0000 (20:11 -0700)]
Only write re2c rules if a re2c binary is found in the PATH.
Evan Martin [Thu, 16 Aug 2012 03:08:06 +0000 (20:08 -0700)]
Merge pull request #399 from nico/hackless
Remove -fcolor-diagnostics reference from HACKING
Nico Weber [Thu, 16 Aug 2012 00:34:20 +0000 (17:34 -0700)]
Remove -fcolor-diagnostics reference from HACKING
configure.py adds that flag automatically if CXX is set to clang.
Evan Martin [Wed, 15 Aug 2012 21:46:57 +0000 (14:46 -0700)]
convert HACKING to markdown, add MSVC section
Scott Graham [Wed, 15 Aug 2012 04:09:19 +0000 (21:09 -0700)]
if a file is missing in the log, count it as dirty
This could cause overbuilding (if the log is missing an entry and
the right file is already in place) but is otherwise necessary
for correctness (if a file is already in place but we don't have
a log entry for it).
Evan Martin [Wed, 15 Aug 2012 03:59:21 +0000 (20:59 -0700)]
add a helper binary for wrapping cl.exe
Modify bootstrap etc. to make use of this binary.