Commit Graph

20 Commits (f1a8a4aaea628b041971a0fa1e9f05f530f4b8cf)

Author SHA1 Message Date
Takuto Ikuta aa57b34620 Update ninja to v1.8.2
New binaries for Mac, Linux32, Linux64, Windows.  Also update shell script.
See the bug for how these were built.
The main "new" thing is fix for old cmake.

Bug: 762354, 762407
Change-Id: I4f825e357796e1cb52d2efa041bde46d68cbe152
Reviewed-on: https://chromium-review.googlesource.com/659477
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Takuto Ikuta <tikuta@google.com>
8 years ago
Takuto Ikuta 372e0fdbfa Update ninja to v1.8.0.
New binaries for Mac, Linux32, Linux64, Windows.  Also update shell script.
See the bug for how these were built.
The main "new" thing is performance improvement when building chrome with goma.

After confirming the the behavior of ninja 1.8.0 on buildbot, I will roll ninja 1.8.1 includes fix for non-deterministic test.

TBR=dpranke@chromium.org
Bug: 761691, 738186
Change-Id: I108996dccfdf5d95d8815d6cece5eba46f3e8178
Reviewed-on: https://chromium-review.googlesource.com/648372
Commit-Queue: Takuto Ikuta <tikuta@google.com>
Reviewed-by: Nico Weber <thakis@chromium.org>
8 years ago
thakis 28a1ff42d9 Updata ninja to v1.7.2.
New binaries for Mac, Linux32, Linux64, Windows.  Also update shell script.
See the bug for how these were built.
The main "new" thing is a regression fix where 1.7.1 broke %e %r in
NINJA_STATUS.

BUG=663749

Review-Url: https://codereview.chromium.org/2489023002
8 years ago
thakis@chromium.org ce4d6c0224 Update ninja to v1.7.1 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built (comment 16 onwards).
See the bug comment 0 also for what's new in this version.

All binaries built by thakis@chromium.org.

The Windows binary is now (as of 1.7.x)  64-bit instead of 32-bit.

BUG=607268
TBR=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1925133002 .

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300281 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
thakis@chromium.org 2b6ed98e7d Update ninja to v1.7.0 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built. See the bug comment 0 also
for what's new in this version.

The linux binaries were built by thestig@chromium.org.
The windows and mac binaries were built by thakis@chromium.org.

The Windows binary is now 64-bit instead of 32-bit.

BUG=607268
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/1919773006 .

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300251 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
thakis@chromium.org 7286b9c573 Update ninja to v1.6.0 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.

The linux binaries were built by thestig@chromium.org.
The windows binary was built by scottmg@chromium.org.
The mac binary was built by thakis@chromium.org

BUG=505508
TBR=maruel@chromium.org

Review URL: https://codereview.chromium.org/1221683003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295863 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org bf216bff95 Update ninja to v1.5.3 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.

The linux binaries were built by thestig@chromium.org.
The windows binary was built by scottmg@chromium.org.
The mac binary was built by thakis@chromium.org

BUG=436109
TBR=maruel@chromium.org

Review URL: https://codereview.chromium.org/755753002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293084 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org 1395e48dd6 Update ninja to v1.5.1 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.

The linux binaries were built by thestig@chromium.org.
The windows binary was built by scottmg@chromium.org.
The mac binary was built by thakis@chromium.org

BUG=389683
TBR=maruel@chromium.org

Review URL: https://codereview.chromium.org/357043005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280451 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org 38e12a87b6 Revert r280425.
Might have caused

ninja: error: '..\..\third_party\qunit\src', needed by 'remoting\unittests\qunit\src', missing and no known rule to make it

on the windows bots.

BUG=389683

Review URL: https://codereview.chromium.org/341253004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280434 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thakis@chromium.org eb10a96e66 Update ninja to v1.5.0 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.

The linux binaries were built by thestig@chromium.org.
The windows binary was built by scottmg@chromium.org.
The mac binary was built by thakis@chromium.org

BUG=389683
R=maruel@chromium.org

Review URL: https://codereview.chromium.org/339083005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@280425 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
thestig@chromium.org 8d65ab6f97 Update Linux ninja binaries to not require GLIBC_2.14.
BUG=298725
R=thakis@chromium.org

Review URL: https://codereview.chromium.org/24919002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@225756 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
thakis@chromium.org 7af54a17f7 Update ninja to v1.4.0 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.

The linux binaries were built by thestig@chromium.org. 
The windows binary was built by scottmg@chromium.org. 
The mac binary was built by thakis@chromium.org 

This will hopefully fix http://crbug.com/247311

BUG=289947, 247311
Review URL: https://codereview.chromium.org/23523059/



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@222974 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
thakis@chromium.org 83dc9dfbf4 Update ninja to v1.3.4 on Mac, Linux32, Linux64, Windows.
See the bug for how these were built.                                            
                                                                                 
The linux binaries were built by thestig@chromium.org.                           
The windows binary was built by scottmg@chromium.org.                            
The mac binary was built by thakis@chromium.org                                  
                                                                                 
This contains fixes for http://crbug.com/245034 and http://crbug.com/242397      
                                                                                 
BUG=242397,245034,246734
TBR=scottmg



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@204049 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
thakis@chromium.org 5e555307b5 Update ninja to v1.3.3 on Mac, Linux32, Linux64, Windows.
On mac, I ran: 
git checkout v1.3.3 
./bootstrap.py 
CXX=path/to/chromiums/clang++ ./configure --with-gtest=path/to/gtest 
./ninja ninja_test 
./ninja_test # all passed 
strip ninja 

Empty build perf is ~7% slower (https://github.com/martine/ninja/issues/544), 
but this allows us to enable deps mode by default which will make empty builds 
twice as fast. 

Mac binary size grew by ~16kB. 

The linux binaries were built by thestig@chromium.org. 
The windows binary was built by scottmg@chromium.org. 

New stuff since 1.1: 
- NINJA_STATUS now allows %e, for elapsed time. 
- "pool" feature 
- "compdb" tool for writing clang compilation databases 
- faster deps mode (needs to be explicitly enabled in gyp, not done yet) 

BUG=241628
Review URL: https://codereview.chromium.org/15490003



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@201143 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
thakis@chromium.org d2ea1dc578 Update ninja to v1.1.0 on Mac, Linux32, Linux64, Windows.
On mac, I ran:
git checkout v1.1.0
ninja
./ninja ninja_test
./ninja_test # all passed
strip ninja

I verified that the empty build speed doesn't change.
Mac binary size grew by ~8kB.

The linux binaries were built by tony@chromium.org.
The windows binary was built by scottmg@chromium.org.

BUG=167996

Review URL: https://codereview.chromium.org/11734004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@174818 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
thakis@chromium.org 79b09c4748 Update ninja to v1.0.0 on Mac and Linux.
On both mac and linux, I ran:
git checkout v1.0.0
ninja
./ninja ninja_test
./ninja_test  # all passed
strip ninja

Changes since the last push:
* NINJA_STATUS can now print rates via the o and c format chars
* The version switch is now --version, -V no longer works
* -t list now works without a build.ninja
* Old .ninja_log files now trigger a rebuild instead of an error
* Missing .d files make the corresponding .o file dirty
* Allow @ and = in paths in depfiles
* Ninja's output is now lower-case ("error:" instead of "ERROR:" etc)
* Lots of Windows features (which doesn't affect Mac and Linux)

On Linux, I switched from gcc4.4.3 to clang r163126. The clang-built
binary is 125856 bytes (compared to 129944 bytes previously), and it does
an empty 'chrome' build about 70ms faster (0.94s instead of 1.01s).

The speed difference is almost completely in faster depfile parsing:

clang-built (0.943s):
$ time ../../ninja/ninja -C out/Release chrome -d stats
ninja: Entering directory `out/Release'
ninja: no work to do.
metric                  count   avg (us)        total (ms)
.ninja parse            716     507.8           363.6
canonicalize str        113486  0.2             27.7
canonicalize path       1305641 0.1             184.1
lookup node             1305641 0.2             200.9
.ninja_log load         1       11144.0         11.1
node stat               37828   2.6             98.0
depfile load            9266    80.9            749.3

path->node hash load 0.98 (48241 entries / 49157 buckets)

real    0m1.162s
user    0m0.980s
sys     0m0.170s


gcc-built (1.013s):
$ time ninja -C out/Release chrome -d stats
ninja: Entering directory `out/Release'
ninja: no work to do.
metric                  count   avg (us)        total (ms)
.ninja parse            716     516.4           369.7
canonicalize str        113486  0.2             27.6
canonicalize path       1305641 0.1             181.0
lookup node             1305641 0.2             260.0
.ninja_log load         1       11012.0         11.0
node stat               37828   2.6             98.2
depfile load            9266    86.3            799.3

path->node hash load 0.98 (48241 entries / 49157 buckets)

real    0m1.220s
user    0m0.970s
sys     0m0.240s



On Mac, I alsow used clang r163126. The binary size stayed at 125104 bytes,
performance didn't change. An empty build of chrome takes 1.26s. While
node stat is a bit slower, and there are more defiles to parse compared
to linux, most of the time difference is in slower .ninja parsing:

mac (1.263s):
$ time ../../ninja/ninja -C out/Release/ chrome -d stats
ninja: Entering directory `out/Release/'
ninja: no work to do.
metric                  count   avg (us)        total (ms)
.ninja parse            687     823.4           565.7
canonicalize str        115002  0.3             31.1
canonicalize path       1120853 0.2             175.6
lookup node             1120853 0.2             202.9
.ninja_log load         1       54126.0         54.1
node stat               38860   4.1             160.4
depfile load            9649    86.1            830.8

path->node hash load 0.99 (48522 entries / 49157 buckets)

real    0m1.478s
user    0m1.121s
sys     0m0.351s

TBR=scottmg
Review URL: https://codereview.chromium.org/10918242

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@156751 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
thakis@chromium.org 45298e08da Update ninja to v120715
On both mac and linux, I ran:

git checkout release-120715
ninja
./ninja ninja_test
./ninja_test  # all passed
strip ninja

Changes since the last push:
* ninja now has a functional -V flag that prints version information
* ninja is a lot faster. On my MBP, empty builds go from 1.8s to 1.1s,
  on my linux box from 1.4s to 0.9s
* ninja now has a -l N flag to do parallelsim based on load average

On linux, the binary grew 24 bytes, from 129920 to 129944. I used
gcc 4.4.3 to build ninja.

On mac, it grew from 4200 byte from 120904 to 125104 (likely caused by me
using a newer clang). I used clang r159409 to build ninja.

TBR=maruel@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10810025

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@147557 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
thakis@chromium.org f01196a6d8 Update ninja to 9b8e55d
On Linux, I did a full ninja checkout and then ran:
python bootstrap.py
./configure.py --with-gtest=../chrome/src/testing/gtest
./ninja ninja_test
./ninja_test # (all tests passed)
strip ninja

I timed empty builds of 'chrome' with the old and the new version,
both took 1.1s for that. Binary size comparison:
121632 bytes old binary
129920 bytes new binary
I used gcc 4.4.3 to build ninja.


On Mac, I updated an existing checkout to the latest version and then ran:
CXX=../chrome-git/src/third_party/llvm-build/Release+Asserts/bin/clang++ \
./configure.py --with-gtest=../chrome-git/src/testing/gtest
./ninja
./ninja ninja_test # (all tests passed)
strip ninja

I timed empty builds of 'chrome' with the old and the new version,
both took 1.1s for that. Binary size comparison:
128976 bytes old binary
120904 bytes new binary
I used clang r155352 to build ninja. Last time I used gcc 4.2, which
explains the size drop.


The major new features in this update are:
* ninja cleans up files when interrupted mid-build
* NINJA_STATUS environment variable to tweak the status line
(see ninja manual)


Also set svn:mimetype to application/octet-stream on both files.
Review URL: https://chromiumcodereview.appspot.com/10221020/



git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@134307 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
thakis@chromium.org f249e6f398 Update ninja to r 2ef3a546476987d6565141337c6309e7ae60f9fd
Built by running `./ninja && strip ninja` on
a (64bit) 10.6 Mac and on a 64bit linux box.
TBR=evan
Review URL: https://chromiumcodereview.appspot.com/9262002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@118205 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
evan@chromium.org 5b83491e60 Check in a ninja binary for Linux x64 and Mac.
The shell script currently just assumes Linux, but can be
fixed to run the Mac binary when appropriate.

Review URL: http://codereview.chromium.org/9212017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117723 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago