summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* v1.9.0v1.9.0Jan Niklas Hasse2019-01-301-1/+1
|
* Merge branch 'master' into releaseJan Niklas Hasse2019-01-3055-793/+1544
|\
| * mark this 1.9.0.gitJan Niklas Hasse2019-01-301-1/+1
| |
| * Merge pull request #1525 from avallee/patch-1Jan Niklas Hasse2019-01-301-1/+1
| |\ | | | | | | ninja_syntax.py: remove unused has_path argument
| | * ninja_syntax.py: remove unused has_path argumentAlex Vallee2019-01-301-1/+1
| |/ | | | | The usage of the parameter was removed a long time ago and was never cleaned up. The argument is not provided in the test.
| * Remove outdated part about Chrome download, fix #1338Jan Niklas Hasse2018-12-201-11/+3
| |
| * Remove dead Chromium link, fix #1263Jan Niklas Hasse2018-11-251-2/+1
| |
| * Merge pull request #1484 from smeenai/gyp-to-gnJan Niklas Hasse2018-11-251-3/+3
| |\ | | | | | | Change gyp to gn
| | * Change gyp to gnShoaib Meenai2018-10-191-3/+3
| | | | | | | | | | | | | | | Chrome has switched from gyp to gn, and Fuschia also uses it now. Note that the "Chromium Ninja documentation" link is dead, but I'm not sure what to replace it with. The closest I've found is https://chromium.googlesource.com/experimental/chromium/src/+/refs/wip/bajones/webvr/docs/ninja_build.md, but I'm not sure that's the original intended target.
| * | Merge pull request #1039 from bradking/improve-depfile-parserNico Weber2018-11-2111-65/+357
| |\ \ | | | | | | | | Fix depfile parser handling of multiple rules
| | * | Restore depfile toleration of multiple output paths on distinct linesBrad King2018-11-1911-17/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to introduction of depfile parser handling of multiple rules, ninja silently accepted a depfile of the form: out: in1 in2 in3 other: otherIn1 otherIn2 otherIn3 and incorrectly treated `other` and `otherIn*` as additional inputs to `out`. Now we prefer to reject this just as we already do for a depfile specifying multiple outputs on one line. However, this can break existing cases where such a depfile was silently tolerated. Add a `-w depfilemulti={err,warn}` option to control this behavior, and make it just a warning by default.
| | * | Fix depfile parser handling of multiple rulesBrad King2018-11-193-33/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently we handle Makefile rules of the form: out: in1 in2 in3 and the form: out: in1 \ in2 \ in3 Teach the depfile parser to handle the additional form: out: in1 out: in2 out: in3 This is also valid Makefile syntax and is the depfile format generated by the Intel Compiler for Windows. Note that the `gcc -MP` option adds empty phony rules to the generated Makefile fragment: out: in1 in2 in3 in1: in2: in3: Previously we tolerated these because they were treated as inputs, which was accidentally correct. Instead we must now tolerate these by ignoring targets for which no dependencies are specified.
| | * | Fix depfile parser test case line continuationBrad King2018-11-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Escape newlines for line continuation in the SpecialChars test case. Otherwise the test does not cover valid Makefile syntax. The missing line continuation was tolerated by our parser but is never (not) produced by a real compiler.
| | * | Re-arrange depfile parser token processing logicBrad King2018-11-192-22/+20
| | | | | | | | | | | | | | | | | | | | Re-arrange the existing logic to support later addition of post-token code even for empty tokens.
| | * | Re-generate depfile parser with re2cc 1.0.1Brad King2018-11-191-3/+2
| |/ /
| * | Add OSX build on travis (#1502)Takuto Ikuta2018-11-172-4/+12
| | | | | | | | | Also make test script works for OSX script command.
| * | Fit --help output into 80 columns and move verbose up, fix #1500Jan Niklas Hasse2018-11-161-3/+3
| | |
| * | Merge pull request #1474 from mathstuf/win32-invalid-parameter-helpJan Niklas Hasse2018-11-164-4/+13
| |\ \ | | | | | | | | Win32 invalid parameter help
| | * | subprocess-win32: add hint on ERROR_INVALID_PARAMETERBen Boeckel2018-11-091-0/+4
| | | | | | | | | | | | | | | | | | | | This is generally associated with the command line being too long. Give a hint to this case in the error message.
| | * | Win32Fatal: support a "hint" for the errorBen Boeckel2018-11-092-3/+7
| | | | | | | | | | | | | | | | | | | | The callsite might have extra context which is helpful for interpreting the error message.
| | * | manual: mention the "invalid parameter" caseBen Boeckel2018-11-091-1/+2
| | | | | | | | | | | | | | | | | | | | This happens often enough and the error message is quite unhelpful. Mention this error explicitly in the documentation.
| * | | Merge pull request #1462 from GoaLitiuM/win10colorJan Niklas Hasse2018-11-161-0/+12
| |\ \ \ | | | | | | | | | | Enable ANSI escape sequences on Windows 10 terminals
| | * | | Enable ANSI escape sequences on Windows 10 terminalsGoaLitiuM2018-11-141-0/+12
| | | | |
| * | | | Merge pull request #1439 from Lekensteyn/threaded-browse-pyNico Weber2018-11-151-1/+7
| |\ \ \ \ | | | | | | | | | | | | browse.py: fix delay with multiple connections
| | * | | | browse.py: fix delay with multiple connectionsPeter Wu2018-10-251-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Firefox opens two TCP connections and sends a request over the second connection, it is not processed until the first one is closed. Use a threaded server to solve this issue. Tested with Python 2.7.15 and 3.6.5. (Also tested with 2.6, but that failed due to lack of argparse.) Link: https://bugs.python.org/issue31639
| * | | | | Merge pull request #1496 from mathstuf/minor-fixesNico Weber2018-11-151-5/+5
| |\ \ \ \ \ | | | | | | | | | | | | | | Minor fixes
| | * | | | | HACKING: use `Python` for the projectBen Boeckel2018-11-141-1/+1
| | | | | | |
| | * | | | | HACKING: fix some whitespace nitsBen Boeckel2018-11-141-4/+4
| | | | | | |
| * | | | | | Merge pull request #1196 from danw/ReadFile_optJan Niklas Hasse2018-11-141-1/+11
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | Optimize ReadFile allocations
| | * | | | | | Optimize ReadFile allocationsDan Willemsen2016-11-071-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of continuously reallocating the output string, call reserve() up front to enlarge the string's buffer. Also use feof() instead of an empty read to detect the end of the file. This saves a syscall on <64kb files, which is about 5% (200ns) of the time to read a file on my machine. For our larger build.ninja files (~550MB), this saves about 500ms, which is more than half the time spent in this function. (Measured by adding METRICS_RECORD to this function during manifest_parser_perftest) For the standard manifest_parser_perftest, this only saves ~20ms out of ~600ms for a full run.
| * | | | | | | Improve error message when Python wasn't found for the browse toolJan Niklas Hasse2018-11-141-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See #1306.
| * | | | | | | Explain why there's no browse tool, fix #1478Jan Niklas Hasse2018-11-141-3/+6
| | |/ / / / / | |/| | | | |
| * | | | | | Fix rendering of code block, fix #955Jan Niklas Hasse2018-11-141-1/+1
| | | | | | |
| * | | | | | Make -j 0 run unlimited parallel builds, fix #1309Martell Malone2018-11-141-3/+6
| | |_|/ / / | |/| | | |
| * | | | | Merge pull request #1264 from gahr/DirName-compile-timeJan Niklas Hasse2018-11-131-3/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | DirName's separators and their length are known at compile time
| | * | | | | DirName's separators and their length are known at compile timePietro Cerutti2017-04-111-3/+4
| | | | | | |
| * | | | | | Add --verbose as an alternative spelling for -v, fix #1310Jan Niklas Hasse2018-11-131-1/+2
| | | | | | |
| * | | | | | Add unit test for #1491Jan Niklas Hasse2018-11-131-0/+2
| | | | | | |
| * | | | | | Merge pull request #1491 from mathstuf/elision-off-by-nJan Niklas Hasse2018-11-131-1/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | util: don't add ellipses width when deciding if they're necessary
| | * | | | | | util: don't add ellipses width when deciding if they're necessaryBen Boeckel2018-11-091-1/+1
| | | |_|_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | If the string fits, just use it. If we need the ellipses, *then* we need to compute the width based on that.
| * | | | | | Allow disabling of escape code stripping, fix #1475Jan Niklas Hasse2018-11-133-6/+20
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | Don't strip colors when CLICOLOR_FORCE is set to a non-zero value. This environment variable is also used by CMake's Make back-end.
| * | | | | Merge pull request #1307 from moroten/fix-too-long-path-test-bugJan Niklas Hasse2018-11-083-14/+74
| |\ \ \ \ \ | | | | | | | | | | | | | | Verify GetFullPathName return value
| | * | | | | Verify GetFullPathName return valueFredrik Medley2018-11-083-14/+74
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GetFullPathName previously failed silently on long path names resulting in uninitialized path result. Signed-off-by: Fredrik Medley <fredrik.medley@autoliv.com>
| * | | | | Make output_test.py independent of the environmentJan Niklas Hasse2018-11-071-2/+8
| | | | | |
| * | | | | Merge pull request #1488 from maciej-pawlowski-opera/issue-1227-2Jan Niklas Hasse2018-11-074-510/+431
| |\ \ \ \ \ | | | | | | | | | | | | | | Fix parsing some special chars in depfiles (take 2)
| | * | | | | Fix parsing some special chars in depfilesMaciej Pawlowski2018-11-073-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows paths with "[", "]" and "%" to appear in depfiles. Previously, only "[" would be handled properly. Fixes #1227.
| | * | | | | Regenerate depfile_parser.cc and lexer.cc with newer re2cMaciej Pawlowski2018-11-072-505/+423
| | | | | | |
| * | | | | | Fix older VS compatibility issues and PDB files generation issue. (#1435)ikifof2018-11-073-8/+21
| |/ / / / / | | | | | | | | | | | | Fixes #1411.
| * | | | | Merge pull request #1473 from zdave/query-term-stdoutJan Niklas Hasse2018-11-051-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | Query terminal width from STDOUT_FILENO
| | * | | | | Query terminal width from STDOUT_FILENODavid Emett2018-09-291-1/+1
| | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | Rather than 0 (stdin). So it will work even if ninja's stdin isn't connected to the terminal for whatever reason.