summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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.
| * | | Move #include for type definition to correct place.Elliott Sales de Andrade2017-09-162-1/+6
| | | | | | | | | | | | | | | | | | | | Not sure why the old way works in newer compilers; maybe they just pre-define these types by defaulting to a newer standard.
| * | | Read file timestamps in higher resolution.Elliott Sales de Andrade2017-09-161-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This uses nanoseconds on POSIX (±~292 years) and 100-ns increments on Windows (±~29247 years). The fallbacks to different structure fields is the only thing grabbed from #337, with a slight modification in implementation.
| * | | Make TimeStamp 64-bit.Elliott Sales de Andrade2017-09-168-19/+21
| |/ / | | | | | | | | | This prepares it for higher-resolution timestamps.
* | | Merge pull request #1344 from loganchien/fix-buf-overrunNico Weber2017-10-201-1/+1
|\ \ \ | | | | | | | | Fix potential buffer overrun
| * | | Fix potential buffer overrunLogan Chien2017-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | This commit rearranges record size comparison and fread() to make sure fread() only reads the data that can fit into the buffer.
* | | | Merge pull request #1345 from refack/patch-2Nico Weber2017-10-201-3/+3
|\ \ \ \ | |/ / / |/| | | escape usage examples
| * | | escape usage examplesRefael Ackermann2017-10-191-3/+3
|/ / /
* | | Merge pull request #1337 from Kulak/patch-1Nico Weber2017-10-101-1/+1
|\ \ \ | | | | | | | | correction of location of binary
| * | | correction of location of binaryKulak2017-09-281-1/+1
|/ / / | | | | | | original said "source root", but actual location is project root. Perhaps it is mean to be "src" parent, but that's a bit confusing.
* | | Merge pull request #1327 from atetubou/update_releaseNico Weber2017-09-191-8/+9
|\ \ \ | |/ / |/| | update RELEASING
| * | update RELEASINGTakuto Ikuta2017-09-191-8/+9
|/ /
* | mark this 1.8.2.gitNico Weber2017-09-111-1/+1
| |
* | Merge pull request #1323 from bradking/tolerate-phony-self-referenceNico Weber2017-09-1112-64/+185
|\ \ | | | | | | Restore tolerance of self-referencing phony build statements
| * | Restore tolerance of self-referencing phony build statementsBrad King2017-09-088-3/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v1.8.0^2~3^2~1 (Teach RecomputeDirty to detect cycles in the build graph, 2015-11-13) we correctly reject self-referencing phony build statements like build a: phony a as cycles. Unfortunately this breaks support for CMake 2.8.12.x and 3.0.x because those versions incorrectly produce edges of this form (that we used to tolerate). In order to preserve compatibility with those CMake versions we need to restore tolerance of these edges. Add a special case to the manifest parser to filter out self-referencing inputs of phony edges of the form produced by those CMake versions. Warn by default, but add a `-w phonycycle={err,warn}` option to make it an error. Fixes: #1322
| * | Factor ManifestParser options into a structureBrad King2017-09-078-62/+75
|/ / | | | | | | | | | | This will allow more options to be added without updating everywhere that constructs a ManifestParser. Also extend the AssertParse function to take the options so tests can control them.
* | mark this 1.8.1.gitNico Weber2017-09-061-1/+1
| |
* | Merge pull request #1318 from atetubou/fix_for_maxpath_testNico Weber2017-09-051-28/+25
|\ \ | | | | | | fix normalizer test for _MAX_PATH
| * | fix normalizer test for _MAX_PATHTakuto Ikuta2017-09-051-28/+25
|/ /
* | mark this 1.8.0.gitNico Weber2017-09-041-1/+1
| |
* | Merge pull request #1313 from adzenith/patch-3Nico Weber2017-09-041-0/+5
|\ \ | | | | | | Add `deps` and `recompact` tools to manual
| * | Add _Available since Ninja 1.4._ to `deps` and `recompact`Nikolaus Wittenstein2017-08-301-2/+2
| | |
| * | Add `deps` and `recompact` tools to manualNikolaus Wittenstein2017-08-291-0/+5
| |/ | | | | The `deps` tool in particular is very useful to know about.
* | Merge pull request #1314 from atetubou/fix_windows_pathNico Weber2017-08-302-59/+50
|\ \ | |/ |/| Remove path component limit from input of CanonicalizePath in windows
| * Remove path component limit from input of CanonicalizePath in windowsTakuto Ikuta2017-08-302-59/+50
|/
* Merge pull request #1111 from bradking/detect-cycles-earlyNico Weber2017-06-228-166/+175
|\ | | | | Detect build graph cycles as early as possible
| * Drop unnecessary cycle detection in Plan::AddTargetBrad King2017-06-194-100/+55
| | | | | | | | | | We now detect and reject cycles in DependencyScan::RecomputeDirty before Plan::AddTarget is called so we can assume DAG input to the Plan.
| * Teach RecomputeDirty to detect cycles in the build graphBrad King2017-06-193-20/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RecomputeDirty is the earliest traversal of the build graph complete with depfile-loaded dependencies. Teach it to detect cycles and fail immediately. This avoids the need to tolerate cycles in RecomputeDirty only to diagnose them later. It also enables future simplification of Plan and Builder logic because they will be able to assume DAG input. When RecomputeDirty detects a cycle, reject it with an error message like that previously produced by Plan::CheckDependencyCycle. Previously we used the stat state of each node to determine whether we reached it earlier in the walk. Retain this approach for leaf nodes, but add an explicit walk state mark for each Edge so that we can have a temporary mark to aid cycle detection.
| * Add infrastructure for efficient walks through the `Edge` graphBrad King2017-06-192-2/+11
| | | | | | | | Store a mark in each `Edge` to be updated as it is encountered by a walk.
| * Refactor RecomputeDirty to take a node instead of an edgeBrad King2017-06-195-47/+39
| | | | | | | | | | | | All call sites have a node on which they call `in_edge()` to call RecomputeDirty. Simplify call sites by taking the node directly and calling `in_edge()` internally.
| * Simplify BuildTest.StatFailureAbortsBuild test caseBrad King2017-06-191-2/+2
| | | | | | | | | | Remove a dependency cycle from the test case, as cycles are covered by other tests. Ensure this case covers stat failure on a valid graph.
* | Merge pull request #1292 from gtristan/work-around-zero-mtimeNico Weber2017-06-191-0/+5
|\ \ | |/ |/| Work around mtime being set to 0 sometimes
| * Work around mtime being set to 0 sometimesPatrick Griffis2017-06-181-0/+5
|/
* Merge pull request #1291 from colincross/fix1290Nico Weber2017-06-182-1/+32
|\ | | | | Fix segfault on edge with no inputs