Documentation update.

diff --git a/documentation/compiling.sgml b/documentation/compiling.sgml
index 747c238..c0a5aba 100644
--- a/documentation/compiling.sgml
+++ b/documentation/compiling.sgml
@@ -1,11 +1,169 @@
   <chapter id="compiling">
     <title>Compiling Wine</title>
     <para>How to compile wine, and problems that may arise...</para>
+
+    <sect1 id="compiling-wine">
+      <title>Compiling Wine</title>
+
+      <sect2>
+        <title>Tools required</title>
+	<para>
+	  <itemizedlist>
+	    <listitem>
+	      <para>
+	        gcc -- 2.7.x required (Wine uses attribute stdcall).
+		Versions earlier than 2.7.2.3 barf on shellord.c
+		-- compile without optimizing for that file.
+		In addition EGCS 1.1.x and GCC 2.95.x are reported
+		to work fine.
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        flex >= 2.5.1 (required for the debugger and wrc,
+		and lex won't do)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        bison (also required for debugger. Don't know whether BSD yacc
+		would work.)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        X11 libs and include files
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        Xpm libs and include files
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        texinfo >= 3.11 (optional, to compile the documentation.)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        autoconf (if you want to remake configure, which is
+		not normally required)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        XF86DGA extension (optional, detected by configure,
+		needed for DirectX support)
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        Open Sound System (optional, detected by configure,
+		for sound support)
+	      </para>
+	    </listitem>
+	  </itemizedlist>
+	</para>
+	<para>
+	  The Red Hat RPMs are gcc-XXX, flex-XXX, XFree86-devel-XXX, xpm-XXX,
+	  and xpm-devel, where XXX is the version number.
+	</para>
+      </sect2>
+
+      <sect2>
+        <title>Space required</title>
+	<para>
+	  You also need about 230 MB of available disk space for compilation.
+	  The compiled libwine.so binary takes around 5 MB of disk space,
+	  which can be reduced to about 1 MB by stripping ('strip wine').
+	  Stripping is not recommended, however, as you can't submit
+	  proper crash reports with a stripped binary any more.
+	</para>
+      </sect2>
+      
+      <sect2>
+        <title>Common problems</title>
+	<para>
+	  If you get a repeatable sig11 compiling shellord.c, thunk.c
+	  or other files, try compiling just that file without optimization.
+	  Then you should be able to finish the build.
+	</para>
+      </sect2>
+
+      <sect2>
+        <title>OS specific issues</title>
+	<para>
+	  <itemizedlist>
+	    <listitem>
+	      <para>
+	        FreeBSD -- In order to run Wine, the FreeBSD kernel
+		needs to be compiled with
+
+		<informaltable frame="all">
+		  <tgroup cols="2">
+		    <tbody>
+		      <row>
+		        <entry>options</entry>
+		        <entry>USER_LDT</entry>
+		      </row>
+		      <row>
+		        <entry>options</entry>
+		        <entry>SYSVSHM</entry>
+		      </row>
+		      <row>
+		        <entry>options</entry>
+		        <entry>SYSVSEM</entry>
+		      </row>
+		      <row>
+		        <entry>options</entry>
+		        <entry>SYSVMSG</entry>
+		      </row>
+		    </tbody>
+		  </tgroup>
+		</informaltable>
+
+
+		If you need help, read the chapter "<ulink url="http://www.freebsd.org/handbook/kernelconfig-building.html">Building and Installing a Custom Kernel</ulink>" in the "<ulink url="http://www.freebsd.org/handbook/">FreeBSD handbook</ulink>. You'll need to be running FreeBSD 3.x or later.
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        SCO Unixware, Openserver -- UW port is supported by SCO.
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        OS/2 -- not a complete port. See <ulink url="http://odin.netlabs.org/ProjectAbout.phtml">Odin</ulink> for a project which uses some Wine code.
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+		Solaris x86 2.x -- Needs GNU toolchain (gcc, gas, flex as above, yacc may work) to compile, seems functional (980215). 
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+		DGUX, HP, Irix, or other Unixes; non-intel Linux.
+		No ports have been seriously attempted.
+		For non-intel Unixes, only a winelib port is relevant.
+		Alignment may be a problem.
+	      </para>
+	    </listitem>
+	    <listitem>
+	      <para>
+	        Macintosh/Rhapsody/BeOS -- no ports have been attempted.
+	      </para>
+	    </listitem>
+	  </itemizedlist>
+        </para>
+      </sect2>
+    </sect1>
   </chapter>
 
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
-sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "")
+sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
 End:
 -->