|
@@ -39,32 +39,38 @@
|
|
|
|
|
|
<sect2 role="installation">
|
|
|
<title>安装 Ninja</title>
|
|
|
-<!--
|
|
|
+
|
|
|
<para>在运行时, ninja 一般尽量并行运行更多进程,
|
|
|
- 默认情况下最大进程数是系统 CPU 核心数加 2 得到的值。
|
|
|
- 某些情况下,这样会导致 CPU 过热,或者耗尽系统内存。
|
|
|
- 如果使用命令行执行 ninja,可以传递 -jN 参数以限制并行进程数,
|
|
|
- 但某些软件包内嵌了 ninja 的执行过程,且并不传递 -j 参数。</para>
|
|
|
+ 默认情况下最大进程数是系统 CPU 核心数加 2 得到的值。
|
|
|
+ 某些情况下,这样会导致 CPU 过热,或者耗尽系统内存。
|
|
|
+ 如果使用命令行执行 ninja,可以传递 -jN 参数以限制并行进程数,
|
|
|
+ 但某些软件包内嵌了 ninja 的执行过程,且并不传递 -j 参数。</para>
|
|
|
|
|
|
- <para>使用下面这个 <emphasis>可选的</emphasis> 补丁,
|
|
|
- 用户即可通过一个环境变量 NINJAJOBS 限制并行进程数量。
|
|
|
- <command>例如</command> 设置:
|
|
|
+ <para>应用下面这个 <emphasis>可选的</emphasis> 修改,
|
|
|
+ 用户即可通过一个环境变量 NINJAJOBS 限制并行进程数量。
|
|
|
+ <command>例如</command> 设置:
|
|
|
|
|
|
- <!- - Using <command> here to make the output bold. We really don't want
|
|
|
+ <!--Using <command> here to make the output bold. We really don't want
|
|
|
users setting this now and experience shows that many users blindly
|
|
|
- copy/paste anything in a box. - ->
|
|
|
- <!- - 这里的 <command> 标记用于加粗。我们确实不希望用户现在就设置
|
|
|
- 该变量,过去的经验表明许多用户盲目地复制粘贴矩形框中的所有内容。
|
|
|
- 译注:这可能是全书唯一一个被翻译的注释。- ->
|
|
|
+ copy/paste anything in a box. -->
|
|
|
+ <!-- 这里的 <command> 标记用于加粗。我们确实不希望用户现在就设置
|
|
|
+ 该变量,过去的经验表明许多用户盲目地复制粘贴矩形框中的所有内容。
|
|
|
+ 译注:这可能是全书唯一一个被翻译的注释。-->
|
|
|
|
|
|
<screen>export NINJAJOBS=4</screen>
|
|
|
|
|
|
会限制 ninja 使用 4 个并行进程。</para>
|
|
|
|
|
|
- <para>如果希望使用这个补丁,执行以下命令应用它:</para>
|
|
|
+ <para>如果您希望 Ninja 能够使用环境变量 NINJAJOBS,执行以下命令,
|
|
|
+ 添加这一功能:</para>
|
|
|
+
|
|
|
+<screen><userinput remap="pre">sed -i '/int Guess/a \
|
|
|
+ int j = 0;\
|
|
|
+ char* jobs = getenv( "NINJAJOBS" );\
|
|
|
+ if ( jobs != NULL ) j = atoi( jobs );\
|
|
|
+ if ( j > 0 ) return j;\
|
|
|
+' src/ninja.cc</userinput></screen>
|
|
|
|
|
|
-<screen><userinput remap="pre">patch -Np1 -i ../ninja-1.8.2-add_NINJAJOBS_var-1.patch</userinput></screen>
|
|
|
--->
|
|
|
<para>构建 Ninja:</para>
|
|
|
|
|
|
<screen><userinput remap="configure">python3 configure.py --bootstrap</userinput></screen>
|