[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pkgsrc/doc/guide/files/platforms.xml: 1.52 -> 1.53



以下のページの更新をしました。ツッコミをお願いします。

pkgsrc/doc/guide/files/platforms.xml: 1.52 -> 1.53
> revision 1.53
> date: 2007/02/08 23:25:10;  author: rillig;  state: Exp;  lines: +23 -66
> CPP should not be set to /usr/ccs/bin/cpp. Building 64-bit binaries on
> Solaris/SPARC is no longer tricky.

火曜日までに異議がなければ、 commit します。

以下、訳と原文それぞれの新旧の差分です。

--- platforms.xml.orig	2007-02-11 21:14:30.000000000 +0900
+++ platforms.xml	2007-02-11 21:14:30.000000000 +0900
@@ -1,6 +1,6 @@
-<!-- $NetBSD: platforms.xml,v 1.52 2007/01/22 13:14:41 tron Exp $ -->
+<!-- $NetBSD: platforms.xml,v 1.53 2007/02/08 23:25:10 rillig Exp $ -->
 <!-- Based on english version: -->
-<!-- NetBSD: platforms.xml,v 1.52 2007/01/22 13:14:41 tron Exp   -->
+<!-- NetBSD: platforms.xml,v 1.53 2007/02/08 23:25:10 rillig Exp   -->
 
 <chapter id="platforms">
   <title>&os; 以外のシステムで pkgsrc を使う</title>
@@ -799,81 +799,38 @@
 	  - Sun WorkShop Compilers common components</para></listitem>
 	</itemizedlist>
 
-	<para><filename>/etc/mk.conf</filename> で <varname>CC</varname> および <varname>CXX</varname>
-	を設定します。<varname>CPP</varname> もここで設定して結構です。
-	たとえば以下のようにします。</para>
+	<para><filename>/etc/mk.conf</filename>
+	で、以下の変数を設定します。</para>
 
-	<programlisting>
-	  CC=     cc
-	  CXX=    CC
-	  CPP=    /usr/ccs/lib/cpp
-	</programlisting>
+<programlisting>
+    CC=     cc
+    CXX=    CC
+    CPP=    cc -E
+    CXXCPP= CC -E
+</programlisting>
+
+	<note><para>C プリプロセッサーを使って
+	C のソースコード以外のものを処理するパッケージのなかには、
+	この <varname>CPP</varname> の設定では問題が起きるものがあるかもしれません。</para></note>
 
       </sect3>
       <sect3 id="solaris-sunpro-64">
 	<title>SunPro を使って 64 ビットバイナリーを構築する</title>
 
-	<para>64 ビットバイナリーの構築は、少し巧妙なやり方になります。
-	最初に、pkgsrc のブートストラップを 64 ビットモードでおこなう必要があります。
-	ここでの問題は、ブートストラップキットに含まれているプログラムのひとつ
-	(<filename>bmake</filename>) の構築中に、<varname>CFLAGS</varname>
-	変数が、たとえ環境変数に設定しても、無視されることです。
-	このバグを回避するには、以下のような簡単なシェルスクリプトを、
-	<filename>cc64</filename> という名前で <varname>PATH</varname>
-	中のどこかに置きます。</para>
-
-	<programlisting>
-	  #! /bin/sh
-	  exec /opt/SUNWspro/bin/cc -xtarget=ultra -xarch=v9 ${1+"$@"}
-	</programlisting>
-
-	<para>次に、<varname>CC</varname> の定義を
-	<command>bootstrap</command> コマンドの環境変数に渡します。</para>
-
-	<programlisting>
-	  &uprompt; <userinput>cd bootstrap</userinput>
-	  &uprompt; <userinput>CC=cc64 ./bootstrap</userinput>
-	</programlisting>
-
-	<para>ブートストラップをした後は、パッケージのバグを見つけたいのか、
-	システムを手っ取り早く使えるようにしたいだけなのかによって、
-	二通りの選択肢があります。システムを使えるようにしたいだけの場合は、
-	以下の各行を <filename>mk.conf</filename>
-	ファイルに付け足します。</para>
-
-	<programlisting>
-	  CC=                     cc64
-	  CXX=                    CC64
-	  PKGSRC_COMPILER=        sunpro
-	</programlisting>
-
-	<para>この方法を使うと、あらゆるコンパイラーの呼び出しが、
-	上で定義されたラッパーを介しておこなわれるようになり、
-	必要な ABI オプションが自動的に追加されます。(シェルスクリプト
-	<filename>CC64</filename> も忘れずに作っておいてください。)</para>
-
-	<para>ユーザーが指定した
-	<varname>CFLAGS</varname> や <varname>CXXFLAGS</varname>
-	を無視するパッケージを見つけるには、以下の各行を <filename>mk.conf</filename>
-	ファイルに付け足します。</para>
-
-	<programlisting>
-	  CC=                     cc
-	  CXX=                    CC
-	  PKGSRC_COMPILER=        sunpro
-	  CFLAGS=                 -xtarget=ultra -xarch=v9
-	  CXXFLAGS=               -xtarget=ultra -xarch=v9
-	  LDFLAGS=                -xtarget=ultra -xarch=v9
-	</programlisting>
-
-	<para>設定ファイルで指定されたフラグを使わないパッケージは、
-	32 ビットバイナリーを構築しようとして、リンクに失敗します。
-	このようなものを見つけることは、
-	エラーが表に出ずに黙って先に進むような他のプラットフォームでのバグを予防するために、
-	有用です。</para>
+	<para>64 ビットパッケージを構築する場合に必要なことは、
+	<filename>mk.conf</filename>
+	ファイルに以下の行を追加するだけです。</para>
+
+<programlisting>
+    PKGSRC_COMPILER=        sunpro
+    ABI=                    64
+</programlisting>
+
+	<note><para>この設定は、SPARC アーキテクチャーについてのみ確認がおこなわれています。
+	Intel および AMD マシンでは、
+	必要な作業がまだ残っています。</para></note>
 
       </sect3>
-
       <sect3 id="plat.sunos.problems"><title>ありがちな問題</title>
 
       <para><command>libtool</command> を使っていると、時々、<filename>/bin/ksh</filename>
Index: platforms.xml
===================================================================
RCS file: /cvsroot/pkgsrc/doc/guide/files/platforms.xml,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -r1.52 -r1.53
--- platforms.xml	22 Jan 2007 13:14:41 -0000	1.52
+++ platforms.xml	8 Feb 2007 23:25:10 -0000	1.53
@@ -1,4 +1,4 @@
-<!-- $NetBSD: platforms.xml,v 1.52 2007/01/22 13:14:41 tron Exp $ -->
+<!-- $NetBSD: platforms.xml,v 1.53 2007/02/08 23:25:10 rillig Exp $ -->
 
 <chapter id="platforms">
   <title>Using pkgsrc on systems other than &os;</title>
@@ -795,81 +795,38 @@
 	  - Sun WorkShop Compilers common components</para></listitem>
 	</itemizedlist>
 
-	<para>You should set <varname>CC</varname>, <varname>CXX</varname> and
-	optionally, <varname>CPP</varname> in <filename>/etc/mk.conf</filename>,
-	e.g.:</para>
+	<para>You should set the following variables in your
+	<filename>mk.conf</filename> file:</para>
 
-	<programlisting>
-	  CC=     cc
-	  CXX=    CC
-	  CPP=    /usr/ccs/lib/cpp
-	</programlisting>
+<programlisting>
+    CC=     cc
+    CXX=    CC
+    CPP=    cc -E
+    CXXCPP= CC -E
+</programlisting>
+
+	<note><para>The <varname>CPP</varname> setting might break some
+	packages that use the C preprocessor for processing things other
+	than C source code.</para></note>
 
       </sect3>
       <sect3 id="solaris-sunpro-64">
 	<title>Building 64-bit binaries with SunPro</title>
 
-	<para>Building 64-bit binaries is a little trickier. First, you
-	need to bootstrap pkgsrc in 64-bit mode. One problem here is
-	that while building one of the programs in the bootstrap kit
-	(<filename>bmake</filename>), the <varname>CFLAGS</varname>
-	variable is not honored, even if it is set in the environment.
-	To work around this bug, you can create a simple shell script
-	called <filename>cc64</filename> and put it somewhere in the
-	<varname>PATH</varname>:</para>
-
-	<programlisting>
-	  #! /bin/sh
-	  exec /opt/SUNWspro/bin/cc -xtarget=ultra -xarch=v9 ${1+"$@"}
-	</programlisting>
-
-	<para>Then, pass the definition for <varname>CC</varname> in the
-	environment of the <command>bootstrap</command> command:</para>
-
-	<programlisting>
-	  &uprompt; <userinput>cd bootstrap</userinput>
-	  &uprompt; <userinput>CC=cc64 ./bootstrap</userinput>
-	</programlisting>
-
-	<para>After bootstrapping, there are two alternative ways,
-	depending on whether you want to find bugs in packages or get
-	your system ready quickly. If you just want a running system,
-	add the following lines to your <filename>mk.conf</filename>
+	<para>To build 64-bit packages, you just need to have the
+	following lines in your <filename>mk.conf</filename>
 	file:</para>
 
-	<programlisting>
-	  CC=                     cc64
-	  CXX=                    CC64
-	  PKGSRC_COMPILER=        sunpro
-	</programlisting>
-
-	<para>This way, all calls to the compiler will be intercepted by
-	the above wrapper and therefore get the necessary ABI options
-	automatically. (Don't forget to create the shell script
-	<filename>CC64</filename>, too.)</para>
-
-	<para>To find packages that ignore the user-specified
-	<varname>CFLAGS</varname> and <varname>CXXFLAGS</varname>, add
-	the following lines to your <filename>mk.conf</filename>
-	file:</para>
-
-	<programlisting>
-	  CC=                     cc
-	  CXX=                    CC
-	  PKGSRC_COMPILER=        sunpro
-	  CFLAGS=                 -xtarget=ultra -xarch=v9
-	  CXXFLAGS=               -xtarget=ultra -xarch=v9
-	  LDFLAGS=                -xtarget=ultra -xarch=v9
-	</programlisting>
-
-	<para>Packages that don't use the flags provided in the
-	configuration file will try to build 32-bit binaries and fail
-	during linking. Detecting this is useful to prevent bugs on
-	other platforms where the error would not show up but pass
-	silently.</para>
+<programlisting>
+    PKGSRC_COMPILER=        sunpro
+    ABI=                    64
+</programlisting>
+
+	<note><para>This setting has been tested for the SPARC
+	architecture. Intel and AMD machines need some more
+	work.</para></note>
 
       </sect3>
-
       <sect3 id="plat.sunos.problems"><title>Common problems</title>
 
       <para>Sometimes, when using <command>libtool</command>,