Przeglądaj źródła

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 5 lat temu
rodzic
commit
403b1d0c5d
3 zmienionych plików z 36 dodań i 20 usunięć
  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">