summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Travis CI: Remove broken Xcode configJan Niklas Hasse2019-10-281-2/+0
|/ / / / /
* | | | | CMake: Bump required version for object librariesJan Niklas Hasse2019-09-211-1/+1
| | | | |
* | | | | CMake: Let MSVC correctly report __cplusplusJan Niklas Hasse2019-09-211-1/+1
| | | | |
* | | | | Fix crash when using MSVC in debug modeJan Niklas Hasse2019-09-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Accessing inputs_[0] when it's empty results in an assert when running in debug. Avoid it by using data() if available.
* | | | | Merge pull request #1651 from bmwiedemann/onecoreJan Niklas Hasse2019-09-201-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Fix test_issue_1418 to pass on 1-core VM
| * | | | | Fix test_issue_1418 to pass on 1-core VMBernhard M. Wiedemann2019-09-201-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | the previous assert would fail because on a 1-core VM, the 3 outputs were produced sequentially from top to bottom
* | | | | Small constifications (#1647)Konstantin Kharlamov2019-09-195-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * build: constify EdgeWanted() * build: constify a bit of CommandRunner * graph: constify functions of struct Edge Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
* | | | | Merge pull request #1563 from jhasse/cmakeJan Niklas Hasse2019-08-302-1/+98
|\ \ \ \ \ | | | | | | | | | | | | Add CMake build file as an alternative to configure.py
| * | | | | Ignore all kinds of build directoriesJan Niklas Hasse2019-08-281-1/+1
| | | | | |
| * | | | | CMake: Fix Windows buildJan Niklas Hasse2019-08-281-0/+7
| | | | | |
| * | | | | CMake: Support building without re2cJan Niklas Hasse2019-08-281-9/+15
| | | | | |
| * | | | | Add CMake build file as an alternative to configure.pyJan Niklas Hasse2019-08-281-0/+84
| | |_|/ / | |/| | |
* | | | | Merge pull request #1634 from ColinFinck/fix-mingwJan Niklas Hasse2019-08-282-2/+1
|\ \ \ \ \ | |/ / / / |/| | | | Fix MinGW bootstrap build.
| * | | | Fix MinGW bootstrap build by applying the fix in appveyor.yml permanently.Colin Finck2019-08-262-2/+1
| | | | |
* | | | | Travis CI: Use Python 3 to configure buildJan Niklas Hasse2019-08-191-1/+1
|/ / / / | | | | | | | | Python 2 doesn't support nanosecond timestamps properly (see #1554).
* | | | Expand the continuous integration coverage to more platforms / operating ↵Michael Jones2019-08-132-1/+45
| | | | | | | | | | | | | | | | systems (#1612)
* | | | Enable build on IBM i platform (#1630)ThePrez2019-08-092-2/+11
| | | | | | | | | | | | | | | | * No perfstat for IBM i (OS400) AIX variant * Allow for future IBM i to identify as 'os400'
* | | | Merge pull request #1604 from jessemckenna/correct-cpu-count-over-64Jan Niklas Hasse2019-08-082-4/+2
|\ \ \ \ | |_|/ / |/| | | Enable ninja to use > 64 CPUs on Windows
| * | | Update WIN32_WINNT from 0x0501 (Windows XP) to 0x0601 (Windows 7) to support ↵Jesse McKenna2019-07-231-1/+1
| | | | | | | | | | | | | | | | processor-group Windows API
| * | | Make GetProcessorCount() count processors across all processor groupsJesse McKenna2019-07-121-3/+1
| | | |
* | | | Merge pull request #1513 from nykula/masterJan Niklas Hasse2019-08-061-10/+4
|\ \ \ \ | | | | | | | | | | Use st_mtim if st_mtime is macro, fix #1510
| * | | | Use st_mtim if st_mtime is macro, fix #1510makepost2018-12-241-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward compatibility macro. Should help avoid hardcoding platform detection.
* | | | | Merge pull request #1622 from goshhhy/aixJan Niklas Hasse2019-08-061-0/+9
|\ \ \ \ \ | | | | | | | | | | | | fix building ninja_test on AIX 6.1
| * | | | | fix building ninja_test on AIX 6.1ky0ko2019-08-051-0/+9
| | | | | |
* | | | | | Fix appveyor.yml (#1621)goshhhy2019-08-061-1/+1
|/ / / / / | | | | | | | | | | Add escaping for sed command. Fixes #1611.
* | | | | Merge pull request #1508 from mqudsi/colored_failJan Niklas Hasse2019-08-022-2/+8
|\ \ \ \ \ | | | | | | | | | | | | Emit "FAILED: " in red if terminal supports ANSI color output
| * | | | | Add braces to clarify conditional scopeMahmoud Al-Qudsi2019-02-041-2/+3
| | | | | |
| * | | | | Unset suports_color_ if SetConsoleMode fails on WIN32Mahmoud Al-Qudsi2018-12-101-1/+3
| | | | | |
| * | | | | Emit "FAILED: " in red if terminal supports ANSI color outputMahmoud Al-Qudsi2018-12-051-1/+4
| | | | | |
* | | | | | compdb: Dump every rule without any arguments, fix #1377Jan Niklas Hasse2019-08-021-16/+28
| | | | | |
* | | | | | Improve const-correctness in compdb related methodsJan Niklas Hasse2019-08-023-21/+16
| |_|/ / / |/| | | |
* | | | | Merge pull request #1016 from moroten/docs-empty-rule-uptodateJan Niklas Hasse2019-07-091-0/+8
|\ \ \ \ \ | | | | | | | | | | | | Describe how to make a phony rule always up to date
| * | | | | Describe how to make a phony rule always up to dateFredrik Medley2017-08-161-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A phony rule with no input is always out of date. Describe how to make a rule always up to date. Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
* | | | | | Merge pull request #1517 from chagui/1492-add-headers-to-ninja_logJan Niklas Hasse2019-07-022-5/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | #1492 add column headers to .ninja_log
| * | | | | | 1492 add column headers to .ninja_logGuilhem Charles2019-01-132-5/+8
| | |_|/ / / | |/| | | |
* | | | | | Merge pull request #1342 from Lekensteyn/depfile-fixesJan Niklas Hasse2019-06-183-46/+157
|\ \ \ \ \ \ | | | | | | | | | | | | | | Follow GCC/Clang behavior wrt depfiles
| * | | | | | Follow GCC/Clang behavior wrt depfilesPeter Wu2019-06-083-46/+157
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option is called "depfile = gcc" and should support depfiles created by GCC. GCC does not escape backslashes and GNU Make does not try to unescape it, so neither should Ninja try to "unescape" it. Only space (' ') and hash sign ('#') are specially treated by GCC/Clang. Note that while tabs are also treated specially by GCC, Clang does not, so do not special case it (why would someone use tabs in a filename?). Support for 2N trailing backslashes in a filename is a bit questionable, but is added to be as consistent as possible with GCC/Clang. See also https://github.com/llvm-mirror/clang/blob/44c160f916a1b080098b17b466b026aa07475ec2/lib/Frontend/DependencyFile.cpp#L316 https://github.com/gcc-mirror/gcc/blob/22a8377023d59cc01ab0a84a1df56d0e1336efa3/libcpp/mkdeps.c#L47 Fixes https://github.com/ninja-build/ninja/issues/1262
* | | | | | Fix UB "member call on null pointer of type 'DepsLog'", see #1248Jan Niklas Hasse2019-05-281-1/+1
| | | | | |
| | | | * | Adding a way to clean dead build artifacts that have an entry in the build log,ikifof2019-05-254-3/+108
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | but are no longer produced by the current manifest. For now adding a dedicated "-t cleandead" option, since it should be run after reading the log; ideally it should be part of the build config and done before to start looking for dirty targets so that an incremental build would produce the same end result as a clean build from scratch. But since I am not 100% sure to understand the comment in the NinjaMain::isPathDead(), I opted to make it a tool for now to avoid impacting users who want to keep those files. The option name "cleandead" was selected insteadof something like "reap" to keep the "clean" prefix.
* | | | | Ignore .ccls-cache directoryJan Niklas Hasse2019-05-101-0/+1
| | | | |
* | | | | Merge pull request #1025 from nicolasdespres/resurrect-rules-toolJan Niklas Hasse2019-05-094-0/+74
|\ \ \ \ \ | | | | | | | | | | | | Resurrect the 'rules' tool.
| * | | | | Resurrect the 'rules' tool.Nicolas Despres2019-05-094-0/+74
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This tool is useful for writing shell completion script for tools expecting a rule name as argument. The tool was dropped by 34b46f28c. Fix #1024.
* | | | | Merge pull request #1521 from bradking/dyndepJan Niklas Hasse2019-04-2026-155/+2930
|\ \ \ \ \ | | | | | | | | | | | | dyndep: dynamically discovered dependencies for Fortran and C++20 modules
| * | | | | Document example dyndep use casesBrad King2019-04-181-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show a simple example of Fortran module dependencies (this use case motivated the entire dyndep feature). Also show an example of tarball extraction, a case that few other buildsystems can handle cleanly.
| * | | | | Document `dyndep` binding behavior and the dyndep file formatBrad King2019-04-181-0/+67
| | | | | |
| * | | | | query: load dyndep files for queried edgesBrad King2019-04-181-0/+7
| | | | | |
| * | | | | graph: load dyndep filesBrad King2019-04-183-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the `-t graph` tool to load dyndep files because they are part of the build graph. Issue a warning when the dyndep file cannot be loaded cleanly. This will help users visualize the complete build graph.
| * | | | | clean: remove outputs specified by dyndep filesBrad King2019-04-183-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some outputs may not be known in the main build manifest and are instead discovered through a dyndep binding. Load dyndep files that are available during cleaning so that we can clean these outputs too.
| * | | | | clean: remove unnecessary Cleaner constructor variantBrad King2019-04-183-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Cleaner` provides two constructors that are the same except that one constructs a "real" disk interface internally and the other takes a caller-provided disk interface. A real disk interface is already available at the only call site for the former constructor. Use it directly and drop the unnecessary constructor variant.
| * | | | | Teach builder to load dyndep files when they are readyBrad King2019-04-183-7/+908
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After finishing an edge that produces a dyndep file, load the file and update the build graph structure. Recompute the dirty state of all its dependents and of newly reachable portions of the graph. Add edges to the build plan that are discovered to be wanted. Finally, schedule edges that are wanted and now ready to build.