<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">

<article>
<!--
<title>Building XFree86
-->
<title>XFree86 の構築
<author>David Dawes
<Date>25 June 1999
<trans>The X Japanese Documentation Project
<tdate>3 August 1999

<abstract>
<!--
This document describes how to build XFree86 from the <bf>source</bf>
distribution.  It covers building from the full source distribution as
well as from the cut-down source distribution available for building
only the X servers.  It is designed to
be used in conjunction with the OS-specific README files.
-->
この文書では XFree86 を<bf>ソース</bf> 配布物から構築する方法を説明し
ます。この文書は全ソース配布物からの構築方法とともに、X サーバだけ構築
するように切り詰めたソース配布物からの構築についても説明します。この文
書は OS 固有の README ファイルと併せて読むように意図して書いてあります。
</abstract>

<toc>

    
<!-- <sect>Building XFree86 From a Source Distribution -->
<sect>ソース配布物からの XFree86 の構築

<p>
<!--
<quote>
<bf/NOTE:/  Refer to the appropriate OS-specific README file before attempting
       to build XFree86.  These files contain additional information that 
       you may need to successfully build under your OS.
</quote>
-->
<quote>
<bf/注意:/  XFree86 を構築しようとする前に適切な OS 固有の README ファ
イルを参照してください。OS 固有の README ファイルには、その OS の下で
構築をうまく行うために必要な追加情報が書かれています。
</quote>


<!--
We highly recommend using GCC-2 to build XFree86.
GCC-2 is available from prep.ai.mit.edu
and other sites archiving GNU source.
Note that both gcc-2.8.0 and egcs have been proven to break the code
multiple times.  Especially egcs seems to fail in several modules when
optimizing.
-->
XFree86 を構築の際には GCC-2 を使うことを強くお勧めします。GCC-2 は 
prep.ai.mit.edu 等の GNU ソースアーカイブサイトで入手できます。
gcc-2.8.0 と egcs はどちらも、コードが何ヶ所かで壊れてしまうことが分かっ
ています。特に、egcs は一部のモジュールのコンパイル時に最適化で問題を
起こすようです。

<!--
<sect1>How to get the XFree86 3.3.4 source
-->
<sect1>XFree86 3.3.4 のソースの取得方法
<p>
<!--
There are a few starting points for getting the XFree86 source.  One option
is to start directly with the XFree86 3.3.4 source distribution.  In this
case, the procedure is as follows:
-->
XFree86 のソースの入手のスタート地点はいくつかあります。そのうちの1つ
は、XFree86 3.3.4 のソースアーカイブから直接作業を開始することです。こ
の場合の手順は以下のようになります:
<itemize>
<!--
  <item>The XFree86 3.3.4 source is contained in files <tt>X334src-1.tgz</tt>,
	<tt>X334src-2.tgz</tt> and <tt>X334src-3.tgz</tt>.  These can be found
	at <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"> and similar
	locations on XFree86 mirror sites.  <tt>X334src-2.tgz</tt> contains
	the fonts and documentation source.  <tt>X334src-3.tgz</tt> contains
	the hardcopy documentation.  <tt>X334src-1.tgz</tt> contains
	everything else.  If you don't need the docs or fonts you can get
	by with only <tt>X334src-1.tgz</tt>.
-->
  <item>XFree86 3.3.4 のソースは <tt>X334src-1.tgz</tt>,
	<tt>X334src-2.tgz</tt>, <tt>X334src-3.tgz</tt> に含まれています。
	これらのファイルは
	<htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/">や 
	XFree86 のミラーサイトの同様のディレクトリにあります。
	<tt>X334src-2.tgz</tt> はフォントと文書のソースです。
	<tt>X334src-3.tgz</tt> は印刷可能な形式の文書です。
	<tt>X334src-1.tgz</tt> には他のものが全て入っています。文書や
	フォントが必要ない場合は、<tt>X334src-1.tgz</tt> だけ入手して
	もかまいません。
<!--
  <item>Extract each of these files by running the following from a directory
	on a filesystem containing enough space (the full source requires
	around 140MB, and a similar amount is required in addition to this
	for the compiled binaries):
	<quote><verb>
	gzip -d < X334src-1.tgz | tar vxf -
	gzip -d < X334src-2.tgz | tar vxf -
	gzip -d < X334src-3.tgz | tar vxf -
	</verb></quote>
-->
  <item>空き容量が十分あるファイルシステムのディレクトリで次のコマンド
	を実行し、これらのファイルを展開してください。(ソース全てを展
	開するには約 140MB, コンパイルしてバイナリを得るには同程度の空
	きスペース必要です):
	<quote><verb>
	gzip -d < X334src-1.tgz | tar vxf -
	gzip -d < X334src-2.tgz | tar vxf -
	gzip -d < X334src-3.tgz | tar vxf -
	</verb></quote>
</itemize>

<!--
Another option is to start with the X11R6.3 source distribution and patch
it up to XFree86 3.3.3 and then patch that to XFree86 3.3.4 (see below).  
In this case you need to do the following:
-->
別の方法は、X11R6.3 ソース配布物を入手し、これにパッチを当てて XFree86
3.3.3 にし、さらにパッチを当てて XFree86 3.3.4 にすることです(後述)。
これは次の手順で行います:
<itemize>
<!--
  <item>Start with the X Consortium's X11R6.3 distribution with public
	patches 1 and 2 (but not 3) applied.  This can be obtained by
	following the links
	from the <url name="The Open Group's X home page"
	url="http://www.opengroup.org/tech/desktop/x/">.
-->
  <item>公式パッチ 1, 2が当たった(ただし、3は当てない) X コンソーシア
	ムの X11R6.3 配布を用意します。これは
	<url name="The Open Group の X のホームページ"
	url="http://www.opengroup.org/tech/desktop/x/">からのリンクを
	たどって入手することができます。
<!--
  <item>Get the files <tt>R6.3pl2-3.3.3.diff1.gz</tt>,
	<tt>R6.3pl2-3.3.3.diff2.gz</tt>, <tt>R6.3pl2-3.3.3.diff3.gz</tt>,
	and <tt>R6.3pl2-3.3.3.diff4.gz</tt>
	from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/"> (or a similar
	location on mirror sites).  To upgrade the source to XFree86 3.3.3,
	run the following from directory containing the <tt>xc</tt>
	directory of the X11R6.3 pl2 source tree:
	<quote><verb>
	gzip -d < R6.3pl2-3.3.3.diff1.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff2.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff3.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff4.gz | patch -p0 -E
	</verb></quote>
	Be sure to do this with a clean unmodified source tree.  If you
	don't some patches may fail.
-->
  <item>ファイル <tt>R6.3pl2-3.3.3.diff1.gz</tt>,
	<tt>R6.3pl2-3.3.3.diff2.gz</tt>,
	<tt>R6.3pl2-3.3.3.diff3.gz</tt>,
	<tt>R6.3pl2-3.3.3.diff4.gz</tt> を
	<htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/"> (また
	はミラーサイトの同様のディレクトリ)から入手します。このソース
	を XFree86 3.3.3 に更新するには、X11R6.3 pl2 のソースツリー内
	の <tt>xc</tt> ディレクトリがあるディレクトリで以下のコマンド
	を実行します。
	<quote><verb>
	gzip -d < R6.3pl2-3.3.3.diff1.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff2.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff3.gz | patch -p0 -E
	gzip -d < R6.3pl2-3.3.3.diff4.gz | patch -p0 -E
	</verb></quote>
	この操作は必ず、全く変更されていないソースツリーに対して行って
	ください。そうでなければ、当たらないパッチが出てくるかもしれま
	せん。
</itemize>

<!--
A further option is to start with the XFree86 3.3.3 source, and patch
it up to XFree86 3.3.4.  In this case you need to do the following:
-->
さらに別の方法として、XFree86 3.3.3 のソースを用意し、これにパッチを当
てて XFree86 3.3.4 にすることもできます。この場合には以下の手順を行い
ます:
<itemize>
<!--
  <item>If using this option, you would already have the XFree86 3.3.3
	source.  If you have applied any of the public patches to 3.3.3,
	back them out before starting the upgrade to 3.3.4.
-->
  <item>この方法を使う場合には、既に XFree86 3.3.3 のソースをお持ちの
	ことと思います。3.3.3 への公式パッチを1つでも当てていたら、
	3.3.4 へのアップグレードを始める前に、これらのパッチを外してく
	ださい。
<!--
  <item>Get the file <tt>3.3.3-3.3.4.diff.gz</tt>
	from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/patches/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/patches/"> (or a similar
	location on mirror sites).  To upgrade the source to XFree86 3.3.4,
	run the following from directory containing the <tt>xc</tt>
	directory of the XFree86 3.3.3 source tree:
	<quote><verb>
	gzip -d < 3.3.3-3.3.4.diff.gz | patch -p0 -E
	</verb></quote>
	Be sure to do this with a clean unmodified source tree.  If you
	don't some patches may fail.
-->
  <item><tt>3.3.3-3.3.4.diff.gz</tt> ファイルを
	<htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/patches/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/patches/">
	(またはミラーサイトの同様のディレクトリ)から入手します。このソー
	スをアップグレードして XFree86 3.3.4 にするには、XFree86 3.3.3 
	のソースツリー内の <tt>xc</tt> ディレクトリがあるディレクトリ
	から次のコマンドを実行します:
	<quote><verb>
	gzip -d < 3.3.3-3.3.4.diff.gz | patch -p0 -E
	</verb></quote>
	パッチ当ては必ず修正をしていないソースツリーで行ってください。
	さもなければ、うまく当たらないパッチがあるかもしれません。
</itemize>

<!--
If you only want to build the XFree86 X servers, you can use a cut-down
version of the XFree86 source tree called the ``servers only'' distribution.
If you choose this option, do the following:
-->
XFree86 の X サーバだけを構築したい場合は、``servers only'' 配布物と呼
ばれる XFree86 ソースファイルを切り詰めたものを使用します。この方法を
選択した場合は、次の手順を実行します:
<itemize>
<!--
  <item>Get the <tt>X334servonly.tgz</tt> file from
	<htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"> (or a similar
	locations on mirror sites.
-->
  <item><tt>X334servonly.tgz</tt> というファイルを
	<htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"
	url="ftp://ftp.xfree86.org/pub/XFree86/3.3.4/source/"> から
	(またはミラーサイトの同様な場所から)入手します。
<!--
  <item>Extract this by running the following:
	<quote><verb>
	gzip -d < X334servonly.tgz | tar vxf -
	</verb></quote>
-->
  <item>次の手順でファイルを展開します:
	<quote><verb>
	gzip -d < X334servonly.tgz | tar vxf -
	</verb></quote>
</itemize>

<!--
XFree86 supports a small subset of the X Consortium X11R6.1 contrib
distribution.  If you wish to build this, you will need at least the
following files/directories from that distribution:
-->
XFree86 は X コンソーシアムの X11R6.1 contrib 配布物をほんの一部だけサ
ポートしています。これを構築したい場合は、配布物のうち、少なくとも次の
ファイルやディレクトリが必要です:
<tscreen><verb>
	contrib/Imakefile
	contrib/programs/Imakefile
	contrib/programs/ico
	contrib/programs/listres
	contrib/programs/showfont
	contrib/programs/viewres
	contrib/programs/xbiff
	contrib/programs/xcalc
	contrib/programs/xditview
	contrib/programs/xedit
	contrib/programs/xev
	contrib/programs/xeyes
	contrib/programs/xfontsel
	contrib/programs/xgc
	contrib/programs/xload
	contrib/programs/xman
	contrib/programs/xmessage
</verb></tscreen>
<!--
You will also need the XFree86 patch <tt>contrib-3.3.3.diff.gz</tt>.  To
apply the patch, run the following from the directory containing the
<tt>contrib</tt> directory:
-->
XFree86 のパッチ <tt>contrib-3.3.3.diff.gz</tt> も必要になるでしょう。
このパッチを適用するには、<tt>contrib</tt> ディレクトリがあるディレク
トリから以下のコマンドを実行してください:
<tscreen><verb>
	gzip -d < contrib-3.3.3.diff.gz | patch -p0 -E
</verb></tscreen>
<!--
Alternatively, you can just get the file <tt>X333contrib.tgz</tt> from
the XFree86 source directory, and extract it by running:
-->
他の方法もあります。その場合、XFree86 ソースディレクトリから 
<tt>X333contrib.tgz</tt> というファイルを入手して、次のコマンドで展開
します:
<tscreen><verb>
	gzip -d < X333contrib.tgz | tar vxf -
</verb></tscreen>

<!--
If you wish to build the xtest distribution, get the source distribution
<tt>X33test.tgz</tt> from the XFree86 source directory, and extract it
by running:
-->
xtest 配布物を構築したい場合は、XFree86 ソースディレクトリから 
<tt>X33test.tgz</tt> ソース配布物 を入手して次のコマンドで展開します:
<tscreen><verb>
	gzip -d < X33test.tgz | tar vxf -
</verb></tscreen>
<!--
Note, xtest is no longer part of the core X11 distribution (since X11R6.3).
-->
注意ですが、xtest は (X11R6.3 から) X11 のコア配布物には含まれなくなり
ました。

<!-- <sect1>Configuring the source before building -->
<sect1>構築前のソースの設定
<p>
<!--
It is recommended that you start the configuration process by going to the
<tt>xc/config/cf</tt> directory, and copying the file <tt>xf86site.def</tt>
to <tt>host.def</tt>.  Then read through the <tt>host.def</tt> file
(which is heavily commented), and set any parameters that you want for
your configuration.  You can usually find out what the default settings
are by checking the <tt>.cf</tt> file(s) relevant to your OS.
-->
設定作業の一番始めには、<tt>xc/config/cf</tt> ディレクトリに移動して、
<tt>xf86site.def</tt> ファイルを <tt>host.def</tt> にコピーしましょう。
そして<tt>host.def</tt> ファイルを全て読み(このファイルにはコメントが
たくさん書かれています)、目的の設定に合わせてパラメタを設定します。
普通は使っている OS に関連する <tt>.cf</tt> を調べれば、デフォルトの設
定が分かります。

<!--
Unlike previous versions, imake can now automatically detect and set
the various <bf>OS*Version</bf> parameters, so you shouldn't need to
enter those settings explicitly.
-->
前のバージョンと異なる点があります。このバージョンでは imake が各種 
<bf>OS*Version</bf> を自動的に検出して設定するようになったので、これに
関する設定を明示的に入力する必要はなくなりました。

<!--
If you are using just the <tt>X334src-1.tgz</tt> part of the source dist,
you will need to define <bf>BuildFonts</bf> to <bf>NO</bf>.
-->
ソース配布物のうち <tt>X334src-1.tgz</tt> の部分だけを使う場合には、
<bf>BuildFonts</bf> は <bf>NO</bf> と定義する必要があります。

<!--
If you are using the ``servers only'' distribution, you will need to
define <bf>BuildServersOnly</bf> to <bf>YES</bf>.
-->
``servers only'' 配布物を使用する場合は、<bf>BuildServersOnly</bf> を
 <bf>YES</bf> と定義する必要があります。

<!-- <sect1>Building and installing the distribution -->
<sect1>配布物の構築とインストール
<p>
<!--
Before building the distribution, read through the OS-specific <tt/README/
file in <tt>xc/programs/Xserver/hw/xfree86/doc</tt> that is relevant to
you.  Once those OS-specific details have been taken care of, go the
<tt/xc/ directory and run ``<tt/make World/'' with the <bf/BOOTSTRAPCFLAGS/
set as described in the OS-specific README (if necessary).  It is
advisable to redirect stdout and stderr to <tt/World.Log/ so that you
can track down problems that might occur during the build.
-->
配布物を構築する前には、お使いの OS 固有の <tt/README/ ファイルを通読
してください。このファイルは 
<tt>xc/programs/Xserver/hw/xfree86/doc</tt> にあります。OS 固有の詳細
な注意点が理解できれば、<tt/xc/ ディレクトリに移動して
``<tt/make World/'' を実行します。 実行の際には必要に応じて、OS 固有の 
README ファイルに書かれている <bf/BOOTSTRAPCFLAGS/ を使用してください。
標準出力と標準エラー出力を <tt/World.Log/ にリダイレクトしておくと、構
築中に発生した問題の原因追求に役立ちます。

<!--
When the build is finished, you should check <tt/World.Log/ to see
if there were any problems.  If there weren't any then you can install
the binaries.  When using the full source distribution, the installation
should be done from the <tt/xc/ directory.  When using the ``servers only''
distribution, the install should be done from the
<tt>xc/programs/Xserver</tt> directory.
To do
the install, run ``<tt/make
install/'' and ``<tt/make install.man/''.  Make sure you have enough
space in <tt>/usr/X11R6</tt> for the install to succeed.  If you want
to install on a filesystem other than <tt>/usr</tt>, make a symbolic
link to <tt>/usr/X11R6</tt> before installing.
-->
構築が終了したら、 <tt/World.Log/ を調べて問題が無いことを確認してくだ
さい。問題がなければバイナリをインストールしても良いでしょう。全てのソー
ス配布物を使う場合は、<tt/xc/ ディレクトリからインストールを行います。
``servers only'' 配布物を使用している場合は、
<tt>xc/programs/Xserver</tt> ディレクトリからインストールを行います。
インストールを行うには``<tt/make install/'' と
``<tt/make install.man/'' を実行します。インストールに十分なだけの空き
容量が <tt>/usr/X11R6</tt> にあることを確認してください。<tt>/usr</tt> 
以外のファイルシステムにインストールする場合にはインストールの前に 
<tt>/usr/X11R6</tt> へシンボリックリンクを張ってください。

<!--
To install the binary LinkKit (in <tt>/usr/X11R6/lib/Server</tt>),
run ``<tt>make install.linkkit</tt>'' from the <tt/xc/ directory.
-->
<tt>/usr/X11R6/lib/Server</tt> にあるバイナリの LinkKit をインストール
するには、``<tt>make install.linkkit</tt>'' を <tt/xc/ ディレクトリか
ら実行してください。

<!--
To build the subset of the contrib release supported by
XFree86, make sure that you have first built and installed the core
distribution.  Then go to the <tt/contrib/ directory and run
``<tt/xmkmf -a; make/''.  When that is completed, run
``<tt/make install/'' and ``<tt/make install.man/'' to install it.
-->
XFree86 のサポートしている contrib リリースの一部を構築するには、まず
コア配布物がインストールしてあることを確認してください。次に、
<tt/contrib/ ディレクトリに移動して ``<tt/xmkmf -a; make/'' を実行しま
す。コンパイルが終了したら ``<tt/make install/'' と
``<tt/make install.man/'' を実行してインストールを行います。

<!--
To build/run the xtest distribution, refer to the instructions in
the file <tt>test/xsuite/NOTES.xf86</tt>.
-->
xtest 配布物を構築/実行するには、<tt>test/xsuite/NOTES.xf86</tt> ファ
イルにある手順を参照してください。

<!-- <sect>Reconfiguring the server (source distribution) -->
<sect>サーバの再設定 (ソース配布物の場合)
<p>
<!--
To build a different set of servers or servers with a different set of
drivers installed:
-->
複数の異なるサーバや異なるドライバを含むサーバを構築するには、以下の手
順を行います:
<enum>
<!--
<item>Make sure the source for any new drivers is in the correct place (e.g.,
driver source for the SVGA server should be in a subdirectory of
<tt>xc/programs/Xserver/hw/xfree86/vga256/drivers</tt>).
-->
<item>新しいドライバのソースが正しい位置にあることを確認します(例えば 
SVGA サーバのドライバのソースは 
<tt>xc/programs/Xserver/hw/xfree86/vga256/drivers</tt> というサブディ
レクトリにあるはずです)。

<!--
<item>Change the settings of the server defines
in <tt/host.def/ to specify which servers you
wish to build.  Also, change the driver lists to suit your needs.
-->
<item><tt/host.def/ ファイル中でサーバの定義の設定を変更し、構築するサー
バを指定します。また、必要に応じてドライバのリストを変更します。

<!--
<item>From <tt>xc/programs/Xserver</tt>, run:
-->
<item><tt>xc/programs/Xserver</tt> ディレクトリで以下のコマンドを実行
します:
<tscreen><verb>
	make Makefile
	make Makefiles
	make depend
	make
</verb></tscreen>
</enum>

<!-- <sect>Reconfiguring the server (binary distribution) -->
<sect>サーバの再設定 (バイナリ配布物の場合)
<p>

<!--
If you have installed the server Binary LinkKit, it is possible to
reconfigure the drivers and some of the extensions in the servers.  For
details of how to do this, please refer to the <htmlurl url="LinkKit.html"
name="README.LinkKit"> file.
-->
サーバのバイナリリンクキットを導入していれば、ドライバとサーバ内の
一部の機能拡張を再設定することができます。この作業の詳細な手順について
は、<htmlurl url="LinkKit.html" name="README.LinkKit"> ファイルを参照
してください。

<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/sgml/BUILD.sgml,v 1.1.2.3 1999/11/26 15:23:36 hohndel Exp $
</verb>

<sect>日本語訳について<p>
日本語訳は X Japanese Documentation Project が行いました(
翻訳(XFree86 3.3): 岡本一幸
<url url="mailto:ikko-@pacific.rim.or.jp" name="&lt;ikko-@pacific.rim.or.jp&gt;">,
更新(XFree86 3.3.3, 3.3.4 対応): 藤原輝嘉
<url url="mailto:fujiwara@linux.or.jp" name="&lt;fujiwara@linux.or.jp&gt;">,
校正: 金田浩司  <url url="mailto:vanitas@ma3.seikyou.ne.jp"
name="&lt;vanitas@ma3.seikyou.ne.jp&gt;">)。
問題点の指摘やご意見は藤原まで御連絡ください。
原文の著作権は XFree86 プロジェクト社にあり、日本語訳の著作権は X Japanese
Documentation Project にあります。

</article>
