summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1421 from moroten/revert-for-appveyor-1Nico Weber2018-04-102-23/+1
|\ | | | | Revert "Fix stat when subdirectory is a file"
| * Revert "Fix stat when subdirectory is a file"Fredrik Medley2018-04-092-23/+1
|/ | | | | This reverts commit 6c864097ef11da366fb4070e6ab9f34d6a293766 and fixes the broken Appveyor builds on GitHub.
* rename a variableNico Weber2018-04-062-10/+10
|
* Merge pull request #1415 from nico/readidentNico Weber2018-04-063-9/+27
|\ | | | | Improve location of error messages around identifiers.
| * Improve location of error messages around identifiers.Nico Weber2018-04-063-9/+27
| | | | | | | | | | | | | | | | | | | | Lexer::ReadIdent() now sets last_token_ before returning, like Lexer::ReadEvalString() does. So all "expected identifiers" and things that call ReadIdent (pool parser, rule parser, let parser, code parsing the rule name after a : in a build line) now point the "^ near here" at what was there instead of the previous last_token According to manifest_parser_perftest, this is perf-neutral.
* | Merge pull request #1409 from atetubou/appveyorNico Weber2018-04-061-0/+14
|\ \ | | | | | | Add appveyor.yml for build & test on windows
| * | Add appveyor.ymlTakuto Ikuta2018-04-061-0/+14
| |/
* | Merge pull request #1410 from ryandesign/configure.py-CXXFLAGSNico Weber2018-04-061-1/+5
|\ \ | |/ |/| Honor CXXFLAGS in configure.py
| * Honor CXXFLAGS in configure.pyRyan Schmidt2018-04-061-1/+5
|/
* Merge pull request #1407 from nico/vimNico Weber2018-04-051-2/+2
|\ | | | | update ninja.vim version after bff884d55
| * update ninja.vim version after bff884d55Nico Weber2018-04-051-2/+2
|/
* Merge pull request #1406 from nico/dupeerrNico Weber2018-04-051-0/+1
|\ | | | | make `-w dupbuild` default to `err`
| * make `-w dupbuild` default to `err`Nico Weber2018-04-051-0/+1
|/ | | | | | | | | You can still opt out of this by passing `-w dupbuild=warn`. But if you're getting this diagnostic, your build files are incorrect and you should ideally just fix them. This is step 3 on https://github.com/ninja-build/ninja/issues/931 I sent an RfC to ninja-build a few months ago; nobody objected.
* Merge pull request #1348 from ngg/winunicodeNico Weber2018-04-057-26/+22
|\ | | | | Fix building on Windows in UNICODE mode
| * Fix building on Windows in UNICODE modeGergely Nagy2017-10-317-26/+22
| |
* | Merge pull request #1223 from asankah/masterNico Weber2018-04-051-2/+60
|\ \ | | | | | | [compdb] Expand response files inline based on a switch.
| * | [compdb] Move declarations closer to their use.Asanka Herath2018-04-051-3/+3
| | |
| * | [compdb] Expand response files inline based on a switch.Asanka Herath2018-04-051-2/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | References to response files in a clang compile_commands.json file can be tricky to deal with when tooling expects all the command flags to be present in the 'command' field. This change introduces a '-x' option to '-t compdb' that will expand @rspfile style response file invocations inline. E.g. ```sh $ ninja -t compdb cc [ { "directory": "/src/foo", "command": "cc -foo -bar @foo.obj.rsp", "file": "foo.cc" } ] $ ninja -t compdb -x cc [ { "directory": "/src/foo", "command": "cc -foo -bar foo.cc", "file": "foo.cc" } ] ```
* | | Merge pull request #1405 from nico/showoldestNico Weber2018-04-052-0/+14
|\ \ \ | | | | | | | | Fix confusing smart console output from concurrent builds
| * | | Fix confusing smart console output from concurrent buildsNico Weber2018-04-052-0/+14
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Developers tend to blame the last printed line when a build takes too long. Unfortunately, when building concurrently, the last printed line may have actually finished a long time ago. Under the current system, ninja does not update the status line to reflect what jobs are still running. This change makes ninja always print the oldest still running job instead. In other words, the likely build bottlenecks. Patch from David Zarzycki, originally uploaded at #1320.
* | | Merge pull request #1294 from bradking/plan-track-schedulingNico Weber2018-04-052-26/+40
|\ \ \ | | | | | | | | Track in Plan whether wanted edges have been scheduled
| * | | Track in Plan whether wanted edges have been scheduledBrad King2017-09-142-26/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the `want_` map to track for wanted edges whether they have been scheduled or not. This gives `ScheduleWork` a direct place to keep this information, making the logic more robust and easier to follow. It also future-proofs `ScheduleWork` to avoid repeat scheduling if it is called after an edge has been removed from `ready_` by `FindWork`.
* | | | Merge pull request #1404 from nico/c++17Nico Weber2018-04-052-1/+10
|\ \ \ \ | | | | | | | | | | make ninja build with -std=c++17
| * | | | make ninja build with -std=c++17Nico Weber2018-04-052-1/+10
|/ / / / | | | | | | | | | | | | | | | | | | | | Ninja is supposed to be able to build as C++98 so it can run on old systems, but it should also be possible to optionally build it with newer dialects.
* | | | Merge pull request #1361 from ppluciennik/ppluciennik/flush_logNico Weber2018-04-051-0/+3
|\ \ \ \ | | | | | | | | | | Flush changes into .ninja_log right away.
| * | | | Flush changes into .ninja_log right away.Pawel Pluciennik2017-11-241-0/+3
| | |_|/ | |/| |
* | | | Merge pull request #1365 from moroten/fix-disk-interface-tests-64-bit-timestampNico Weber2018-04-052-2/+43
|\ \ \ \ | |_|_|/ |/| | | Fix disk_interface_test.cc on Windows for 64-bit timestamp
| * | | Fix stat when subdirectory is a fileFredrik Medley2017-12-192-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | Make sure that stat on Windows, both with and without cache, returns "missing file" when running stat on notadir/foo where notadir is a file.
| * | | Fix disk_interface_test.cc on Windows for 64-bit timestampFredrik Medley2017-12-192-1/+20
| |/ / | | | | | | | | | | | | subdir/subsubdir/.. seems to get the time of subdir/subsubdir on NTFS (Windows 7), not the time of subdir.
* | | Merge pull request #1366 from fjhenigman/cleanNico Weber2018-04-051-8/+15
|\ \ \ | | | | | | | | Canonicalize targets of clean command.
| * | | Canonicalize targets of clean command.Frank Henigman2018-04-051-8/+15
|/ / / | | | | | | | | | | | | | | | This corrects an inconsistency where build targets were canonicalized but clean targets were not. For example you could build ./foo but not clean ./foo.
* | | Merge pull request #1386 from jmgao/exitNico Weber2018-04-051-14/+16
|\ \ \ | | | | | | | | Don't clean up after ourselves when exiting.
| * | | Don't clean up after ourselves when exiting.Josh Gao2018-02-191-14/+16
| |/ / | | | | | | | | | | | | | | | Destruction of NinjaMain can be an expensive operation when dealing with stupidly large ninjafiles. exit directly instead of returning out of real_main to avoid doing so.
* | | Merge pull request #1356 from RedBeard0531/vim_syntaxNico Weber2018-04-051-5/+9
|\ \ \ | | | | | | | | Improve vim syntax definition
| * | | Improve vim syntax definitionMathias Stearn2017-11-091-5/+9
| |/ / | | | | | | | | | | | | Only highlights comments where the ninja lexer would treat them as such. Also correctly scopes the rule- and pool-specific variables highlighting.
* | | Merge pull request #1392 from alekseyshl/masterNico Weber2018-04-051-1/+2
|\ \ \ | | | | | | | | Fix build on Solaris.
| * | | Fix build on Solaris.alekseyshl2018-03-051-1/+2
| |/ / | | | | | | | | | Solaris also does not define struct stat's st_mtimensec field.
* | | Merge pull request #1373 from BillyDonahue/help_k_zeroNico Weber2018-04-051-1/+1
|\ \ \ | | | | | | | | Update Usage to show "-k 0" behavior
| * | | Update Usage to show "-k 0" behaviorBilly Donahue2018-01-121-1/+1
| |/ / | | | | | | For "-k N", N==0 is interpreted as infinite. It's useful but not documented in the help, unfortunately.
* | | Merge pull request #1381 from sgraham/output-in-compdbNico Weber2018-04-051-0/+2
|\ \ \ | | | | | | | | Add 'output' field to compdb output
| * | | Add 'output' field to compdb outputScott Graham2018-02-071-0/+2
| |/ /
* | | Merge pull request #1388 from karkhaz/kk-add-pool-to-buildNico Weber2018-04-051-1/+3
|\ \ \ | |/ / |/| | Support pool for Writer.build() in ninja_syntax.py
| * | Support pool for Writer.build() in ninja_syntax.pyKareem Khazem2018-02-201-1/+3
|/ / | | | | | | | | ninja_syntax.py now supports a pool being specified for individual builds, as well as rules.
* | Merge pull request #1219 from QuLogic/resolutionNico Weber2017-10-208-25/+60
|\ \ | | | | | | Use high-resolution timestamps
| * | Fix minor typo.Elliott Sales de Andrade2017-09-161-1/+1
| | |
| * | Use strtoll when reading mtime from build log.Elliott Sales de Andrade2017-09-161-1/+1
| | | | | | | | | | | | This prevents overflow on Windows where 'long' is not 64-bit.
| * | Fix some Windows troubles.Elliott Sales de Andrade2017-09-162-1/+8
| | | | | | | | | | | | | | | Add parentheses so that constant does not overflow; include inttypes.h when using MinGW to get the proper macros.
| * | Update checks for new stat fields.Elliott Sales de Andrade2017-09-161-4/+6
| | | | | | | | | | | | | | | This uses the macros as defined by the man page, which, as noted in the comments, are defined correctly on as many libc's that I could check.
| * | Use 64-bit-alignment-safe timestamp reading.Elliott Sales de Andrade2017-09-162-4/+11
| | | | | | | | | | | | | | | Read and write the timestamp as two separate 32-bit integers in a fixed order to prevent any issues with alignment or byte order.
| * | Add #define to get printf-format specifiers.Elliott Sales de Andrade2017-09-161-0/+3
| | | | | | | | | | | | | | | This is needed on older compilers/stdlibs such as on Ubuntu Precise which is used on Travis.