Документ взят из кэша поисковой машины. Адрес оригинального документа : http://crydee.sai.msu.ru/ftproot/pub/comp/os/os2/xfree86os2/fixes_331/OS2.Notes
Дата изменения: Sat Sep 13 00:00:00 1997
Дата индексирования: Mon Dec 24 11:42:41 2007
Кодировка:









Notes on Rebuilding XFree86/OS2 from Scratch

Holger Veit

Last modified 17 May 1997



1. Preface

X11 and XFree86 were initially developed on Unix-based systems. Usually Unix
systems provide a rich number of tools and utilities to get certain things
done. Under OS/2, these tools are not installed, but ports are available which
are sometimes functionally equivalent to Unix utilities with the same name, but
also differ sometimes in a subtle way. This guide will give you hints if you
intend to rebuild the system from scratch under OS/2.

Please also read README.OS2 for end-user information, and set at least the
environment variables described there.

At the current time, the most recent version available is XFree86-3.3. This is
a full and unrestricted version which comes with complete source code. 3.3 is
an intermediate version which was released because the last beta version (3.2A)
was about to expire and the new 4.0 version was not completely finished in
time. 3.3 is the last ``classical'' version which has separate Xservers for
different video cards.

If you want to join the XFree86 developer team, e.g. to add support for certain
hardware, please send a request to BOD@XFree86.org. Please think about such a
step carefully before, though, since much work is involved. Please use the
XFree86-3.3 source code as a test example how to compile the system. The abil-
ity to manage that is a basic requirement for becoming a developer.


2. Tools required

I have tried to reduce the number of external tools, but when looking back it
seems I were not very successful. At least I managed to get everything working
with the native CMD.EXE shell only. However, there is still plenty of software
required. Most of this software is available from hobbes.nmsu.edu or
ftp.leo.org via anonymous FTP. The following shopping list shows what you will
need:

o gcc EMX/gcc emx 0.9C patch2 or later

o gzip GNU zip/unzip

o tar GNU tar

o patch Larry Wall's patch utility (attention: incompatible tool with
same name in OS/2)



Notes on Rebuilding XFree86/OS2 from Scratch





Notes on Rebuilding XFree86/OS2 from Scratch



o install BSD/GNU install

o rm,mv,cp GNU file utilities

o tee,.. GNU shell utilities

o groff GNU nroff/troff

o sed GNU sed stream editor

o grep GNU grep

o gawk GNU awk

o make GNU make 3.71/3.72 (use the one coming with XFree86!)

o flex GNU flex

o bison GNU bison

o find GNU find (attention: incompatible tool with the same name in OS/2)

If there is no version number given, any new version will do. Particularly
critical is only EMX/gcc and GNU make. Note that the second GCC implementation
which might still be available from some archives is NOT compatible.

Furthermore, you need the XFree86 sources. These are available from the common
XFree86 repositories. Look into a directory which is often named
/pub/XFree86/3.3/source.


3. Compiling and Installing

You need about 300MB of free HPFS space for the whole system. This does not
include space for the postscript and troff documentation files. I have never
installed them. Nor did I install the test subtree.

1. Install all the above utilities. Refer to the corresponding documenta-
tion. Verify that everything works well, particularly EMX.

2. It is a good idea to use the same or a similar structure I have. I have
made a directory \x11 on the partition for compiling and have put every-
thing below this tree. I found that a clean tree occupies less than the
half space of the disk, this gives me the opportunity to rename this tree
to \x11old and copy a new version to the same disk to produce diffs. Last
time the complete tree was arranged under the root directory xc, this
would become \x11\xc then.

3. To unpack the files you would usually execute the command

gzip -dc file.tar.gz | tar xvf -


in the \x11 directory. At the end you will usually see the irritating,








Notes on Rebuilding XFree86/OS2 from Scratch



but non-fatal message "gzip: stdout Broken pipe". Ignore it.

4. After that, is is likely necessary to apply some patches, either from the
XConsortium or from the XFree86 project. Before you do this, enter

chmod -R a+rw \x11\xc



to make certain files in the tree writable.

5. There should be a file added-XXX accompanying the patch file which lists
the files that are newly created. The patch program has a problem with
creating new directories, so we need to create them on advance. For each
added-XXX file you find, execute from \x11

xc\config\util\added added-XXX


If there is no added-XXX file available, you can make one with the fol-
lowing instructions:

grep "\*\*\* xc/" patchfile >added-file



Edit added-file with a text editor and remove the *** at the beginning
and the time stamp at the end (search for a TAB and erase to the end of
the line). You get a list of file paths, one in a line, which is the
input to the added utility.

6. After that you can apply the patches in the right order. Usually this is
done by a command

patch -p -E &1 | tee patchlog



from the \x11 directory. Be aware to use the right patch - OS/2 has a
utility with the same name and different functionality. Don't use the
recommended -s option, this makes patch quiet, and you won't see problems
in the patchlog file. Use

find \x11 -name *.rej -print
find \x11 -name *# -print



to find any rejects and unapplied patches (attention: yet another OS/2
program with wrong functionality). Normally there shouldn't be any prob-
lems of this kind, else you have made a mistake. Finally remove the orig-
inal files with

find \x11 -name *.orig -print -exec rm {} ;








Notes on Rebuilding XFree86/OS2 from Scratch



7. Go to the xc/config/cf directory and edit the xf86site.def file to match
your requirements (you probably don't want to compile all X servers).
Certain changes must be set to the following values:

o Disable if not already done any PC98 server; PC98 (Japanese XFree86)
does not work yet. Porters from Japan are welcome!

o #define WacomSupport NO #define ElographicsSupport
NO Both options are not yet supported.

o Tcl* and Tk* don't need to be set explicitly. Reasonable defaults
are in the other config files, provided you have a complete
XFree86/OS2 binary tree with the tcl/tk runtime support installed.

o #define BuildDynamicLoading NO This does not work.

8. Go to the directory xc\util\compress and make compress.exe there. Install
the program produced there in your path. I stumbled more than once on
half-ported compress programs on OS/2 ftp servers that are defective
w.r.t. reading and writing stdin/stdout. In some stage (font compres-
sion) otherwise you will get a core dump of mkfontdir, because all com-
pressed fonts are corrupt.

9. Set the environment variable X11ROOT to something different than it is;
otherwise the installation process will overwrite your original
XFree86/OS2 installation. If you have not set this variable, go back to
the prefix section of this document: you have forgotten something.

10. Copy the file xc/config/util/buildos2.cmd into the xc directory. If this
is a second or later attempt, you might need to copy the saved toplevel
Makefile.os2 back to Makefile.

11. Execute this buildos2.cmd command in the xc directory; it will produce a
logfile buildxc.log in this directory.

12. Go have a bucket of coffee, or better, buy new coffee - in Colombia! The
compile will need between 2 and 20 hours, depending on your selections,
and the horse power of your hardware.

13. When finished, view the logfile for errors, and fix the problems if there
are some. I have managed to compile the whole system flawlessly, so there
is at least one configuration that works.

14. Finally, from the xc dir, execute

xmake install
xmake install.man


Well, you see, this was quite easy :-)












Notes on Rebuilding XFree86/OS2 from Scratch



Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OS2note.sgml,v 3.4.2.2 1997/05/24 08:36:06 dawes Exp $





$XConsortium: OS2note.sgml /main/1 1996/02/24 10:08:59 kaleb $























































Notes on Rebuilding XFree86/OS2 from Scratch





































































CONTENTS



1. Preface .................................................................. 1

2. Tools required ........................................................... 1

3. Compiling and Installing ................................................. 2















































i



$XFree86: xc/programs/Xserver/hw/xfree86/doc/OS2.Notes,v 3.8.2.2 1997/05/24 09:12:05 dawes Exp $