summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--SCons/Tool/ninja/__init__.py19
-rw-r--r--SCons/Tool/ninja/ninja.xml30
-rw-r--r--bin/SConsDoc.py9
-rw-r--r--doc/generated/builders.gen36
-rw-r--r--doc/generated/examples/caching_ex-random_1.xml4
-rw-r--r--doc/generated/functions.gen6
-rw-r--r--doc/generated/tools.gen8
-rw-r--r--doc/generated/variables.gen89
-rw-r--r--doc/generated/variables.mod8
-rw-r--r--doc/user/external.xml35
10 files changed, 143 insertions, 101 deletions
diff --git a/SCons/Tool/ninja/__init__.py b/SCons/Tool/ninja/__init__.py
index eb66198..d940bb1 100644
--- a/SCons/Tool/ninja/__init__.py
+++ b/SCons/Tool/ninja/__init__.py
@@ -437,13 +437,14 @@ def generate(env):
# Set all three environment variables that Python's
# tempfile.mkstemp looks at as it behaves differently on different
# platforms and versions of Python.
- build_dir = env.subst("$NINJA_DIR")
- if build_dir == "":
- build_dir = "."
- os.environ["TMPDIR"] = env.Dir("{}/.response_files".format(build_dir)).get_abspath()
- os.environ["TEMP"] = os.environ["TMPDIR"]
- os.environ["TMP"] = os.environ["TMPDIR"]
- if not os.path.isdir(os.environ["TMPDIR"]):
- env.Execute(SCons.Defaults.Mkdir(os.environ["TMPDIR"]))
-
+ # build_dir = env.subst("$NINJA_DIR")
+ # if build_dir == "":
+ # build_dir = "."
+ # os.environ["TMPDIR"] = env.Dir("{}/.response_files".format(build_dir)).get_abspath()
+ # os.environ["TEMP"] = os.environ["TMPDIR"]
+ # os.environ["TMP"] = os.environ["TMPDIR"]
+ # if not os.path.isdir(os.environ["TMPDIR"]):
+ # env.Execute(SCons.Defaults.Mkdir(os.environ["TMPDIR"]))
+
+ env['TEMPFILEDIR'] = "$NINJA_DIR/.response_files"
env["TEMPFILE"] = NinjaNoResponseFiles
diff --git a/SCons/Tool/ninja/ninja.xml b/SCons/Tool/ninja/ninja.xml
index 8bcfe1c..eaed82a 100644
--- a/SCons/Tool/ninja/ninja.xml
+++ b/SCons/Tool/ninja/ninja.xml
@@ -50,9 +50,11 @@ See its __doc__ string for a discussion of the format.
<para>
Sets up &b-link-Ninja; builder which generates a ninja build file, and then optionally runs ninja.
</para>
- <para>NOTE: This is an experimental feature. You'll need to pass scons --experimental=ninja to enable.
- </para>
- <para>NOTE: This functionality is subject to change and/or removal without deprecation cycle.</para>
+ <note>
+ <para>This is an experimental feature.
+ </para>
+ <para>This functionality is subject to change and/or removal without deprecation cycle.</para>
+ </note>
</summary>
<sets>
@@ -73,11 +75,11 @@ See its __doc__ string for a discussion of the format.
<!-- TODO: Document these -->
- <item>NINJA_RULES</item>
- <item>NINJA_POOLS</item>
- <item>NINJA</item>
- <item>GENERATING_NINJA</item>
- <item>NINJA_DIR</item>
+ <!-- <item>NINJA_RULES</item>-->
+ <!-- <item>NINJA_POOLS</item>-->
+ <!-- <item>NINJA</item>-->
+ <!-- <item>GENERATING_NINJA</item>-->
+ <!-- <item>NINJA_DIR</item>-->
</sets>
@@ -102,13 +104,13 @@ See its __doc__ string for a discussion of the format.
<item>SHLINKCOM</item>
<item>PROGSUFFIX</item>
<item>PRINT_CMD_LINE_FUNC</item>
- <item>TEMPFILE</item>
+ <!-- <item>TEMPFILE</item>-->
- <!-- TODO: Document these -->
+ <!-- TODO: Document these
<item>NINJA_MAX_JOBS</item>
<item>NINJA_SKIP</item>
<item>NINJA_CUSTOM_HANDLERS</item>
-
+-->
</uses>
</tool>
@@ -121,9 +123,8 @@ See its __doc__ string for a discussion of the format.
The builder does not require any source files to be specified,
</para>
<note>
- <para>This is an experimental feature. You'll need to pass scons --experimental=ninja to enable.
+ <para>This is an experimental feature. To enable it you must use one of the following methods
</para>
- <para>This functionality is subject to change and/or removal without deprecation cycle.</para>
<example_commands>
# On the command line
@@ -133,6 +134,9 @@ See its __doc__ string for a discussion of the format.
SetOption('experimental', 'ninja')
</example_commands>
+ <para>This functionality is subject to change and/or removal without deprecation cycle.</para>
+
+
<para>
To use this tool you must install pypi's <ulink url="https://pypi.org/project/ninja/">ninja
package</ulink>.
diff --git a/bin/SConsDoc.py b/bin/SConsDoc.py
index baffbdc..f369642 100644
--- a/bin/SConsDoc.py
+++ b/bin/SConsDoc.py
@@ -364,9 +364,18 @@ class TreeFactory:
doc.xinclude()
try:
TreeFactory.xmlschema.assertValid(doc)
+ except etree.XMLSchemaValidateError as e:
+ print("ERROR: %s fails to validate:" % fpath)
+ print(e)
+ print(e.error_log.last_error.message)
+ print("In file: [%s]"%e.error_log.last_error.filename)
+ print("Line : %d"%e.error_log.last_error.line)
+ return False
+
except Exception as e:
print("ERROR: %s fails to validate:" % fpath)
print(e)
+
return False
return True
diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen
index ba90e6c..ce50a97 100644
--- a/doc/generated/builders.gen
+++ b/doc/generated/builders.gen
@@ -1228,8 +1228,31 @@ env.MSVSSolution(
&b-Ninja; is a special builder which
adds a target to create a ninja build file.
The builder does not require any source files to be specified,
-
</para>
+ <note>
+ <para>This is an experimental feature. To enable it you must use one of the following methods
+ </para>
+
+ <example_commands>
+ # On the command line
+ --experimental=ninja
+
+ # Or in your SConstruct
+ SetOption('experimental', 'ninja')
+ </example_commands>
+
+ <para>This functionality is subject to change and/or removal without deprecation cycle.</para>
+
+
+ <para>
+ To use this tool you must install pypi's <ulink url="https://pypi.org/project/ninja/">ninja
+ package</ulink>.
+ This can be done via
+ <command>pip install ninja</command>
+ </para>
+
+ </note>
+
<para>
If called with no arguments,
the builder will default to a target name of
@@ -1256,17 +1279,6 @@ env.MSVSSolution(
since there is no way to deduce what the intent was;
in this case the default target name will be used.
</para>
- <note>
- <para>
- You must specify <command>scons --experimental=ninja</command> to enable this tool.
- </para>
- <para>
- To use this tool you must install pypi's <ulink url="https://pypi.org/project/ninja/">ninja
- package</ulink>.
- This can be done via
- <command>pip install ninja</command>
- </para>
- </note>
<para>
<emphasis>Available since &scons; 4.2.</emphasis>
</para>
diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml
index 1570d7d..0cdf9d7 100644
--- a/doc/generated/examples/caching_ex-random_1.xml
+++ b/doc/generated/examples/caching_ex-random_1.xml
@@ -1,8 +1,8 @@
<screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput>
-cc -o f4.o -c f4.c
+cc -o f5.o -c f5.c
cc -o f2.o -c f2.c
cc -o f1.o -c f1.c
cc -o f3.o -c f3.c
-cc -o f5.o -c f5.c
+cc -o f4.o -c f4.c
cc -o prog f1.o f2.o f3.o f4.o f5.o
</screen>
diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen
index 53c3583..fe2f516 100644
--- a/doc/generated/functions.gen
+++ b/doc/generated/functions.gen
@@ -548,8 +548,8 @@ do not make sense and a Python exception will be raised.
</para>
<para>
-When using &f-env-Append; to modify &consvars;
-which are path specifications (normally,
+When using &f-env-Append; to modify &consvars;
+which are path specifications (normally,
those names which end in <varname>PATH</varname>),
it is recommended to add the values as a list of strings,
even if there is only a single string to add.
@@ -3861,7 +3861,7 @@ Sets &scons; option variable <parameter>name</parameter>
to <parameter>value</parameter>.
These options are all also settable via
command-line options but the variable name
-may differ from the command-line option name -
+may differ from the command-line option name -
see the table for correspondences.
A value set via command-line option will take
precedence over one set with &f-SetOption;, which
diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen
index 01b69f5..d28084d 100644
--- a/doc/generated/tools.gen
+++ b/doc/generated/tools.gen
@@ -816,7 +816,13 @@ Sets construction variables for the
<listitem><para>
Sets up &b-link-Ninja; builder which generates a ninja build file, and then optionally runs ninja.
</para>
- <para>Sets: &cv-link-DISABLE_AUTO_NINJA;, &cv-link-NINJA_ALIAS_NAME;, &cv-link-NINJA_BUILDDIR;, &cv-link-NINJA_COMPDB_EXPAND;, &cv-link-NINJA_ENV_VAR_CACHE;, &cv-link-NINJA_FILE_NAME;, &cv-link-NINJA_GENERATED_SOURCE_SUFFIXES;, &cv-link-NINJA_MSVC_DEPS_PREFIX;, &cv-link-NINJA_POOL;, &cv-link-NINJA_REGENERATE_DEPS;, &cv-link-NINJA_SYNTAX;, &cv-link-_NINJA_REGENERATE_DEPS_FUNC;, &cv-link-__NINJA_NO;.</para><para>Uses: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-ESCAPE;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-PLATFORM;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-SHCCCOM;, &cv-link-SHCXXCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;.</para></listitem>
+ <note>
+ <para>This is an experimental feature.
+ </para>
+ <para>This functionality is subject to change and/or removal without deprecation cycle.</para>
+ </note>
+
+ <para>Sets: &cv-link-IMPLICIT_COMMAND_DEPENDENCIES;, &cv-link-NINJA_ALIAS_NAME;, &cv-link-NINJA_COMPDB_EXPAND;, &cv-link-NINJA_DIR;, &cv-link-NINJA_DISABLE_AUTO_RUN;, &cv-link-NINJA_ENV_VAR_CACHE;, &cv-link-NINJA_FILE_NAME;, &cv-link-NINJA_GENERATED_SOURCE_SUFFIXES;, &cv-link-NINJA_MSVC_DEPS_PREFIX;, &cv-link-NINJA_POOL;, &cv-link-NINJA_REGENERATE_DEPS;, &cv-link-NINJA_SYNTAX;, &cv-link-_NINJA_REGENERATE_DEPS_FUNC;, &cv-link-__NINJA_NO;.</para><para>Uses: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-ESCAPE;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-PLATFORM;, &cv-link-PRINT_CMD_LINE_FUNC;, &cv-link-PROGSUFFIX;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-SHCCCOM;, &cv-link-SHCXXCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;.</para></listitem>
</varlistentry>
<varlistentry id="t-packaging">
<term>packaging</term>
diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen
index 4d5f92f..e6fec13 100644
--- a/doc/generated/variables.gen
+++ b/doc/generated/variables.gen
@@ -713,8 +713,8 @@ the type of value of &cv-CPPDEFINES;:
If &cv-CPPDEFINES; is a string,
the values of the
&cv-link-CPPDEFPREFIX; and &cv-link-CPPDEFSUFFIX; &consvars;
-will be respectively prepended and appended to
-each definition in &cv-CPPDEFINES;.
+will be respectively prepended and appended to
+each definition in &cv-link-CPPDEFINES;.
</para>
<example_commands>
@@ -726,8 +726,8 @@ env = Environment(CPPDEFINES='xyz')
<para>
If &cv-CPPDEFINES; is a list,
the values of the
-&cv-link-CPPDEFPREFIX; and &cv-link-CPPDEFSUFFIX; &consvars;
-will be respectively prepended and appended to
+&cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; &consvars;
+will be respectively prepended and appended to
each element in the list.
If any element is a list or tuple,
then the first item is the name being
@@ -743,7 +743,7 @@ env = Environment(CPPDEFINES=[('B', 2), 'A'])
<para>
If &cv-CPPDEFINES; is a dictionary,
the values of the
-&cv-link-CPPDEFPREFIX; and &cv-link-CPPDEFSUFFIX; &consvars;
+&cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; &consvars;
will be respectively prepended and appended to
each item from the dictionary.
The key of each dictionary item
@@ -845,7 +845,7 @@ to each directory in &cv-link-CPPPATH;.
<listitem><para>
The list of directories that the C preprocessor will search for include
directories. The C/C++ implicit dependency scanner will search these
-directories for include files.
+directories for include files.
In general it's not advised to put include directory directives
directly into &cv-link-CCFLAGS; or &cv-link-CXXFLAGS;
as the result will be non-portable
@@ -857,11 +857,11 @@ Python's <systemitem>os.sep</systemitem>.
<para>
Note:
-directory names in &cv-link-CPPPATH;
+directory names in &cv-CPPPATH;
will be looked-up relative to the directory of the SConscript file
-when they are used in a command.
+when they are used in a command.
To force &scons;
-to look-up a directory relative to the root of the source tree use
+to look-up a directory relative to the root of the source tree use
the <literal>#</literal> prefix:
</para>
@@ -1172,17 +1172,6 @@ into a list of Dir instances relative to the target being built.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-DISABLE_AUTO_NINJA">
- <term>
- <envar>DISABLE_AUTO_NINJA</envar>
- </term>
- <listitem><para>
- Boolean (True|False). Default: False
- When True, SCons will not run ninja automatically after creating the ninja.build file.
-
- </para>
- </listitem>
- </varlistentry>
<varlistentry id="cv-DLIB">
<term>
<envar>DLIB</envar>
@@ -3158,7 +3147,7 @@ The default list is:
<envar>IMPLIBNOVERSIONSYMLINKS</envar>
</term>
<listitem><para>
-Used to override &cv-link-SHLIBNOVERSIONSYMLINKS;/&cv-link-LDMODULENOVERSIONSYMLINKS; when
+Used to override &cv-link-SHLIBNOVERSIONSYMLINKS;/&cv-link-LDMODULENOVERSIONSYMLINKS; when
creating versioned import library for a shared library/loadable module. If not defined,
then &cv-link-SHLIBNOVERSIONSYMLINKS;/&cv-link-LDMODULENOVERSIONSYMLINKS; is used to determine
whether to disable symlink generation or not.
@@ -4074,9 +4063,9 @@ as the result will be non-portable.
Note:
directory names in &cv-LIBPATH; will be looked-up relative to the
directory of the SConscript file
-when they are used in a command.
+when they are used in a command.
To force &scons;
-to look-up a directory relative to the root of the source tree use
+to look-up a directory relative to the root of the source tree use
the <literal>#</literal> prefix:
</para>
@@ -4148,7 +4137,7 @@ and suffixes from the &cv-link-LIBSUFFIXES; list.
<listitem><para>
A list of one or more libraries
that will be added to the link line
-for linking with any executable program, shared library, or loadable module
+for linking with any executable program, shared library, or loadable module
created by the &consenv; or override.
</para>
@@ -4514,7 +4503,7 @@ See &t-link-msgfmt; tool and &b-link-MOFiles; builder.
<envar>MSGFMTCOMSTR</envar>
</term>
<listitem><para>
-String to display when <command>msgfmt(1)</command> is invoked
+String to display when <command>msgfmt(1)</command> is invoked
(default: <literal>''</literal>, which means ``print &cv-link-MSGFMTCOM;'').
See &t-link-msgfmt; tool and &b-link-MOFiles; builder.
</para>
@@ -4556,7 +4545,7 @@ See &t-link-msginit; tool and &b-link-POInit; builder.
<envar>MSGINITCOMSTR</envar>
</term>
<listitem><para>
-String to display when <command>msginit(1)</command> is invoked
+String to display when <command>msginit(1)</command> is invoked
(default: <literal>''</literal>, which means ``print &cv-link-MSGINITCOM;'').
See &t-link-msginit; tool and &b-link-POInit; builder.
</para>
@@ -4652,7 +4641,7 @@ Supported versions include
<literal>6.0A</literal>,
<literal>6.0</literal>,
<literal>2003R2</literal>
-and
+and
<literal>2003R1</literal>.
</para>
</listitem>
@@ -5187,35 +5176,46 @@ Specfies the name of the project to package.
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-NINJA_BUILDDIR">
+ <varlistentry id="cv-NINJA_COMPDB_EXPAND">
<term>
- <envar>NINJA_BUILDDIR</envar>
+ <envar>NINJA_COMPDB_EXPAND</envar>
+ </term>
+ <listitem><para>
+ Boolean value (True|False) to instruct ninja to expand the command line arguments normally put into
+ response files.
+ This prevents lines in the compilation database like <quote>gcc @rsp_file</quote> and instead yields
+ <quote>gcc -c -o myfile.o myfile.c -Ia -DXYZ</quote>
+ </para>
+ <para>
+ Ninja's compdb tool added the <quote>-x</quote> flag in Ninja V1.9.0
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry id="cv-NINJA_DIR">
+ <term>
+ <envar>NINJA_DIR</envar>
</term>
<listitem><para>
This propagates directly into the generated Ninja.build file.
From Ninja's docs:
<blockquote>
<para>
- builddir
- A directory for some Ninja output files. ... (You can also store other build output in this
- directory.)
+ builddir
+ A directory for some Ninja output files. ... (You can also store other build output in this
+ directory.)
</para>
</blockquote>
</para>
</listitem>
</varlistentry>
- <varlistentry id="cv-NINJA_COMPDB_EXPAND">
+ <varlistentry id="cv-NINJA_DISABLE_AUTO_RUN">
<term>
- <envar>NINJA_COMPDB_EXPAND</envar>
+ <envar>NINJA_DISABLE_AUTO_RUN</envar>
</term>
<listitem><para>
- Boolean value (True|False) to instruct ninja to expand the command line arguments normally put into
- response files.
- This prevents lines in the compilation database like <quote>gcc @rsp_file</quote> and instead yields
- <quote>gcc -c -o myfile.o myfile.c -Ia -DXYZ</quote>
- </para>
- <para>
- Ninja's compdb tool added the <quote>-x</quote> flag in Ninja V1.9.0
+ Boolean (True|False). Default: False
+ When True, SCons will not run ninja automatically after creating the ninja.build file.
+
</para>
</listitem>
</varlistentry>
@@ -5240,7 +5240,8 @@ Specfies the name of the project to package.
<envar>NINJA_FILE_NAME</envar>
</term>
<listitem><para>
- The filename for the generated Ninja build file defaults to <filename>ninja.build</filename>
+ The filename for the generated Ninja build file defaults to
+ <filename>ninja.build</filename>
</para>
</listitem>
</varlistentry>
@@ -7510,7 +7511,7 @@ for more information).
<envar>SOVERSION</envar>
</term>
<listitem><para>
-This will construct the <varname>SONAME</varname> using on the base library name
+This will construct the <varname>SONAME</varname> using on the base library name
(<parameter>test</parameter> in the example below) and use specified <varname>SOVERSION</varname>
to create <varname>SONAME</varname>.
<example_commands>
@@ -7519,7 +7520,7 @@ env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SOVERSION='2')
The variable is used, for example, by &t-link-gnulink; linker tool.
</para>
<para>
-In the example above <varname>SONAME</varname> would be <filename>libtest.so.2</filename>
+In the example above <varname>SONAME</varname> would be <filename>libtest.so.2</filename>
which would be a symlink and point to <filename>libtest.so.0.1.2</filename>
</para>
</listitem>
diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod
index 86fc604..08aa21d 100644
--- a/doc/generated/variables.mod
+++ b/doc/generated/variables.mod
@@ -84,7 +84,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-DINCSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DINCSUFFIX</envar>">
<!ENTITY cv-Dir "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$Dir</envar>">
<!ENTITY cv-Dirs "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$Dirs</envar>">
-<!ENTITY cv-DISABLE_AUTO_NINJA "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DISABLE_AUTO_NINJA</envar>">
<!ENTITY cv-DLIB "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DLIB</envar>">
<!ENTITY cv-DLIBCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DLIBCOM</envar>">
<!ENTITY cv-DLIBDIRPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$DLIBDIRPREFIX</envar>">
@@ -352,8 +351,9 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-MWCW_VERSIONS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$MWCW_VERSIONS</envar>">
<!ENTITY cv-NAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NAME</envar>">
<!ENTITY cv-NINJA_ALIAS_NAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_ALIAS_NAME</envar>">
-<!ENTITY cv-NINJA_BUILDDIR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_BUILDDIR</envar>">
<!ENTITY cv-NINJA_COMPDB_EXPAND "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_COMPDB_EXPAND</envar>">
+<!ENTITY cv-NINJA_DIR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_DIR</envar>">
+<!ENTITY cv-NINJA_DISABLE_AUTO_RUN "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_DISABLE_AUTO_RUN</envar>">
<!ENTITY cv-NINJA_ENV_VAR_CACHE "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_ENV_VAR_CACHE</envar>">
<!ENTITY cv-NINJA_FILE_NAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_FILE_NAME</envar>">
<!ENTITY cv-NINJA_GENERATED_SOURCE_SUFFIXES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$NINJA_GENERATED_SOURCE_SUFFIXES</envar>">
@@ -737,7 +737,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-DINCSUFFIX "<link linkend='cv-DINCSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DINCSUFFIX</envar></link>">
<!ENTITY cv-link-Dir "<link linkend='cv-Dir' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$Dir</envar></link>">
<!ENTITY cv-link-Dirs "<link linkend='cv-Dirs' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$Dirs</envar></link>">
-<!ENTITY cv-link-DISABLE_AUTO_NINJA "<link linkend='cv-DISABLE_AUTO_NINJA' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DISABLE_AUTO_NINJA</envar></link>">
<!ENTITY cv-link-DLIB "<link linkend='cv-DLIB' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DLIB</envar></link>">
<!ENTITY cv-link-DLIBCOM "<link linkend='cv-DLIBCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DLIBCOM</envar></link>">
<!ENTITY cv-link-DLIBDIRPREFIX "<link linkend='cv-DLIBDIRPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$DLIBDIRPREFIX</envar></link>">
@@ -1005,8 +1004,9 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT.
<!ENTITY cv-link-MWCW_VERSIONS "<link linkend='cv-MWCW_VERSIONS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$MWCW_VERSIONS</envar></link>">
<!ENTITY cv-link-NAME "<link linkend='cv-NAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NAME</envar></link>">
<!ENTITY cv-link-NINJA_ALIAS_NAME "<link linkend='cv-NINJA_ALIAS_NAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_ALIAS_NAME</envar></link>">
-<!ENTITY cv-link-NINJA_BUILDDIR "<link linkend='cv-NINJA_BUILDDIR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_BUILDDIR</envar></link>">
<!ENTITY cv-link-NINJA_COMPDB_EXPAND "<link linkend='cv-NINJA_COMPDB_EXPAND' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_COMPDB_EXPAND</envar></link>">
+<!ENTITY cv-link-NINJA_DIR "<link linkend='cv-NINJA_DIR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_DIR</envar></link>">
+<!ENTITY cv-link-NINJA_DISABLE_AUTO_RUN "<link linkend='cv-NINJA_DISABLE_AUTO_RUN' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_DISABLE_AUTO_RUN</envar></link>">
<!ENTITY cv-link-NINJA_ENV_VAR_CACHE "<link linkend='cv-NINJA_ENV_VAR_CACHE' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_ENV_VAR_CACHE</envar></link>">
<!ENTITY cv-link-NINJA_FILE_NAME "<link linkend='cv-NINJA_FILE_NAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_FILE_NAME</envar></link>">
<!ENTITY cv-link-NINJA_GENERATED_SOURCE_SUFFIXES "<link linkend='cv-NINJA_GENERATED_SOURCE_SUFFIXES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$NINJA_GENERATED_SOURCE_SUFFIXES</envar></link>">
diff --git a/doc/user/external.xml b/doc/user/external.xml
index f9cc7bf..5f88f5a 100644
--- a/doc/user/external.xml
+++ b/doc/user/external.xml
@@ -304,19 +304,28 @@
<section>
<title>Ninja Build Generator</title>
- <para>
- NOTE: This is an experimental new feature. It is subject to change and/or removal without depreciation cycle
- </para>
- <para>
- To enable this feature you'll need to use one of the following
- </para>
- <example_commands>
- # On the command line
- --experimental=ninja
-
- # Or in your SConstruct
- SetOption('experimental', 'ninja')
- </example_commands>
+ <note>
+ <para>
+ This is an experimental new feature. It is subject to change and/or removal without depreciation cycle
+ </para>
+ <para>
+ To use this tool you must install pypi's <ulink url="https://pypi.org/project/ninja/">ninja
+ package</ulink>.
+ This can be done via
+ <command>pip install ninja</command>
+ </para>
+ <para>
+ To enable this feature you'll need to use one of the following
+ </para>
+ <example_commands>
+ # On the command line
+ --experimental=ninja
+
+ # Or in your SConstruct
+ SetOption('experimental', 'ninja')
+ </example_commands>
+
+ </note>
<para>
This tool will enabled creating a ninja build file from your SCons based build system. It can then invoke