Evan Martin [Sun, 6 May 2012 21:00:09 +0000 (14:00 -0700)]
Merge pull request #298 from tfarina/build-log-string
No need to convert log_path to c-string. Two places.
Thiago Farina [Sun, 6 May 2012 20:37:46 +0000 (17:37 -0300)]
No need to convert log_path to c-string. Two places.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Fri, 4 May 2012 23:07:37 +0000 (16:07 -0700)]
mention reactos
Evan Martin [Fri, 4 May 2012 23:04:59 +0000 (16:04 -0700)]
mention platform support
Evan Martin [Fri, 4 May 2012 21:50:16 +0000 (14:50 -0700)]
Merge pull request #296 from nico/confenv
Let configure.py remember its environment for rerunning.
Evan Martin [Fri, 4 May 2012 21:46:05 +0000 (14:46 -0700)]
Merge pull request #294 from nico/fastercanonpath
Make CanonicalizePath() 47% faster on mac, 37% faster on linux.
Nico Weber [Fri, 4 May 2012 21:25:32 +0000 (14:25 -0700)]
First check for string end, then dereference. (5ms more expensive, heh.)
Nico Weber [Fri, 4 May 2012 21:20:33 +0000 (14:20 -0700)]
Do not access os.environ directly.
Nico Weber [Fri, 4 May 2012 15:33:46 +0000 (08:33 -0700)]
Let configure.py remember its environment for rerunning.
Without this, CXX is lost when ninja decides that it's time to
regenerate build.ninja, which makes performance tweaking surprising.
Nico Weber [Fri, 4 May 2012 01:18:03 +0000 (18:18 -0700)]
Don't walk path components twice. Speeds up CanonicalizePath() 115ms (285ms -> 170ms).
Nico Weber [Fri, 4 May 2012 01:15:15 +0000 (18:15 -0700)]
Reorder a few lines, no functionality (or perf) change.
Nico Weber [Fri, 4 May 2012 01:14:34 +0000 (18:14 -0700)]
Skip single '/' characters earlier in the loop. 300ms -> 285ms.
Nico Weber [Thu, 3 May 2012 23:13:40 +0000 (16:13 -0700)]
Speed up CanonicalizePath() 6.8% (322ms -> 300ms for chrome empty build).
Evan Martin [Wed, 2 May 2012 03:46:34 +0000 (20:46 -0700)]
clarify a flag in configure.py
(The -g flag is always on, --debug just adds e.g. libstdc++'s extra
debugging features.)
Related to issue #286.
Evan Martin [Fri, 27 Apr 2012 20:16:14 +0000 (13:16 -0700)]
add $: to docs
Evan Martin [Wed, 2 May 2012 03:34:21 +0000 (20:34 -0700)]
Merge pull request #291 from nico/ocd
Fix layout width in ninja_syntax.py.
Evan Martin [Wed, 2 May 2012 03:33:41 +0000 (20:33 -0700)]
Merge pull request #290 from nico/metrics
Add .ninja_log load time to metrics.
Evan Martin [Wed, 2 May 2012 03:30:17 +0000 (20:30 -0700)]
Merge pull request #284 from nico/fixwinbuild
Fix Windows build.
Evan Martin [Wed, 2 May 2012 03:29:57 +0000 (20:29 -0700)]
Merge pull request #283 from tfarina/string-ampersand
Put & operator with the type rather than the variable name.
Nico Weber [Wed, 2 May 2012 01:26:51 +0000 (18:26 -0700)]
Fix layout width in ninja_syntax.py.
The last line would sometimes be needlessly longer than the layout
width. One example is line 67 in the build.ninja generated by
ninja's own configure.py: Before this patch, ninja_syntax would
create a 81 character line.
Nico Weber [Tue, 1 May 2012 15:42:35 +0000 (08:42 -0700)]
Add .ninja_log load time to metrics.
On my system, it takes 22% of the empty build time for chrome.
Evan Martin [Tue, 1 May 2012 05:35:58 +0000 (22:35 -0700)]
Merge pull request #288 from nico/buildfix
ninja_syntax.build() returns a list, not a single string.
Nico Weber [Tue, 1 May 2012 03:15:30 +0000 (20:15 -0700)]
ninja_syntax.build() returns a list, not a single string.
Fixes 'multiple rules' warnings on mac/linux.
Evan Martin [Mon, 30 Apr 2012 16:22:19 +0000 (09:22 -0700)]
Merge pull request #285 from nico/winninjatest
Make it possible to write `ninja ninja_test` on windows (as opposed to `ninja ninja_test.exe`). Also `ninja ninja`.
Evan Martin [Mon, 30 Apr 2012 16:21:32 +0000 (09:21 -0700)]
Merge pull request #287 from nico/gtestnortti
Fix ninja_test build with clang, build without rtti on windows.
Nico Weber [Mon, 30 Apr 2012 15:40:34 +0000 (08:40 -0700)]
Explicitly pass -DGTEST_HAS_RTTI to fix building ninja_test with clang.
Nico Weber [Mon, 30 Apr 2012 15:40:12 +0000 (08:40 -0700)]
Build without RTTI on windows (/GR-), saves 1kB and is consisten with linux/mac.
Nico Weber [Mon, 30 Apr 2012 15:11:21 +0000 (08:11 -0700)]
Provide 'ninja' as alias for 'ninja.exe' too. Tidy up.
Nico Weber [Mon, 30 Apr 2012 15:06:28 +0000 (08:06 -0700)]
Provide 'ninja_test' as alias for 'ninja_test.exe' on windows.
Nico Weber [Mon, 30 Apr 2012 15:04:10 +0000 (08:04 -0700)]
Fix Windows build.
Thiago Farina [Sat, 28 Apr 2012 18:21:37 +0000 (15:21 -0300)]
Put & operator with the type rather than the variable name.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Sat, 28 Apr 2012 17:56:38 +0000 (10:56 -0700)]
Merge pull request #274 from polrop/max_load_average
Max load average
Evan Martin [Sat, 28 Apr 2012 16:06:28 +0000 (09:06 -0700)]
emacs: hook up ninja-mode to extension
Evan Martin [Sat, 28 Apr 2012 05:59:39 +0000 (22:59 -0700)]
Merge pull request #282 from iwadon/fix-link-to-gplus
Fix a link to Google+
Hiroyuki Iwatsuki [Sat, 28 Apr 2012 01:57:06 +0000 (10:57 +0900)]
Fix a link to Google+.
Evan Martin [Fri, 27 Apr 2012 15:14:28 +0000 (08:14 -0700)]
rearrange the manual
My goals were:
- shorten the introductory text, hopefully quickly answering the "why?"
question first.
- put the information relevant to ninja users (e.g. people using CMake
who don't especially care about ninja) next, at the beginning.
- consolidate the "generating ninja files" text below.
Evan Martin [Fri, 27 Apr 2012 15:19:35 +0000 (08:19 -0700)]
manual: limit width to 45em
I had a local user stylesheet that was doing this for all sites
so I hadn't noticed how bad it was!
Evan Martin [Thu, 26 Apr 2012 15:02:15 +0000 (08:02 -0700)]
suggest ninja -h when someone runs 'ninja help'
Evan Martin [Thu, 26 Apr 2012 04:55:32 +0000 (21:55 -0700)]
doc encoding support
Evan Martin [Thu, 26 Apr 2012 04:52:07 +0000 (21:52 -0700)]
allow UTF-8 in rule descriptions
The lexer already mostly allowed this, except that chars >127 were
being interpreted as negative indexes into the lexer table.
Evan Martin [Thu, 26 Apr 2012 04:22:21 +0000 (21:22 -0700)]
Merge pull request #278 from tychoish/master
Minor Documentation Tweak
Evan Martin [Thu, 26 Apr 2012 03:30:35 +0000 (20:30 -0700)]
reduce custom ninja status patch in minor ways
Elsewhere in the code I avoid sstream and manual buffer management,
so switch this code to behave similarly. Sorry for being OCD.
Evan Martin [Thu, 26 Apr 2012 03:23:26 +0000 (20:23 -0700)]
Merge branch 'custom_ninja_status' of git://github.com/polrop/ninja
Evan Martin [Thu, 26 Apr 2012 03:21:26 +0000 (20:21 -0700)]
Merge pull request #272 from nico/statstweak
Switch the order of total and avg columns in -d stats output.
Evan Martin [Thu, 26 Apr 2012 03:18:42 +0000 (20:18 -0700)]
Merge pull request #269 from sgraham/explain
add support for -d explain to help debug why rules are running
Evan Martin [Thu, 26 Apr 2012 03:15:19 +0000 (20:15 -0700)]
Merge pull request #228 from pcc/lazily-create-commandrunner
Lazily create the CommandRunner in Builder::Build
Evan Martin [Thu, 26 Apr 2012 03:13:10 +0000 (20:13 -0700)]
Merge branch 'dont-clean-phony' of git://github.com/pcc/ninja
Conflicts:
src/clean.cc
Evan Martin [Thu, 26 Apr 2012 03:06:59 +0000 (20:06 -0700)]
Merge pull request #207 from iwadon/fix-configure.py-windows
Fix configure.py for unpacked gtest on Windows platform.
Nicolas Despres [Tue, 24 Apr 2012 09:09:28 +0000 (11:09 +0200)]
Refactor and test progress status formatting.
Nicolas Despres [Thu, 19 Apr 2012 12:26:33 +0000 (14:26 +0200)]
Introduce NINJA_STATUS env var for customization.
Some people may want to display different relevant information about
the progress of the build. Also it can be usefull to debug jobs
allocation.
Nicolas Despres [Thu, 19 Apr 2012 13:13:50 +0000 (15:13 +0200)]
Remove trailing white spaces.
tycho garen [Tue, 24 Apr 2012 02:26:35 +0000 (22:26 -0400)]
docs: clarifying that there can be only one command per rule
Nicolas Despres [Thu, 5 Apr 2012 13:44:36 +0000 (15:44 +0200)]
Add -l N option to limit the load average.
This is similar to GNU make -l/--load-average option. It limits the number
of job started if the load average exceed the given value. It can be very
useful when running ninja on a continuous integration server where we want
to use parallelism as much as possible without overloading the server.
Nicolas Despres [Thu, 19 Apr 2012 13:26:28 +0000 (15:26 +0200)]
Remove trailing white spaces.
Nico Weber [Tue, 17 Apr 2012 17:07:06 +0000 (10:07 -0700)]
Switch the order of total and avg columns in -d stats output.
Scott Graham [Fri, 13 Apr 2012 23:55:37 +0000 (16:55 -0700)]
add support for -d explain to help debug why rules are running
Evan Martin [Wed, 11 Apr 2012 00:07:42 +0000 (17:07 -0700)]
Merge pull request #252 from qhuo/remove-depfile-when-cleaning
Remove depfiles when running "ninja -t clean <target>" or "ninja -t clean -r <rule>"
Evan Martin [Tue, 10 Apr 2012 23:25:02 +0000 (16:25 -0700)]
Merge pull request #265 from mathstuf/dev/verbose-bootstrap
Allow the bootstrap to be verbose
Evan Martin [Tue, 10 Apr 2012 23:23:45 +0000 (16:23 -0700)]
Merge pull request #253 from qhuo/include-io.h
Fix windows build (add #include <io.h>)
Evan Martin [Thu, 5 Apr 2012 00:26:50 +0000 (17:26 -0700)]
Make |log_| variable private to BuildLog.
This fix the TODO in build_log.h file.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Evan Martin [Thu, 5 Apr 2012 00:23:07 +0000 (17:23 -0700)]
Merge pull request #263 from mathstuf/dev/gcc-470-build-fixes
Include unistd.h where needed
Evan Martin [Thu, 5 Apr 2012 00:21:08 +0000 (17:21 -0700)]
Merge pull request #260 from sgraham/rspfile_syntax
add rspfile and rspfile_content to ninja_syntax
Evan Martin [Thu, 5 Apr 2012 00:14:30 +0000 (17:14 -0700)]
Merge pull request #259 from usovalx/distcc_depfile_fix
Explicitly specify target name for gcc depfiles
Evan Martin [Thu, 5 Apr 2012 00:13:33 +0000 (17:13 -0700)]
Merge pull request #256 from iwadon/fix-sign-compare
fix warning: "comparison between signed and unsigned integer expressions"
Evan Martin [Thu, 5 Apr 2012 00:13:19 +0000 (17:13 -0700)]
Merge pull request #257 from PetrWolf/
53598255
Add NOMINMAX macro to fix a compilation error on Win32
Ben Boeckel [Fri, 30 Mar 2012 23:28:37 +0000 (19:28 -0400)]
Allow the bootstrap to be verbose
Ben Boeckel [Wed, 28 Mar 2012 23:18:09 +0000 (19:18 -0400)]
Include unistd.h where needed
Scott Graham [Tue, 27 Mar 2012 00:36:43 +0000 (17:36 -0700)]
add rspfile and rspfile_content to ninja_syntax
Oleksandr Usov [Fri, 23 Mar 2012 15:40:04 +0000 (15:40 +0000)]
Explicitly specify target name for gcc depfiles
Evan Martin [Sun, 18 Mar 2012 23:49:31 +0000 (16:49 -0700)]
Merge pull request #251 from polrop/depfile-parser-accept-tilde
Depfile parser accept tilde.
Hiroyuki Iwatsuki [Fri, 16 Mar 2012 13:41:39 +0000 (22:41 +0900)]
fix warning: "comparison between signed and unsigned integer expressions"
Petr Wolf [Fri, 16 Mar 2012 12:59:28 +0000 (13:59 +0100)]
Add NOMINMAX macro to fix a compilation error on Win32
Qingning Huo [Thu, 15 Mar 2012 21:48:29 +0000 (21:48 +0000)]
Fix windows build (add #include <io.h>)
Qingning Huo [Wed, 14 Mar 2012 21:11:31 +0000 (21:11 +0000)]
Remove depfiles when running when running "ninja -t clean <target>"
or "ninja -t clean -r <rule>"
Nicolas Despres [Wed, 14 Mar 2012 19:33:32 +0000 (20:33 +0100)]
Depfile parser accept tilde.
Evan Martin [Tue, 13 Mar 2012 23:37:53 +0000 (16:37 -0700)]
Merge pull request #250 from qhuo/SetCloseOnExec-for-Windows
Add a Windows version of SetCloseOnExec()
Evan Martin [Tue, 13 Mar 2012 23:31:39 +0000 (16:31 -0700)]
Merge pull request #249 from qhuo/StatBadPath-Win7
Fix StatBadPath for Windows 7
Qingning Huo [Tue, 13 Mar 2012 23:28:44 +0000 (23:28 +0000)]
Add a Windows version of SetCloseOnExec()
Qingning Huo [Tue, 13 Mar 2012 23:20:12 +0000 (23:20 +0000)]
Fix StatBadPath for Windows 7
The StatBadPath test expects both Windows and Linux to reject a
path name with 512 characters. However, it seems that such path
is actually acceptable to Windows 7. The change constructs a
different path name that is invalid on Windows.
Evan Martin [Tue, 13 Mar 2012 22:12:57 +0000 (15:12 -0700)]
Merge pull request #246 from HeisSpiter/master
Fix resources leaks
Pierre Schweitzer [Tue, 13 Mar 2012 10:25:42 +0000 (11:25 +0100)]
Fix resources leaks
Evan Martin [Tue, 13 Mar 2012 06:28:18 +0000 (23:28 -0700)]
Merge pull request #245 from usovalx/unify_depfile_targets
Issue #241 - handle depfiles generated by older versions of GCC
Oleksandr Usov [Mon, 12 Mar 2012 19:14:07 +0000 (19:14 +0000)]
Issue #241 - handle depfiles generated by older versions of GCC
Older versions of GCC would produce broken depfiles when -MT or -MQ is used
gcc43 -MT foo.o -MMD -MF foo.o.d -o foo.o -c foo.c
will result in the following depfile
foo.o foo.o: <dependencies>
Parse multiple outputs unifying duplicates and correctly report errors if
they are different.
Evan Martin [Thu, 8 Mar 2012 07:04:02 +0000 (23:04 -0800)]
Merge pull request #235 from fischman/ppoll
pselect->ppoll on linux to raise the process limit roof
Evan Martin [Thu, 8 Mar 2012 07:03:50 +0000 (23:03 -0800)]
Merge pull request #239 from pcc/enotdir
Treat paths of the form "existing-file/something" as non-existent
Peter Collingbourne [Mon, 5 Mar 2012 01:45:04 +0000 (01:45 +0000)]
Treat paths of the form "existing-file/something" as non-existent
Some people like to construct phony target names by appending a
"/something" suffix to an existing target "foo". But if "foo" is an
existing file, stat will report ENOTDIR for this path, causing ninja
to spew errors. Fix this by treating ENOTDIR in the same way as we
do ENOENT -- as a non-existent path.
Evan Martin [Tue, 6 Mar 2012 21:42:47 +0000 (13:42 -0800)]
drop rtti via -fno-rtti; we don't use it
Evan Martin [Tue, 6 Mar 2012 18:19:12 +0000 (10:19 -0800)]
make urtle fit on 24-line terminal
Evan Martin [Tue, 6 Mar 2012 18:15:19 +0000 (10:15 -0800)]
adjust rspfile docs to properly render
Evan Martin [Mon, 5 Mar 2012 16:03:11 +0000 (08:03 -0800)]
Merge pull request #238 from pcc/outputs-ready-no-inputs
Mark a phony target with no inputs as outputs-ready
Evan Martin [Mon, 5 Mar 2012 16:02:05 +0000 (08:02 -0800)]
Merge pull request #237 from pcc/ninja-clean-hint
Give a useful hint if the user runs "ninja clean" and there is no "clean...
Peter Collingbourne [Mon, 5 Mar 2012 01:35:44 +0000 (01:35 +0000)]
Mark a phony target with no inputs as outputs-ready
Even if such a target is dirty (i.e. the file does not exist), it
has nothing to do, which makes it safe to mark as outputs-ready.
Without this change, ninja will print no output when rebuilding the
target (or an order-only dependency thereof), instead of reporting
it has "no work to do".
Peter Collingbourne [Mon, 5 Mar 2012 01:22:21 +0000 (01:22 +0000)]
Give a useful hint if the user runs "ninja clean" and there is no "clean" target
Ami Fischman [Sun, 4 Mar 2012 03:58:09 +0000 (19:58 -0800)]
addressed pcc comments
Ami Fischman [Sun, 4 Mar 2012 01:42:39 +0000 (17:42 -0800)]
pselect->ppoll on linux to raise the process limit roof
Evan Martin [Fri, 2 Mar 2012 05:22:18 +0000 (21:22 -0800)]
Merge pull request #231 from pcc/exit-cleanup-modified
Be more selective about deleting output files when interrupted
Evan Martin [Thu, 1 Mar 2012 20:07:40 +0000 (12:07 -0800)]
add an "urtle" tool
Peter Collingbourne [Tue, 28 Feb 2012 02:14:03 +0000 (02:14 +0000)]
Be more selective about deleting output files when interrupted
Specifically, only delete if the file was modified or if the rule uses
a depfile.
Fixes issue #226.
Peter Collingbourne [Sun, 26 Feb 2012 22:32:48 +0000 (22:32 +0000)]
Don't delete phony targets when cleaning a specified target
Also, modify Cleaner::CleanAll to use Edge::is_phony.
Evan Martin [Tue, 28 Feb 2012 16:07:32 +0000 (08:07 -0800)]
Merge pull request #229 from sgraham/overprint
[win32] Overprint the previous line if we're attached to a console