Explorar el Código

Allow ninja to use NINJAJOBS

Add an optional modification to theh build procedure for ninja to
allow use the the environment variable NINJAJOBS.

was r11526.
Bruce Dubbs hace 6 años
padre
commit
403b1d0c5d
Se han modificado 3 ficheros con 36 adiciones y 20 borrados
  1. 11 1
      chapter01/changelog.xml
  2. 22 16
      chapter06/ninja.xml
  3. 3 3
      general.ent

+ 11 - 1
chapter01/changelog.xml

@@ -42,7 +42,17 @@
     appropriate for the entry or if needed the entire day's listitem.
 -->
     <listitem>
-      <para>2019-02-11</para>
+      <para>2019-02-19</para>
+      <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - 在 ninja 构建过程中可选地修改代码,
+          从而允许使用环境变量 NINJAJOBS。</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
+      <para>2019-02-14</para>
       <itemizedlist>
         <listitem>
           <para>[bdubbs] - 更新到 linux-4.20.8。修复

+ 22 - 16
chapter06/ninja.xml

@@ -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>

+ 3 - 3
general.ent

@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20190214">
+<!ENTITY version         "SVN-20190219">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20190214-systemd">
+<!ENTITY versiond        "20190219-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "2019 年 2 月 14 日">
+<!ENTITY releasedate     "2019 年 2 月 19 日">
 
 <!ENTITY copyrightdate   "1999-2019"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone       "8.4">