head 1.2; access; symbols netbsd-7-2-RELEASE:1.1.1.8 netbsd-7-1-2-RELEASE:1.1.1.8 netbsd-7-1-1-RELEASE:1.1.1.8 netbsd-7-1:1.1.1.8.0.28 netbsd-7-1-RELEASE:1.1.1.8 netbsd-7-1-RC2:1.1.1.8 netbsd-7-1-RC1:1.1.1.8 netbsd-7-0-2-RELEASE:1.1.1.8 netbsd-7-0-1-RELEASE:1.1.1.8 netbsd-7-0:1.1.1.8.0.26 netbsd-7-0-RELEASE:1.1.1.8 netbsd-7-0-RC3:1.1.1.8 netbsd-7-0-RC2:1.1.1.8 netbsd-7-0-RC1:1.1.1.8 netbsd-5-2-3-RELEASE:1.1.1.8 netbsd-5-1-5-RELEASE:1.1.1.8 netbsd-6-0-6-RELEASE:1.1.1.8 netbsd-6-1-5-RELEASE:1.1.1.8 netbsd-7:1.1.1.8.0.24 netbsd-7-base:1.1.1.8 netbsd-6-1-4-RELEASE:1.1.1.8 netbsd-6-0-5-RELEASE:1.1.1.8 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.8 riastradh-drm2:1.1.1.8.0.22 riastradh-drm2-base:1.1.1.8 netbsd-6-1-3-RELEASE:1.1.1.8 netbsd-6-0-4-RELEASE:1.1.1.8 netbsd-5-2-2-RELEASE:1.1.1.8 netbsd-5-1-4-RELEASE:1.1.1.8 netbsd-6-1-2-RELEASE:1.1.1.8 netbsd-6-0-3-RELEASE:1.1.1.8 netbsd-5-2-1-RELEASE:1.1.1.8 netbsd-5-1-3-RELEASE:1.1.1.8 netbsd-6-1-1-RELEASE:1.1.1.8 netbsd-6-1:1.1.1.8.0.20 netbsd-6-0-2-RELEASE:1.1.1.8 netbsd-6-1-RELEASE:1.1.1.8 netbsd-6-1-RC4:1.1.1.8 netbsd-6-1-RC3:1.1.1.8 netbsd-6-1-RC2:1.1.1.8 netbsd-6-1-RC1:1.1.1.8 netbsd-5-2:1.1.1.8.0.18 netbsd-6-0-1-RELEASE:1.1.1.8 netbsd-5-2-RELEASE:1.1.1.8 netbsd-5-2-RC1:1.1.1.8 netbsd-6-0:1.1.1.8.0.16 netbsd-6-0-RELEASE:1.1.1.8 netbsd-6-0-RC2:1.1.1.8 netbsd-6-0-RC1:1.1.1.8 netbsd-6:1.1.1.8.0.14 netbsd-6-base:1.1.1.8 netbsd-5-1-2-RELEASE:1.1.1.8 netbsd-5-1-1-RELEASE:1.1.1.8 netbsd-5-1:1.1.1.8.0.12 netbsd-5-1-RELEASE:1.1.1.8 netbsd-5-1-RC4:1.1.1.8 netbsd-5-1-RC3:1.1.1.8 netbsd-5-1-RC2:1.1.1.8 netbsd-5-1-RC1:1.1.1.8 netbsd-5-0-2-RELEASE:1.1.1.8 netbsd-5-0-1-RELEASE:1.1.1.8 netbsd-5-0:1.1.1.8.0.10 netbsd-5-0-RELEASE:1.1.1.8 netbsd-5-0-RC4:1.1.1.8 netbsd-5-0-RC3:1.1.1.8 netbsd-5-0-RC2:1.1.1.8 netbsd-5-0-RC1:1.1.1.8 netbsd-5:1.1.1.8.0.8 netbsd-5-base:1.1.1.8 netbsd-4-0-1-RELEASE:1.1.1.8 netbsd-4-0:1.1.1.8.0.6 netbsd-4-0-RELEASE:1.1.1.8 netbsd-4-0-RC5:1.1.1.8 netbsd-4-0-RC4:1.1.1.8 netbsd-4-0-RC3:1.1.1.8 netbsd-4-0-RC2:1.1.1.8 netbsd-4-0-RC1:1.1.1.8 netbsd-3-1-1-RELEASE:1.1.1.7.6.1 netbsd-3-0-3-RELEASE:1.1.1.7.6.1 abandoned-netbsd-4-base:1.1.1.8 abandoned-netbsd-4:1.1.1.8.0.2 netbsd-3-1:1.1.1.7.6.1.0.4 netbsd-3-1-RELEASE:1.1.1.7.6.1 netbsd-3-0-2-RELEASE:1.1.1.7.6.1 netbsd-3-1-RC4:1.1.1.7.6.1 netbsd-3-1-RC3:1.1.1.7.6.1 netbsd-3-1-RC2:1.1.1.7.6.1 netbsd-3-1-RC1:1.1.1.7.6.1 netbsd-4:1.1.1.8.0.4 netbsd-4-base:1.1.1.8 netbsd-3-0-1-RELEASE:1.1.1.7.6.1 netbsd-3-0:1.1.1.7.6.1.0.2 netbsd-3-0-RELEASE:1.1.1.7.6.1 netbsd-3-0-RC6:1.1.1.7.6.1 netbsd-3-0-RC5:1.1.1.7.6.1 netbsd-3-0-RC4:1.1.1.7.6.1 netbsd-3-0-RC3:1.1.1.7.6.1 netbsd-3-0-RC2:1.1.1.7.6.1 netbsd-3-0-RC1:1.1.1.7.6.1 netbsd-2-0-3-RELEASE:1.1.1.7 netbsd-2-1:1.1.1.7.0.8 netbsd-2-1-RELEASE:1.1.1.7 netbsd-2-1-RC6:1.1.1.7 netbsd-2-1-RC5:1.1.1.7 netbsd-2-1-RC4:1.1.1.7 netbsd-2-1-RC3:1.1.1.7 netbsd-2-1-RC2:1.1.1.7 netbsd-2-1-RC1:1.1.1.7 netbsd-2-0-2-RELEASE:1.1.1.7 v4-5-0:1.1.1.8 v4-5-0_beforeimport:1.1.1.7 netbsd-3:1.1.1.7.0.6 netbsd-3-base:1.1.1.7 netbsd-2-0-1-RELEASE:1.1.1.7 netbsd-2:1.1.1.7.0.4 netbsd-2-base:1.1.1.7 netbsd-2-0-RELEASE:1.1.1.7 netbsd-2-0-RC5:1.1.1.7 netbsd-2-0-RC4:1.1.1.7 netbsd-2-0-RC3:1.1.1.7 netbsd-2-0-RC2:1.1.1.7 netbsd-2-0-RC1:1.1.1.7 netbsd-2-0:1.1.1.7.0.2 netbsd-2-0-base:1.1.1.7 v4-4-0:1.1.1.7 v4-4-0_beforeimport:1.1.1.6 netbsd-1-6-PATCH002-RELEASE:1.1.1.6 netbsd-1-6-PATCH002:1.1.1.6 netbsd-1-6-PATCH002-RC4:1.1.1.6 v4-3-0-2003-12-19:1.1.1.6 netbsd-1-6-PATCH002-RC3:1.1.1.6 netbsd-1-6-PATCH002-RC2:1.1.1.6 netbsd-1-6-PATCH002-RC1:1.1.1.6 netbsd-1-6:1.1.1.6.0.2 netbsd-1-6-base:1.1.1.6 v4-3-0:1.1.1.6 v4-3-0_beforeimport:1.1.1.5 netbsd-1-6-PATCH001:1.1.1.5 netbsd-1-6-RELEASE:1.1.1.4 v4-2-1:1.1.1.5 v4-2-1_beforeimport:1.1.1.4 netbsd-1-5-PATCH003:1.1.1.4 v4-2-0:1.1.1.4 netbsd-1-5-PATCH002:1.1.1.3 netbsd-1-5-PATCH001:1.1.1.2 v4-1-0:1.1.1.3 v4-0-3:1.1.1.2 v4-0-2:1.1.1.1 XF86:1.1.1; locks; strict; comment @# @; 1.2 date 2015.07.23.08.13.37; author mrg; state dead; branches; next 1.1; commitid 3Fk7MoycOv7VSnuy; 1.1 date 2001.01.01.12.45.53; author veego; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2001.01.01.12.45.53; author veego; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2001.03.18.17.25.33; author veego; state Exp; branches; next 1.1.1.3; 1.1.1.3 date 2001.06.09.15.05.05; author tron; state Exp; branches; next 1.1.1.4; 1.1.1.4 date 2002.01.19.15.08.07; author tron; state Exp; branches; next 1.1.1.5; 1.1.1.5 date 2002.09.04.15.09.20; author tron; state Exp; branches; next 1.1.1.6; 1.1.1.6 date 2003.02.28.13.20.07; author tron; state Exp; branches; next 1.1.1.7; 1.1.1.7 date 2004.03.05.14.28.32; author tron; state Exp; branches 1.1.1.7.6.1; next 1.1.1.8; 1.1.1.8 date 2005.03.18.13.11.28; author tron; state Exp; branches; next ; 1.1.1.7.6.1 date 2005.04.06.20.00.38; author tron; state Exp; branches; next ; desc @@ 1.2 log @remove obsolete XFree86 sources. @ text @
Building XFree86 <author>David Dawes <Date>24 May 1997 <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. </abstract> <toc> <sect>Building XFree86 From a Source Distribution <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> We highly recommend using GCC-2 to build XFree86. Do not use version 2.6.0 or 2.4.x versions prior to 2.4.5 due to bugs that cause either build or execution failures. (gcc-2 is available from prep.ai.mit.edu and other sites archiving GNU source.) <sect1>How to get the XFree86 3.3 source <p> There are a few starting points for getting the XFree86 source. One option is to start directly with the XFree86 3.3 source distribution. In this case, the procedure is as follows: <itemize> <item>The XFree86 3.3 source is contained in files <tt>X33src-1.tgz</tt>, <tt>X33src-2.tgz</tt> and <tt>X33src-3.tgz</tt>. These can be found at <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3/source/" url="ftp://ftp.xfree86.org/pub/XFree86/3.3/source/"> and similar locations on XFree86 mirror sites. <tt>X33src-2.tgz</tt> contains the fonts and documentation source. <tt>X33src-3.tgz</tt> contains the hardcopy documentation. <tt>X33src-1.tgz</tt> contains everything else. If you don't need the docs or fonts you can get by with only <tt>X33src-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 130MB, and a similar amount is required in addition to this for the compiled binaries): <quote><verb> gzip -d < X33src-1.tgz | tar vxf - gzip -d < X33src-2.tgz | tar vxf - gzip -d < X33src-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. In this case you need to do the following: <itemize> <item>Start with the X Consortium's X11R6.3 distribution with public patch 1 applied. This can be obtained by following the links from the <url name="X homepage" url="http://www.x.org">. <item>Get the files <tt>R6.3pl1-3.3.diff.gz</tt> and <tt>cfont33.tgz</tt> from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3/patches/" url="ftp://ftp.xfree86.org/pub/XFree86/3.3/patches/"> (or a similar location on mirror sites). To upgrade the source to XFree86 3.3, run the following from directory containing the <tt>xc</tt> directory of the X11R6.3 pl1 source tree: <quote><verb> gzip -d < R6.3pl1-3.3.diff.gz | patch -p0 -E gzip -d < cfont33.tgz | tar vxf - </verb></quote> Be sure to do this with a clean unmodified source tree. If you don't some patches may fail. </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: <itemize> <item>Get the <tt>X33servonly.tgz</tt> file from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/3.3/source/" url="ftp://ftp.xfree86.org/pub/XFree86/3.3/source/"> (or a similar locations on mirror sites. <item>Extract this by running the following: <quote><verb> gzip -d < X33servonly.tgz | tar vxf - </verb></quote> </itemize> There is no patch to upgrade from the XFree86 3.2 source to 3.3. The reason for this is the large number of changes associated with the move from X11R6.1 to X11R6.3. 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: <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.diff.gz</tt>. To apply the patch, run the following from the directory containing the <tt>contrib</tt> directory: <tscreen><verb> gzip -d < contrib-3.3.diff.gz | patch -p0 -E </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: <tscreen><verb> gzip -d < X33test.tgz | tar vxf - </verb></tscreen> Note, xtest is no longer part of the core X11 distribution (since X11R6.3). <sect1>Configuring the source before building <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. 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. If you are using just the <tt>X33src-1.tgz</tt> part of the source dist, you will need to define <bf>BuildFonts</bf> to <bf>NO</bf>. If you are using the ``servers only'' distribution, you will need to define <bf>BuildServersOnly</bf> to <bf>YES</bf>. <sect1>Building and installing the distribution <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. 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. To install the binary LinkKit (in <tt>/usr/X11R6/lib/Server</tt>), run ``<tt>make install.linkkit</tt>'' from the <tt/xc/ directory. 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. To build/run the xtest distribution, refer to the instructions in the file <tt>test/xsuite/NOTES.xf86</tt>. <sect>Reconfiguring the server (source distribution) <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>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>From <tt>xc/programs/Xserver</tt>, run: <tscreen><verb> make Makefile make Makefiles make depend make </verb></tscreen> </enum> <sect>Reconfiguring the server (binary distribution) <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. <verb> $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.3 1999/07/19 14:38:41 dawes Exp $ </verb> </article> @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Initial import of XFree86 4.x @ text @@ 1.1.1.2 log @Import of XFree86 4.0.3 @ text @d220 1 a220 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.2 1997/05/24 13:46:34 dawes Exp $ @ 1.1.1.3 log @Import of XFree86 4.1.0. @ text @d220 1 a220 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.3 1999/07/19 14:38:41 dawes Exp $ @ 1.1.1.4 log @Import of XFree86 4.2.0. @ text @d1 1 a1 3 <!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [ <!ENTITY % defs SYSTEM "defs.ent"> %defs; ]> d4 3 a6 3 <title>Building XFree86 from a Source Distribution <author>David Dawes, Matthieu Herrb <Date>27 May 2001 d10 3 a12 1 distribution. It is designed to d18 3 d29 4 a32 4 We highly recommend using gcc to build XFree86, but it generally also builds with the native compiler for each platform; <sect>How to get the XFree86 &relvers; source d34 1 d37 1 a37 1 is to start directly with the XFree86 &relvers; source distribution. In this d40 7 a46 7 <item>The XFree86 source is contained in files <tt>X&srcvers;src-1.tgz</tt>, <tt>X&srcvers;src-2.tgz</tt> and <tt>X&srcvers;src-3.tgz</tt>. These can be found at <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/source/" url="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/source/"> and similar locations on XFree86 mirror sites. <tt>X&srcvers;src-2.tgz</tt> contains the fonts and documentation source. <tt>X&srcvers;src-3.tgz</tt> contains the hardcopy documentation. <tt>X&srcvers;src-1.tgz</tt> contains d48 1 a48 1 by with only <tt>X&srcvers;src-1.tgz</tt>. d51 1 a51 1 around 270MB, and a similar amount is required in addition to this d53 39 a91 19 <quote><tt> gzip -d < X&srcvers;src-1.tgz | tar vxf -<newline> gzip -d < X&srcvers;src-2.tgz | tar vxf -<newline> gzip -d < X&srcvers;src-3.tgz | tar vxf -<newline> </tt></quote> <item>If the release is not a full release, it is available as a patch against the previous full release in the <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/" url="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/"> directory. Get the patch file from there and apply it by running the following command: <quote><tt> cd <em>the directory containing the</em> xc <em>directory</em><newline> gzip -d < <em>file</em> | patch -s -p0 -E </tt> </quote> Look for special patching instructions in the <htmlurl name="Release Notes" url="http://www.xfree86.org/&relvers;/RELNOTES.html">. d94 32 a125 4 Another option is to get the source by anonymous CVS or CVSup. See <htmlurl name="http://www.xfree86.org/cvs/" url="http://www.xfree86.org/cvs/"> for details on the different procedure available. d127 7 a133 1 All method will produce one main source directory called <tt>xc</tt>. d135 1 a135 1 <sect>Configuring the source before building d148 5 a152 47 If you are using just the <tt>X&srcvers;src-1.tgz</tt> part of the source dist, you will need to define <bf>BuildFonts</bf> to <bf>NO</bf>. <sect>Using a shadow directory of symbolic links for the build <p> A recommended practice is to use a shadow directory of symbolic links to do the build of XFree86. This permits to keep the source directory unmodified during the build, which has the following benefits: <itemize> <item>In the case where CVS is used to maintain the source tree up to date, the update process is not disturbed by foreign files not under the control of CVS. <item>It is possible to build XFree86 for several different Operating System or architectures from the same sources, shared by NFS. <item>It is possible to build XFree86 with different configuration options, just by putting a real copy<tt>host.def</tt> in each build tree and by customizing it separately in each build tree. </itemize> <p> To make a shadow directory of symbolic links, use the following steps: <itemize> <item>create the directory at the top of the build tree. It is often created at the same level that the <tt>xc</tt> directory, but this is not mandatory. <quote><tt> cd <em>the directory containing the </em>xc<em>directory</em><newline> mkdir build </tt></quote> <item>use the <tt>lndir</tt>command to make the shadow tree: <quote><tt> lndir ../xc </tt></quote> Note that you can refer to the <tt>xc</tt> directory with an absolute path if needed. <p> See the <htmlurl name="lndir(1) manual page" url="http://www.xfree86.org/&relvers;/lndir.1.html"> for details. </itemize> If <tt>lndir</tt> is not already installed on your system, you can build it manually from the XFree86 sources by running the following commands: <quote><tt> cd xc/config/util<newline> make -f Makefile.ini lndir<newline> cp lndir <em>some directory in your PATH</em> </tt></quote> d154 1 a154 1 <sect>Building and installing the distribution d158 3 a160 6 you. Once those OS-specific details have been taken care of, go your build directory (either the <tt/xc/ directory or the shadow tree created before) and run ``<tt/make World/'' with the <bf/BOOTSTRAPCFLAGS/ set as described in the OS-specific README (if necessary, but most systems supported by XFree86 don't need <bf/BOOTSTRAPCFLAGS/). It is a162 14 <p> With Bourne-like shells (Bash, the Korn shell, <tt>zsh</tt>, etc.) use a command like: <quote><tt> make World > World.log 2>&1 </tt></quote> Witch C-shell variants (<tt>csh</tt>, <tt>tcsh</tt>, etc), use: <quote><tt> make World >& World.log </tt></quote> You can follow the progress of the build by running: <quote><tt> tail -f World.log </tt></quote> in a terminal. a163 1 <p> d166 4 a169 1 the binaries. d177 12 d195 2 a196 2 driver source should be in a subdirectory of <tt>xc/programs/Xserver/hw/xfree86/drivers</tt>). a205 1 make includes d211 2 a212 9 <sect>Other useful make targets <p>There are some other useful targets defined in the top level <tt>Makefile</tt>of XFree86: <itemize> <item><bf/Everything/ after a <tt>make World</tt>, <tt>make Everything</tt>does everything a <tt>make World</tt> does, except the cleaning of the tree. It is a way to quickly rebuild the tree after a source patch, but it is not 100% bullet proof. There are cases were it is better to force a full build by using <tt>make World</tt>. d214 4 a217 32 <item><bf/clean/ does a partial cleaning of the source tree. Removes object files and generated manual pages, but leaves the Makefiles and the generated dependencies files in place. After a <tt>make clean</tt> you need to re-run <tscreen><verb> make includes make depend make </verb> </tscreen> to rebuild the XFree86. <item><bf/distclean/ does a full cleaning of the source tree, removing all generated files. After a <tt>make distclean</tt>, <tt>make World</tt> is the only option to rebuild XFree86. <item><bf/includes/ generates all generated header files and in-tree symbolic links needed by the build. These files are removed by a <tt>make clean</tt>. <item><bf/depend/ recomputes the dependencies for the various targets in all Makefiles. Depending on the operating system, the dependencies are stored in the Makefile, or as a separate file, called <tt>.depend</tt>. This target needs the generated include files produced by <tt>make includes</tt>. <item><bf/VerifyOS/ displays the detected operating system version. If the numbers shown do not match your system, you probably need to set them manually in <tt>host.def</tt> and report the problem to XFree86@@XFree86.org. </itemize> d220 1 a220 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.6 2001/11/15 17:32:16 dawes Exp $ @ 1.1.1.5 log @Import of XFree86 4.2.1. @ text @d33 1 a33 3 is to start directly with the XFree86 &fullrelvers; source distribution<![ %updaterel; [ and updating it to &relvers; with a source patch]]>. In this d36 9 a44 13 <item>The XFree86 source is contained in files <tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt> and <tt>X&fullsrcvers;src-3.tgz</tt>. These can be found at <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/&fullrelvers;/source/" url="ftp://ftp.xfree86.org/pub/XFree86/&fullrelvers;/source/"> and similar locations on XFree86 mirror sites. <tt>X&fullsrcvers;src-2.tgz</tt> contains the fonts and documentation source. <tt>X&fullsrcvers;src-3.tgz</tt> contains the hardcopy documentation. <tt>X&fullsrcvers;src-1.tgz</tt> contains everything else. If you don't need the docs or fonts you can get by with only <tt>X&fullsrcvers;src-1.tgz</tt>. d50 3 a52 3 gzip -d < X&fullsrcvers;src-1.tgz | tar vxf -<newline> gzip -d < X&fullsrcvers;src-2.tgz | tar vxf -<newline> gzip -d < X&fullsrcvers;src-3.tgz | tar vxf -<newline> d54 14 a67 17 <![ %updaterel; [ <item>A patch relative to &fullrelvers is available at <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/" url="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/">. The patch file is <tt>&fullrelvers;-&relvers;.diff.gz</tt>. The patch can be applied by running: <quote><tt> cd <em>the directory containing the</em> xc <em>directory</em><newline> gzip -d < &fullrelvers;-&relvers;.diff.gz | patch -s -p0 -E </tt> </quote> Look for special patching instructions in the <htmlurl name="Release Notes" url="http://www.xfree86.org/&relvers;/RELNOTES.html">. ]]> d75 1 a75 1 All methods will produce one main source directory called <tt>xc</tt>. d243 1 a243 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.6.4.1 2002/09/04 03:33:11 dawes Exp $ @ 1.1.1.6 log @Import of XFree86 4.3.0. @ text @d8 1 a8 5 <Date>26 February 2003 <ident> $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.11 2003/02/27 01:17:36 dawes Exp $ </ident> d30 1 d32 5 a36 13 The recommended way of getting the XFree86 &relvers; source is to get it directly from the XFree86 CVS repository. There are several ways of doing that, and they are described at our <url name="CVS web page" url="http://www.xfree86.org/cvs/"> The CVS tag for this release is "<tt>&reltag;</tt>", and the tag for the maintenance branch for this release is "<tt>&relbranchtag;</tt>". <![ %notsnapshot; [ Another method of getting the XFree86 &relvers; source is to either download the &fullrelvers; source tarballs from the XFree86 ftp site<![ %updaterel; [ and the source patch that updates &fullrelvers; to &relvers]]>. The procedure for this is as follows: d38 3 a40 5 <item>The XFree86 &fullrelvers; source is contained in the files <tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt>, <tt>X&fullsrcvers;src-3.tgz</tt>, <tt>X&fullsrcvers;src-4.tgz</tt>, <tt>X&fullsrcvers;src-5.tgz</tt>, <tt>X&fullsrcvers;src-6.tgz</tt> and <tt>X&fullsrcvers;src-7.tgz</tt>. These can be found at d45 5 a49 10 <tt>X&fullsrcvers;src-4.tgz</tt> and <tt>X&fullsrcvers;src-5.tgz</tt> contains the fonts. <tt>X&fullsrcvers;src-6.tgz</tt> contains the documentation source. <tt>X&fullsrcvers;src-7.tgz</tt> contains the hardcopy documentation. <tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt> and <tt>X&fullsrcvers;src-3.tgz</tt> contains everything else. If you don't need the docs or fonts you can get by with only <tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt> and <tt>X&fullsrcvers;src-3.tgz</tt>. d53 1 a53 1 around 305MB, and a similar amount is required in addition to this a58 4 gzip -d < X&fullsrcvers;src-4.tgz | tar vxf -<newline> gzip -d < X&fullsrcvers;src-5.tgz | tar vxf -<newline> gzip -d < X&fullsrcvers;src-6.tgz | tar vxf -<newline> gzip -d < X&fullsrcvers;src-7.tgz | tar vxf -<newline> d74 2 a75 3 Look for special patching instructions in the "How to get XFree86" section of the <htmlurl name="README" url="README.html"> for this release. d79 4 a82 9 <![ %fullrel; [ Alternatively, if you already have a pristine copy of the XFree86 &prevfullrelvers; source, you can download patches from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/" url="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/patches/"> that will allow you to convert it to &relvers;. Information about which patch files to download and how to apply them can be found in the "How to get XFree86" section of the <htmlurl name="README" url="README.html"> for this release. ]]> a84 11 ]]> <![ %snapshot; [ <p> The source for the XFree86 &relvers; snapshot is available from the XFree86 CVS repository. See See <htmlurl name="http://www.xfree86.org/cvs/" url="http://www.xfree86.org/cvs/"> for details. The tag for this snapshot is "&reltag;". To get the current development version, don't specify any tag. ]]> d88 10 a97 1 In most cases it shouldn't be necessary to configure anything before building. d99 2 a100 23 If you do want to make configuration changes, it is recommended that you start 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. A general rule to follow is to only change things that you understand and have a good reason to change. It is easy to create build problems by changing the default configuration. Many of the configuration parameters are documented in <tt>xc/config/cf/README</tt>. <!-- There's also a section <ref name="below" id="config_params"> with information about some configuration settings. --> <![ %notsnapshot; [ If you are using just the <tt>X&srcvers;src-1.tgz</tt>, <tt>X&srcvers;src-2.tgz</tt> and <tt>X&srcvers;src-3.tgz</tt> parts of the source dist, you will need to define <bf>BuildFonts</bf> to a101 1 ]]> d113 1 a113 2 System or architectures from the same sources, shared by read-only NFS mounts. d115 2 a116 2 options, just by putting a real copy of the <tt>host.def</tt> file in each build tree and by customizing it separately in each build tree. d128 1 a128 1 <item>use the "<tt>lndir</tt>" command to make the shadow tree: d135 2 a136 3 See the <htmlurl name="lndir(1)" url="http://www.xfree86.org/&relvers;/lndir.1.html"> manual page for details. a146 9 From time to time there may be some stale links in the build tree, for example, when files in the source tree are removed or renamed. These can be cleaned up by running the "<tt>cleanlinks</tt>" script from the build directory (see the <htmlurl name="cleanlinks(1)" url="cleanlinks.1.html"> manual page). Rarely there will be changes that will require the build tree to be re-created from scratch. A symptom of this can be mysterious build problems. The best solution for this is to remove the build tree, and then re-create it using the steps outlined above. d154 1 a154 1 run "<tt/make World/" with the <bf/BOOTSTRAPCFLAGS/ d175 9 a183 28 When the build is finished, you should check the <tt/World.Log/ file to see if there were any problems. If there weren't any then you can install the binaries. By default the "make World" process will ignore errors and build as much as possible. If there were problems and they are not corrected at this stage, the installation process will fail. To restart the build process after correcting the problems, just run 'make'. If Imakefiles or part of the build configuration was changed as part of correcting the problem, either re-run "make World", or run "make Everything". If you would prefer "make World" to exit at the first error, run it in the following way instead of the way described above: for Bourne-like shells: <quote><tt> make WORLDOPTS= World > World.log 2>&1 </tt></quote> for C-shell variants: <quote><tt> make WORLDOPTS= World >& World.log </tt></quote> 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. d202 1 a202 1 make includes d213 1 a213 1 Everything</tt> does everything a <tt>make World</tt> does, except the d248 1 a248 1 <email>XFree86@@XFree86.org</email>. d251 3 a253 6 <!-- <sect>Various Configuration settings<label id="config_params"> <p> Fill in this section. --> @ 1.1.1.7 log @Import of XFree86 4.4.0. @ text @d8 1 a8 1 <Date>23 February 2004 d11 1 a11 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.14 2004/02/24 03:41:39 dawes Exp $ d16 2 a17 2 distribution and is designed to be used in conjunction with the operating system (OS) specific README files. d25 2 a26 2 to build XFree86. These files often contain additional information that you need to successfully build for your OS. d30 2 a31 2 We highly recommend using gcc to build XFree86, but XFree86 also generally builds with the native compiler for each OS platform; d37 1 a37 1 obtain it directly from the XFree86 CVS repository. There are several d40 2 a41 2 "<tt>&reltag;</tt>". <![ %fullrel; [ The tag for the maintenance branch for this release is "<tt>&relbranchtag;</tt>".]]> d49 6 a54 13 <item>The XFree86 &fullrelvers; source is contained in the files: <quote><tt> XFree86-&fullrelvers;-src-1.tgz<newline> XFree86-&fullrelvers;-src-2.tgz<newline> XFree86-&fullrelvers;-src-3.tgz<newline> XFree86-&fullrelvers;-src-4.tgz<newline> XFree86-&fullrelvers;-src-5.tgz<newline> XFree86-&fullrelvers;-src-6.tgz<newline> XFree86-&fullrelvers;-src-7.tgz<newline> </tt></quote> These can be found at <htmlurl d58 10 a67 11 <tt>XFree86-&fullrelvers;-src-4.tgz</tt> and <tt>XFree86-&fullrelvers;-src-5.tgz</tt> contains the fonts. <tt>XFree86-&fullrelvers;-src-6.tgz</tt> contains the documentation source. <tt>XFree86-&fullrelvers;-src-7.tgz</tt> contains the hardcopy documentation. <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, <tt>XFree86-&fullrelvers;-src-2.tgz</tt> and <tt>XFree86-&fullrelvers;-src-3.tgz</tt> contains everything else. If you don't need the docs or fonts you can get by with only <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, <tt>XFree86-&fullrelvers;-src-2.tgz</tt> and <tt>XFree86-&fullrelvers;-src-3.tgz</tt>. d74 7 a80 7 gzip -d < XFree86-&fullrelvers;-src-1.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-2.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-3.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-4.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-5.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-6.tgz | tar vxf -<newline> gzip -d < XFree86-&fullrelvers;-src-7.tgz | tar vxf -<newline> d111 2 d117 5 a121 10 Alternatively you can download the source for the XFree86 &relvers; snapshot as a tarball from <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86/develsnaps/XFree86-&relvers;.tar.bz2" url="ftp://ftp.xfree86.org/pub/XFree86/develsnaps/XFree86-&relvers;.tar.bz2">. This can be extracted by running: <quote><tt> bzip2 -d < XFree86-&relvers;.tar.bz2 | tar vxf -<newline> </tt></quote> a123 2 All methods will produce one main source directory called <tt>xc</tt>. d132 9 a140 7 the <tt>host.def</tt> file (which is heavily commented), and set your configuration parameters. Usually you can find the default settings by checking the <tt>.cf</tt> file(s) relevant to your OS. A good rule to follow is only to change things that you understand as it's easy to create build problems by changing the default configuration. Check the configuration parameters specified in the <tt>xc/config/cf/README</tt>. d143 3 a145 2 Another spot to check is a section <ref name="below" id="config_params"> with information about configuration settings. d149 4 a152 4 If you are using just the <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, <tt>XFree86-&fullrelvers;-src-2.tgz</tt> and <tt>XFree86-&fullrelvers;-src-3.tgz</tt> parts of the source dist, you will need to define <bf>BuildFonts</bf> to <bf>NO</bf>. d158 2 a159 2 to do the build of XFree86 as this allows you to keep the source directory unmodified during the build. It has the following benefits: d161 3 a163 3 <item>When you are using CVS to maintain your source tree, the update process is not disturbed by foreign files not under CVS's control. d168 1 a168 1 options, by putting a real copy of the <tt>host.def</tt> file in d201 2 a202 2 Occasionally there may be stale links in the build tree, like when files in the source tree are removed or renamed. These can d214 1 a214 1 you. Once you have addressed the OS-specific details, go your d292 1 a292 1 <tt>Makefile</tt> of XFree86: @ 1.1.1.7.6.1 log @Apply patch (requested by jmc in ticket #114): Update XFree86 to version 4.5.0. @ text @d6 1 a6 1 <title>Building XFree86® from a Source Distribution d8 1 a8 1 <Date>16 March 2005 d11 1 a11 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.19 2005/03/16 17:12:47 dawes Exp $ d16 2 a17 2 distribution and is designed to be used in conjunction with the operating system (OS) specific README files. d24 3 a26 3 <bf>NOTE:</bf> Refer to the appropriate OS-specific README file before attempting to build XFree86. These files often contain additional information that you need to successfully build for your OS. d30 2 a31 2 We recommend using gcc to build XFree86, but XFree86 generally builds with the native compiler for each OS platform. d39 3 a41 5 url="http://www.xfree86.org/cvs/">. The CVS tag for this release is "<tt>&reltag;</tt>". <![ %fullrel; [ The tag for the maintenance branch for this release is "<tt>&relbranchtag;</tt>".]]> d68 2 a69 4 source. <tt>XFree86-&fullrelvers;-src-7.tgz</tt> contains the hardcopy documentation. <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, d72 2 a73 4 else. If you do not need either the documentation or the fonts, then you need only <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, d79 2 a80 2 around 270MB, with a similar amount being required for the compiled binaries): d98 1 a98 1 The patch is applied by running: d100 1 a100 1 cd <em>the directory containing the xc directory</em><newline> d104 2 a105 2 Look for the patching instructions in the "How to get XFree86" section of the <htmlurl name="README" url="README.html"> of d123 1 a123 1 Another method is that you download the source for the XFree86 &relvers; d127 1 a127 1 This tarball can be extracted by running: d135 1 a135 2 Each of the methods outlined above will produce one main source directory called <tt>xc</tt>. d140 1 a140 2 In most cases it should not be necessary to configure anything before building. d142 10 a151 12 If you do want to make configuration changes, you should start by going to the <tt>xc/config/cf</tt> directory, and copying the file <tt>xf86site.def</tt> to <tt>host.def</tt>. After that, read thoroughly the the <tt>host.def</tt> file, which is heavily commented, and set your configuration parameters. Usually you can find the default settings by checking the <tt>.cf</tt> file(s) relevant to your OS. A good rule of thumb is to only change that you understand, as it is very easy to create build problems by changing the default configuration unnecessarily. Before making too many modifications, check the configuration parameters specified in the <tt>xc/config/cf/README</tt> file. d167 3 a169 4 We recommend that you use a shadow directory of symbolic links to do the build of XFree86, because it allows you to keep the source directory unmodified during the build process. It has the following benefits: d171 9 a179 10 <item>Foreign files not under CVS's control are not touched. <item>Greater flexibility in building XFree86 for several different Operating Systems or hardware architectures from the same sources; shared by read-only NFS mounts. <item>Different configuration options can be created by putting a real copy of the <tt>host.def</tt> file in each build tree and by customizing it separately in each build tree, and then customizing it separately. a180 1 d184 3 a186 2 <item>create the directory at the top of the build tree. This is often created at the same level that the <tt>xc</tt> directory. d188 1 a188 1 cd <em>the directory containing the xc directory</em><newline> a192 1 cd build<newline> d195 2 a196 2 Note: You can refer to the <tt>xc</tt> directory by referencing it with an absolute path also. d202 1 a202 1 If the <tt>lndir</tt> command is not already available on your system, you can d211 3 a213 3 Occasionally there may be stale links in the build tree. This happens when files in the source tree are either removed or renamed. These stale links can be cleaned by running the "<tt>cleanlinks</tt>" script from the build d215 4 a218 7 manual page for further details). Rarely will there be changes that require the build tree to be re-created from scratch. If you think that this may be the case, look for build problems, which could indicate that this is the problem. The best solution in this scenario is to remove the build tree,and then re-create it using the steps outlined above. d222 10 a231 10 Before building the distribution, read through your OS-specific documentation in <tt>README</tt> file in <tt>xc/programs/Xserver/hw/xfree86/doc</tt>. After that go to your build directory which will either be the <tt>xc</tt> directory or the shadow tree which was create previously, and run "<tt>make World"</tt>. It is also advisable to that you redirect standard output <em>stdout</em> and standard error output <em>stderr</em> to <tt>World.Log</tt>, so that you can track down problems that might occur during the build. d233 2 a234 2 With Bourne-like shells (examples include the Bash, the Korn, and <tt>zsh</tt> shells) use the following command: d238 1 a238 1 for C-shell variants (<tt>csh</tt>, <tt>tcsh</tt>, etc), use: d242 1 a242 2 You can then follow the progress of the build by running: d245 1 a245 2 </tt></quote> in a terminal window. d248 9 a256 4 When the build is finished, you should check the <tt>World.Log</tt> file to see if there were any problems. If there were not, then install the binaries. By default "make World" stops when the first error is found. To restart that same build process after correcting the various problems, run just 'make'. d258 2 a259 5 If Imakefiles or part of the build configuration were changed as part of correcting the problem, then either re-run "make World", or run "make Everything". If instead, you want "make World" to continue past errors, then instead execute it as follows: d263 1 a263 1 make WORLDOPTS=-k World > World.log 2>&1 d267 1 a267 1 make WORLDOPTS=-k World >& World.log d270 5 a274 6 For installation, run "<tt>make install</tt>" and "<tt>make install.man</tt>" and ensure that there is enough space in the <tt>/usr/X11R6</tt> directory. If instead you want to install XFree86 on a filesystem other than <tt>/usr</tt>, make a symbolic link to <tt>/usr/X11R6</tt> before running the install process. d277 1 a277 1 <sect>Reconfiguring the server (using the source distribution) d279 2 a280 3 If you would like to build several different sets of servers or server(s) with a various sets of drivers then you should follow this procedure: d282 2 a283 2 <item>Ensure that the source for any new drivers is in the correct place (e.g., all driver source should be in a subdirectory of d286 2 a287 2 <item>Change the settings of the server definitions in <tt>host.def</tt> to specify which servers you d303 6 a308 7 <descrip> <tag>Everything</tag> After a <tt>make World</tt>, <tt>make Everything</tt> replicates <tt>make World</tt> except for the cleaning of the source tree. <tt>make Everything</tt> very quickly rebuilds the tree after a source patch, but there are times when it is better to force a full build by using <tt>make World</tt>. d311 1 a311 2 <tag>clean</tag> This does a partial cleaning of the source tree. Removes d323 1 a323 2 <tag>distclean</tag> This does a full cleaning of the source tree, d327 1 a327 2 <tag>includes</tag> This generates all generated header files and in-tree d331 1 a331 2 <tag>depend</tag> This recomputes the dependencies for the various targets d337 1 a337 2 <tag>VerifyOS</tag> This displays the detected operating system version. If d341 1 a341 1 </descrip> @ 1.1.1.8 log @Import of XFree86 4.5.0. @ text @d6 1 a6 1 <title>Building XFree86® from a Source Distribution d8 1 a8 1 <Date>16 March 2005 d11 1 a11 1 $XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.19 2005/03/16 17:12:47 dawes Exp $ d16 2 a17 2 distribution and is designed to be used in conjunction with the operating system (OS) specific README files. d24 3 a26 3 <bf>NOTE:</bf> Refer to the appropriate OS-specific README file before attempting to build XFree86. These files often contain additional information that you need to successfully build for your OS. d30 2 a31 2 We recommend using gcc to build XFree86, but XFree86 generally builds with the native compiler for each OS platform. d39 3 a41 5 url="http://www.xfree86.org/cvs/">. The CVS tag for this release is "<tt>&reltag;</tt>". <![ %fullrel; [ The tag for the maintenance branch for this release is "<tt>&relbranchtag;</tt>".]]> d68 2 a69 4 source. <tt>XFree86-&fullrelvers;-src-7.tgz</tt> contains the hardcopy documentation. <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, d72 2 a73 4 else. If you do not need either the documentation or the fonts, then you need only <tt>XFree86-&fullrelvers;-src-1.tgz</tt>, d79 2 a80 2 around 270MB, with a similar amount being required for the compiled binaries): d98 1 a98 1 The patch is applied by running: d100 1 a100 1 cd <em>the directory containing the xc directory</em><newline> d104 2 a105 2 Look for the patching instructions in the "How to get XFree86" section of the <htmlurl name="README" url="README.html"> of d123 1 a123 1 Another method is that you download the source for the XFree86 &relvers; d127 1 a127 1 This tarball can be extracted by running: d135 1 a135 2 Each of the methods outlined above will produce one main source directory called <tt>xc</tt>. d140 1 a140 2 In most cases it should not be necessary to configure anything before building. d142 10 a151 12 If you do want to make configuration changes, you should start by going to the <tt>xc/config/cf</tt> directory, and copying the file <tt>xf86site.def</tt> to <tt>host.def</tt>. After that, read thoroughly the the <tt>host.def</tt> file, which is heavily commented, and set your configuration parameters. Usually you can find the default settings by checking the <tt>.cf</tt> file(s) relevant to your OS. A good rule of thumb is to only change that you understand, as it is very easy to create build problems by changing the default configuration unnecessarily. Before making too many modifications, check the configuration parameters specified in the <tt>xc/config/cf/README</tt> file. d167 3 a169 4 We recommend that you use a shadow directory of symbolic links to do the build of XFree86, because it allows you to keep the source directory unmodified during the build process. It has the following benefits: d171 9 a179 10 <item>Foreign files not under CVS's control are not touched. <item>Greater flexibility in building XFree86 for several different Operating Systems or hardware architectures from the same sources; shared by read-only NFS mounts. <item>Different configuration options can be created by putting a real copy of the <tt>host.def</tt> file in each build tree and by customizing it separately in each build tree, and then customizing it separately. a180 1 d184 3 a186 2 <item>create the directory at the top of the build tree. This is often created at the same level that the <tt>xc</tt> directory. d188 1 a188 1 cd <em>the directory containing the xc directory</em><newline> a192 1 cd build<newline> d195 2 a196 2 Note: You can refer to the <tt>xc</tt> directory by referencing it with an absolute path also. d202 1 a202 1 If the <tt>lndir</tt> command is not already available on your system, you can d211 3 a213 3 Occasionally there may be stale links in the build tree. This happens when files in the source tree are either removed or renamed. These stale links can be cleaned by running the "<tt>cleanlinks</tt>" script from the build d215 4 a218 7 manual page for further details). Rarely will there be changes that require the build tree to be re-created from scratch. If you think that this may be the case, look for build problems, which could indicate that this is the problem. The best solution in this scenario is to remove the build tree,and then re-create it using the steps outlined above. d222 10 a231 10 Before building the distribution, read through your OS-specific documentation in <tt>README</tt> file in <tt>xc/programs/Xserver/hw/xfree86/doc</tt>. After that go to your build directory which will either be the <tt>xc</tt> directory or the shadow tree which was create previously, and run "<tt>make World"</tt>. It is also advisable to that you redirect standard output <em>stdout</em> and standard error output <em>stderr</em> to <tt>World.Log</tt>, so that you can track down problems that might occur during the build. d233 2 a234 2 With Bourne-like shells (examples include the Bash, the Korn, and <tt>zsh</tt> shells) use the following command: d238 1 a238 1 for C-shell variants (<tt>csh</tt>, <tt>tcsh</tt>, etc), use: d242 1 a242 2 You can then follow the progress of the build by running: d245 1 a245 2 </tt></quote> in a terminal window. d248 9 a256 4 When the build is finished, you should check the <tt>World.Log</tt> file to see if there were any problems. If there were not, then install the binaries. By default "make World" stops when the first error is found. To restart that same build process after correcting the various problems, run just 'make'. d258 2 a259 5 If Imakefiles or part of the build configuration were changed as part of correcting the problem, then either re-run "make World", or run "make Everything". If instead, you want "make World" to continue past errors, then instead execute it as follows: d263 1 a263 1 make WORLDOPTS=-k World > World.log 2>&1 d267 1 a267 1 make WORLDOPTS=-k World >& World.log d270 5 a274 6 For installation, run "<tt>make install</tt>" and "<tt>make install.man</tt>" and ensure that there is enough space in the <tt>/usr/X11R6</tt> directory. If instead you want to install XFree86 on a filesystem other than <tt>/usr</tt>, make a symbolic link to <tt>/usr/X11R6</tt> before running the install process. d277 1 a277 1 <sect>Reconfiguring the server (using the source distribution) d279 2 a280 3 If you would like to build several different sets of servers or server(s) with a various sets of drivers then you should follow this procedure: d282 2 a283 2 <item>Ensure that the source for any new drivers is in the correct place (e.g., all driver source should be in a subdirectory of d286 2 a287 2 <item>Change the settings of the server definitions in <tt>host.def</tt> to specify which servers you d303 6 a308 7 <descrip> <tag>Everything</tag> After a <tt>make World</tt>, <tt>make Everything</tt> replicates <tt>make World</tt> except for the cleaning of the source tree. <tt>make Everything</tt> very quickly rebuilds the tree after a source patch, but there are times when it is better to force a full build by using <tt>make World</tt>. d311 1 a311 2 <tag>clean</tag> This does a partial cleaning of the source tree. Removes d323 1 a323 2 <tag>distclean</tag> This does a full cleaning of the source tree, d327 1 a327 2 <tag>includes</tag> This generates all generated header files and in-tree d331 1 a331 2 <tag>depend</tag> This recomputes the dependencies for the various targets d337 1 a337 2 <tag>VerifyOS</tag> This displays the detected operating system version. If d341 1 a341 1 </descrip> @