home *** CD-ROM | disk | FTP | other *** search
/ Enter 1999 April - Disc 1 / enter_04_1999_1.iso / OS2 / XFREE86 / XDOC.ZIP / XFree86 / lib / X11 / doc / BUILD < prev    next >
Encoding:
Text File  |  1999-01-09  |  10.9 KB  |  463 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                                Building XFree86
  11.  
  12.                                   David Dawes
  13.  
  14.                                 7 November 1998
  15.  
  16.  
  17.  
  18.                                    Abstract
  19.  
  20.      This document describes how to build XFree86 from the source distri-
  21.      bution.  It covers building from the full source distribution as well
  22.      as from the cut-down source distribution available for building only
  23.      the X servers.  It is designed to be used in conjunction with the OS-
  24.      specific README files.
  25.  
  26.  
  27.  
  28. 1.  Building XFree86 From a Source Distribution
  29.  
  30.      NOTE:  Refer to the appropriate OS-specific README file before
  31.      attempting to build XFree86.  These files contain additional informa-
  32.      tion that you may need to successfully build under your OS.
  33.  
  34. We highly recommend using GCC-2 to build XFree86.  GCC-2 is available from
  35. prep.ai.mit.edu and other sites archiving GNU source.  Note that both gcc-2.8.0
  36. and egcs have been proven to break the code multiple times.  Especially egcs
  37. seems to fail in several modules when optimizing.
  38.  
  39. 1.1  How to get the XFree86 3.3.3 source
  40.  
  41. There are a few starting points for getting the XFree86 source.  One option is
  42. to start directly with the XFree86 3.3.3 source distribution.  In this case,
  43. the procedure is as follows:
  44.  
  45.    o The XFree86 3.3.3 source is contained in files X333src-1.tgz,
  46.      X333src-2.tgz and X333src-3.tgz.  These can be found at
  47.      ftp://ftp.xfree86.org/pub/XFree86/3.3.3/source/ and similar locations on
  48.      XFree86 mirror sites.  X333src-2.tgz contains the fonts and documentation
  49.      source.  X333src-3.tgz contains the hardcopy documentation.  X333src-1.tgz
  50.      contains everything else.  If you don't need the docs or fonts you can get
  51.      by with only X333src-1.tgz.
  52.  
  53.    o Extract each of these files by running the following from a directory on a
  54.      filesystem containing enough space (the full source requires around 140MB,
  55.      and a similar amount is required in addition to this for the compiled
  56.      binaries):
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64. Building XFree86                                                              1
  65.  
  66.  
  67.  
  68.  
  69.  
  70. Building XFree86                                                              2
  71.  
  72.  
  73.  
  74.                     gzip -d < X333src-1.tgz | tar vxf -
  75.                     gzip -d < X333src-2.tgz | tar vxf -
  76.                     gzip -d < X333src-3.tgz | tar vxf -
  77.  
  78.  
  79.  
  80. Another option is to start with the X11R6.3 source distribution and patch it up
  81. to XFree86 3.3.3.  In this case you need to do the following:
  82.  
  83.    o Start with the X Consortium's X11R6.3 distribution with public patches 1
  84.      and 2 (but not 3) applied.  This can be obtained by following the links
  85.      from the The Open Group's X home page <URL:http://www.open-
  86.      group.org/tech/desktop/x/>.
  87.  
  88.    o Get the files R6.3pl2-3.3.3.diff1.gz, R6.3pl2-3.3.3.diff2.gz,
  89.      R6.3pl2-3.3.3.diff3.gz, and R6.3pl2-3.3.3.diff4.gz from
  90.      ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/ (or a similar location on
  91.      mirror sites).  To upgrade the source to XFree86 3.3.3, run the following
  92.      from directory containing the xc directory of the X11R6.3 pl2 source tree:
  93.  
  94.  
  95.                     gzip -d < R6.3pl2-3.3.3.diff1.gz | patch -p0 -E
  96.                     gzip -d < R6.3pl2-3.3.3.diff2.gz | patch -p0 -E
  97.                     gzip -d < R6.3pl2-3.3.3.diff3.gz | patch -p0 -E
  98.                     gzip -d < R6.3pl2-3.3.3.diff4.gz | patch -p0 -E
  99.  
  100.  
  101.  
  102.  
  103.      Be sure to do this with a clean unmodified source tree.  If you don't some
  104.      patches may fail.
  105.  
  106. A further option is to start with the XFree86 3.3.2 source, and patch it up to
  107. XFree86 3.3.3.  In this case you need to do the following:
  108.  
  109.    o If using this option, you would already have the XFree86 3.3.2 source.  If
  110.      you have applied any of the public patches to 3.3.2,       back them out
  111.      before starting the upgrade to 3.3.3.
  112.  
  113.    o Get the file 3.3.2-3.3.3.diff.gz from
  114.      ftp://ftp.xfree86.org/pub/XFree86/3.3.3/patches/ (or a similar location on
  115.      mirror sites).  To upgrade the source to XFree86 3.3.3, run the following
  116.      from directory containing the xc directory of the XFree86 3.3.2 source
  117.      tree:
  118.  
  119.  
  120.                     gzip -d < 3.3.2-3.3.3.diff.gz | patch -p0 -E
  121.  
  122.  
  123.  
  124.  
  125.      Be sure to do this with a clean unmodified source tree.  If you don't some
  126.      patches may fail.
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. Building XFree86                                                              3
  137.  
  138.  
  139.  
  140. If you only want to build the XFree86 X servers, you can use a cut-down version
  141. of the XFree86 source tree called the ``servers only'' distribution.  If you
  142. choose this option, do the following:
  143.  
  144.    o Get the X333servonly.tgz file from
  145.      ftp://ftp.xfree86.org/pub/XFree86/3.3.3/source/ (or a similar locations on
  146.      mirror sites.
  147.  
  148.    o Extract this by running the following:
  149.  
  150.  
  151.                     gzip -d < X333servonly.tgz | tar vxf -
  152.  
  153.  
  154.  
  155. XFree86 supports a small subset of the X Consortium X11R6.1 contrib distribu-
  156. tion.  If you wish to build this, you will need at least the following
  157. files/directories from that distribution:
  158.  
  159.           contrib/Imakefile
  160.           contrib/programs/Imakefile
  161.           contrib/programs/ico
  162.           contrib/programs/listres
  163.           contrib/programs/showfont
  164.           contrib/programs/viewres
  165.           contrib/programs/xbiff
  166.           contrib/programs/xcalc
  167.           contrib/programs/xditview
  168.           contrib/programs/xedit
  169.           contrib/programs/xev
  170.           contrib/programs/xeyes
  171.           contrib/programs/xfontsel
  172.           contrib/programs/xgc
  173.           contrib/programs/xload
  174.           contrib/programs/xman
  175.           contrib/programs/xmessage
  176.  
  177.  
  178. You will also need the XFree86 patch contrib-3.3.3.diff.gz.  To apply the
  179. patch, run the following from the directory containing the contrib directory:
  180.  
  181.           gzip -d < contrib-3.3.3.diff.gz | patch -p0 -E
  182.  
  183.  
  184. Alternatively, you can just get the file X333contrib.tgz from the XFree86
  185. source directory, and extract it by running:
  186.  
  187.           gzip -d < X333contrib.tgz | tar vxf -
  188.  
  189. If you wish to build the xtest distribution, get the source distribution
  190. X33test.tgz from the XFree86 source directory, and extract it by running:
  191.  
  192.           gzip -d < X33test.tgz | tar vxf -
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. Building XFree86                                                              4
  203.  
  204.  
  205.  
  206. Note, xtest is no longer part of the core X11 distribution (since X11R6.3).
  207.  
  208. 1.2  Configuring the source before building
  209.  
  210. It is recommended that you start the configuration process by going to the
  211. xc/config/cf directory, and copying the file xf86site.def to host.def.  Then
  212. read through the host.def file (which is heavily commented), and set any param-
  213. eters that you want for your configuration.  You can usually find out what the
  214. default settings are by checking the .cf file(s) relevant to your OS.
  215.  
  216. Unlike previous versions, imake can now automatically detect and set the vari-
  217. ous OS*Version parameters, so you shouldn't need to enter those settings
  218. explicitly.
  219.  
  220. If you are using just the X333src-1.tgz part of the source dist, you will need
  221. to define BuildFonts to NO.
  222.  
  223. If you are using the ``servers only'' distribution, you will need to define
  224. BuildServersOnly to YES.
  225.  
  226. 1.3  Building and installing the distribution
  227.  
  228. Before building the distribution, read through the OS-specific README file in
  229. xc/programs/Xserver/hw/xfree86/doc that is relevant to you.  Once those OS-spe-
  230. cific details have been taken care of, go the xc directory and run ``make
  231. World'' with the BOOTSTRAPCFLAGS set as described in the OS-specific README (if
  232. necessary).  It is advisable to redirect stdout and stderr to World.Log so that
  233. you can track down problems that might occur during the build.
  234.  
  235. When the build is finished, you should check World.Log to see if there were any
  236. problems.  If there weren't any then you can install the binaries.  When using
  237. the full source distribution, the installation should be done from the xc
  238. directory.  When using the ``servers only'' distribution, the install should be
  239. done from the xc/programs/Xserver directory.  To do the install, run ``make
  240. install'' and ``make install.man''.  Make sure you have enough space in
  241. /usr/X11R6 for the install to succeed.  If you want to install on a filesystem
  242. other than /usr, make a symbolic link to /usr/X11R6 before installing.
  243.  
  244. To install the binary LinkKit (in /usr/X11R6/lib/Server), run ``make
  245. install.linkkit'' from the xc directory.
  246.  
  247. To build the subset of the contrib release supported by XFree86, make sure that
  248. you have first built and installed the core distribution.  Then go to the con-
  249. trib directory and run ``xmkmf -a; make''.  When that is completed, run ``make
  250. install'' and ``make install.man'' to install it.
  251.  
  252. To build/run the xtest distribution, refer to the instructions in the file
  253. test/xsuite/NOTES.xf86.
  254.  
  255.  
  256. 2.  Reconfiguring the server (source distribution)
  257.  
  258. To build a different set of servers or servers with a different set of drivers
  259. installed:
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. Building XFree86                                                              5
  269.  
  270.  
  271.  
  272.   1.  Make sure the source for any new drivers is in the correct place (e.g.,
  273.       driver source for the SVGA server should be in a subdirectory of xc/pro-
  274.       grams/Xserver/hw/xfree86/vga256/drivers).
  275.  
  276.   2.  Change the settings of the server defines in host.def to specify which
  277.       servers you wish to build.  Also, change the driver lists to suit your
  278.       needs.
  279.  
  280.   3.  From xc/programs/Xserver, run:
  281.  
  282.                 make Makefile
  283.                 make Makefiles
  284.                 make depend
  285.                 make
  286.  
  287.  
  288. 3.  Reconfiguring the server (binary distribution)
  289.  
  290. If you have installed the server Binary LinkKit, it is possible to reconfigure
  291. the drivers and some of the extensions in the servers.  For details of how to
  292. do this, please refer to the README.LinkKit file.
  293.  
  294.      Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/BUILD.sgml,v 3.1.2.9 1998/11/07 13:37:45 dawes Exp $
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. Building XFree86                                                              6
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.                                    CONTENTS
  405.  
  406.  
  407.  
  408. 1. Building XFree86 From a Source Distribution .............................. 1
  409.    1.1 How to get the XFree86 3.3.3 source .................................. 1
  410.    1.2 Configuring the source before building ............................... 4
  411.    1.3 Building and installing the distribution ............................. 4
  412.  
  413. 2. Reconfiguring the server (source distribution) ........................... 4
  414.  
  415. 3. Reconfiguring the server (binary distribution) ........................... 5
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.                                        i
  461.  
  462.  
  463.