Commit Graph

115 Commits

Author SHA1 Message Date
Jan Niklas Hasse
e0bc2e5fd9
Merge pull request #1016 from moroten/docs-empty-rule-uptodate
Describe how to make a phony rule always up to date
2019-07-09 14:43:16 +02:00
Nicolas Despres
bb9512f53d Resurrect the 'rules' tool.
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.
2019-05-09 16:36:47 +02:00
Brad King
1d55d05afd Document example dyndep use cases
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.
2019-04-18 08:21:44 -04:00
Brad King
014a5414c4 Document dyndep binding behavior and the dyndep file format 2019-04-18 08:21:44 -04:00
ddrone
02ec31abb7
Update link to premake 2019-04-10 19:12:17 +01:00
Graham Christensen
9aa947471f
Docs: Make builds reproducible by generating the same IDs from the same inputs 2019-02-07 17:33:59 -05:00
Jan Niklas Hasse
52ba207890 Fix Fuchsia typo 2019-02-05 18:07:20 +01:00
Jan Niklas Hasse
b735f796cd
Remove dead Chromium link, fix #1263 2018-11-25 13:58:17 +01:00
Jan Niklas Hasse
a47ac5a77e
Merge pull request #1484 from smeenai/gyp-to-gn
Change gyp to gn
2018-11-25 13:57:08 +01:00
Jan Niklas Hasse
845213a9cd
Merge pull request #1474 from mathstuf/win32-invalid-parameter-help
Win32 invalid parameter help
2018-11-16 12:46:56 +01:00
Jan Niklas Hasse
65f5d9633b Fix rendering of code block, fix #955 2018-11-14 15:09:19 +01:00
Ben Boeckel
6a9411e784 manual: mention the "invalid parameter" case
This happens often enough and the error message is quite unhelpful.
Mention this error explicitly in the documentation.
2018-11-09 10:51:17 -05:00
Shoaib Meenai
b8834a2b3d
Change gyp to gn
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.
2018-10-19 13:11:49 -07:00
Nikolaus Wittenstein
324a117281 Add _Available since Ninja 1.4._ to deps and recompact 2017-08-30 08:59:40 -04:00
Nikolaus Wittenstein
e6e498494f Add deps and recompact tools to manual
The `deps` tool in particular is very useful to know about.
2017-08-29 13:39:11 -04:00
Fredrik Medley
5a3a06afd2 Describe how to make a phony rule always up to date
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>
2017-08-16 07:09:47 +02:00
Colin Cross
6c2c2eecbf Change default NINJA_STATUS to [%f/%t]
PR #999 changed the status line to be printed when edges finish on dumb
teerminals, but the default status message includes the number of
started edges, resulting in sequential status lines with identical
edge counts.

Change the default status to show the number of finished edges, which
will keep the count incrementing on every line.  This will slightly
change the output on smart terminals.  Previously a build that was just
starting would show a count equal to the number of concurrent jobs, and
a build waiting for the final jobs to finish would show a count equal to
the total number of edges.  Now a starting build will show 0, and build
waiting for the final jobs will show a count less than the total number
of edges by the number of remaining jobs.

Fixes: #1142
2016-04-27 17:22:08 -07:00
Peter Wu
048ad189e1 browse: support --port and --no-browser options
Add --port option to override the default port (8000).
Add --no-browser option to avoid opening a web browser (useful over
SSH).
Make the target name optional, using "all" if omitted.
2016-03-12 00:24:00 +01:00
Peter Wu
572cc8eb6f browse.py: allow port override via environment variable 2016-02-26 00:16:15 +01:00
Nico Weber
8028e91a9d Merge pull request #1100 from nico/doc
Minor updates to the manual.
2016-02-03 17:16:49 -05:00
Nico Weber
17852dae5b Minor updates to the manual.
* Update link to Chromium's ninja docs (fixes #1038)
* Update cmake URL to what it redirects to, and mention that ninja
  is well-supported on all platforms in newer CMake versions.
* Let "others" link to the wiki page listing generators.
2016-02-03 17:01:45 -05:00
Brad King
cc39240a10 Add support for build statement implicit outputs
Some build rules produce outputs that are not mentioned on the command
line but that should be part of the build graph.  Such outputs should
not be named in the `$out` variable.  Extend the build statement syntax
to support specification of implicit outputs using the syntax
`| out1 out2` after the explicit outputs and before the `:`.

For example, compilation of a Fortran source file `foo.f90` that defines
`MODULE FOO` may now be specified as:

    rule fc
      command = f95 -c $in -o $out
    build foo.o | foo.mod: fc foo.f90

The `foo.mod` file is an implicit output generated by the compiler based
on the content of the source file and not mentioned on the command line.
2016-02-03 09:37:17 -05:00
Nico Weber
c2e810ca43 Merge pull request #1073 from ninja-build/manual-font
use the default font size for manual headings
2015-12-29 10:08:42 -05:00
Nico Weber
a99dcc914c Merge pull request #1074 from ninja-build/manual-command
add a section to the manual discussion the command= variable
2015-12-29 10:08:23 -05:00
Evan Martin
202fdd64c8 add a section to the manual discussing the command= variable
This includes a mention of using cmd /c on Windows.
This would have helped on issue #1070 for example.
2015-12-16 08:51:08 -08:00
Evan Martin
50a1cc39b7 use the default font size for manual headings
The third-level subsection headings were almost indistinguishable
from the second-level ones.  Fix this by just using the default
styling.
2015-12-16 08:48:59 -08:00
Evan Martin
847089f959 drop a [horizontal] definition table
The two columns of the table run together, making it hard to read.
2015-11-17 14:13:44 -08:00
Evan Martin
a6859ac8af improve docs generation, including PDF output
- Fix the manual build rules (missing the .xsl as an input).
- Add a README describing how the docs build works.
- Add rules that generate PDF, just 'cause we can.
2015-11-17 14:05:53 -08:00
Evan Martin
274db07276 provide a better title for the manual
In particular, this helps web search engines index it.
2015-11-17 14:02:43 -08:00
Evan Martin
b1129b15ff drop more references to github/martine 2015-11-11 13:34:24 -08:00
Fredrik Medley
3f5b682bfd Describe why to use relative paths
Ninja does resolve relative paths and file system links in paths.
Therefore, such paths pointing to the same file will not match and may
lead to an invalid dependency graph.

Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
2015-09-03 21:45:42 +02:00
Nico Weber
ade82bd0b0 Document the change from #921 in the manual. 2015-06-18 17:28:20 -07:00
Nico Weber
725d38483d Merge pull request #809 from andrey-malets/doc-for-first-output
Document target^ syntax.
2014-12-03 21:32:51 -08:00
Scott Graham
65151e7eef CanonicalizePath handles \ on Windows 2014-10-30 15:34:25 -07:00
Andrey Malets
45aa2085f9 Document target^ syntax.
Added a note into the documentation about interesting target^ syntax
2014-09-06 23:31:39 +06:00
Nico Weber
385b7f39f5 reword manual for depfile/rspfile escaping change 2014-05-24 15:52:52 -07:00
Nico Weber
bc239cca4f Make "depfile=$out.d" work if $out contains escaped characters, rspfile too.
Fixes #730.  This has always been broken, but due to #690 more paths are now
escaped (e.g. paths containing + characters, like file.c++).  Also see
discussion in #689.

The approach is to give EdgeEnv an enum deciding on whether or not to escape
file names, and provide functions that evaluate depfile and rspfile with that
set that to kNoEscape.  (depfile=$out.d doesn't make sense on edges with
multiple outputs.)

This should be relatively safe, as $in and $out can't be used on edges, only
on rules (#687).
2014-05-21 15:18:01 -07:00
Nico Weber
47993664be wip for console pool on windows 2014-05-13 12:37:31 -07:00
Peter Collingbourne
2832613dc7 Introduce the "console" pool
This is a pre-defined pool with a depth of 1. It has the special property
that any task in the pool has direct access to the console. This can be
useful for interactive tasks or long-running tasks which produce status
updates on the console (such as test suites).
2014-02-02 21:20:01 -08:00
Peter Kümmel
037b0934f9 add deps_prefix for localized /showIncludes' output parsing 2013-10-19 01:25:47 +02:00
Johan Sundström
3382976433 Proof reading 2013-08-12 18:47:06 -07:00
Nico Weber
8a3a941ef6 Mention pools in the discussion of ninja's toplevel declarations. 2013-07-07 12:23:56 -07:00
Evan Martin
07f16eb41e slightly smaller subsections 2013-04-10 10:08:51 -07:00
Evan Martin
ec6b0e7af9 move pool docs down under "more details"
The earlier section is a tutorial-style overview.  The latter section
is for side features like phony rules and header dependencies.  Pools
fit in with the latter.
2013-04-10 10:03:55 -07:00
Evan Martin
8c0d41c7e1 more minor manual touchups 2013-04-10 10:02:27 -07:00
Evan Martin
6e5cd6f6c6 mention mtimes 2013-04-10 09:43:07 -07:00
Evan Martin
13c715c24d monospace flags 2013-04-10 09:34:34 -07:00
Evan Martin
5bc973539d more windows doc updates 2013-04-10 09:31:23 -07:00
Evan Martin
eaa4d6c22c update some windows references in the docs
Drop the timing info, it's too variable to commit to a manual.
2013-04-09 15:30:02 -07:00
Evan Martin
87fdd8482d bigger manual 2013-04-09 15:30:02 -07:00