Building documentation start

Shachar Shemesh wine-patches at shemesh.biz
Tue May 27 08:52:40 CDT 2003


This includes the begining of a Build doc in wine-devel. It also 
contains a list of the soft-dependancies I spotted, and urging the 
packagers to consider this list.


-- 
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/

-------------- next part --------------
Index: documentation/authors.ent
===================================================================
RCS file: /home/sun/sources/cvs/wine/documentation/authors.ent,v
retrieving revision 1.9
diff -u -r1.9 authors.ent
--- documentation/authors.ent	15 Mar 2003 19:55:48 -0000	1.9
+++ documentation/authors.ent	27 May 2003 11:13:00 -0000
@@ -111,6 +111,9 @@
 <!entity name-john-sheets "John R. Sheets">
 <!entity email-john-sheets "jsheets at codeweavers.com">
 
+<!entity name-shachar-shemesh "Shachar Shemesh">
+<!entity email-shachar-shemesh "winedocs at shemesh.biz">
+
 <!entity name-petr-tomasek "Petr Tomasek">
 <!entity email-petr-tomasek "tomasek at etf.cuni.cz">
 
Index: documentation/wine-devel.sgml
===================================================================
RCS file: /home/sun/sources/cvs/wine/documentation/wine-devel.sgml,v
retrieving revision 1.4
diff -u -r1.4 wine-devel.sgml
--- documentation/wine-devel.sgml	1 Apr 2003 03:26:13 -0000	1.4
+++ documentation/wine-devel.sgml	27 May 2003 11:11:20 -0000
@@ -4,6 +4,7 @@
 <!entity % authors SYSTEM "authors.ent">
 %authors;
 
+<!entity building SYSTEM "building.sgml">
 <!entity debugger SYSTEM "debugger.sgml">
 <!entity documentation SYSTEM "documentation.sgml">
 <!entity patches SYSTEM "patches.sgml">
@@ -39,6 +40,7 @@
   <part id="part-one">
     <title>Developing Wine</title>
 
+    &building;
     &debugger;
     &documentation;
     &patches;
--- /dev/null	2003-01-06 20:21:43.000000000 +0200
+++ documentation/building.sgml	2003-05-27 16:48:58.000000000 +0300
@@ -0,0 +1,190 @@
+  <chapter id="building">
+    <title>Building Wine</title>
+
+    <sect1 id="build-intro">
+      <title>Introduction</title>
+
+      <para>
+        Written by &name-shachar-shemesh; <email>&email-shachar-shemesh;</email>
+	(Last updated: 5/27/2003)
+      </para>
+      <para>
+        (Extracted from <filename>wine/documentation/building</filename>)
+      </para>
+      <para>
+        This section explains how to build Wine locally. If you are a packager, please also refer to
+        <filename>wine/documentation/PACKAGING</filename> for package specific considerations.
+      </para>
+    <sect1 id="soft-vs-hard-dep">
+      <title>Before you compile - Soft vs. Hard dependancies</title>
+
+      <para>
+        Wine is a compatibility layer. It is not an attempt to create a new OS. As such, it tries to
+        rely on existing functionality wherever possible. This means that some aspects of Wine require
+        libraries to be available during compilation and runtime, or certain functionality will not
+        be available.
+      </para>
+
+      <para>
+        There are two types of dependancies. These are the <quote>soft dependancy</quote> and the
+        <quote>hard dependancy</quote>. 
+      </para>
+      <variablelist>
+        <varlistentry>
+          <term>Hard Dependancy</term>
+          <listitem>
+            <para>
+              This is a dependancy of Wine that, if compiled into the code, must be available at runtime
+              or Wine will not function. Due to it's restrictive manner, developers go to a great length
+              to make sure there are as few of those as possible.
+            </para>
+            <note>
+              <title>Fixme</title>
+              <para>
+                How many of those are there?
+              <para>
+            </note>
+          </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term>Soft Dependancy</term>
+          <listitem>
+            <para>
+              These are libraries that, if present during both compilation and runtime, will add to Wine's
+              capabilities. Unlike the hard dependancies above, compiling Wine with these libraries will
+              allow Wine to work even on runtime environments where some or all of the soft dependancies
+              are not available.
+            </para>
+            <note>
+              <title>Packager's note</title>
+              <para>
+                Please do your best to make sure that as many soft dependancies are available during
+                compilation. Failing to have a soft dependancy available means that users cannot benefit
+                from a Wine capability.
+              </para>
+            </note>
+          </listitem>
+        </varlistentry>
+      </variablelist>
+
+      <sect2>
+        <title>Soft dependancies list</title>
+        <para>
+          Here is a list of the libraries Wine needs, and their dependancy is soft. We suggest packagers
+          install each and every last of those before building the package. These libraries are not
+          dependancies in the RPM sense. In DEB packages, they should appear as "Suggests" or "Recommends",
+          as the case may be.
+        <para>
+        <variablelist>
+          <varlistentry>
+            <term><ulink url="http://www.freetype.org/">FreeType</ulink></term>
+            <listitem>
+              <para>
+                This library is used for direct rendering of fonts. It provides better support of fonts than
+                using the X11 fonts engine. It is only needed for the X11 back end engine. Used from GDI.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><ulink url="http://sourceforge.net/projects/alsa">Alsa</ulink> - Linux only</term>
+            <listitem>
+              <para>
+                This library gives sound support to the Windows environment.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><ulink url="http://jackit.sourceforge.net/">libjack</ulink></term>
+            <listitem>
+              <para>
+                Something to do with the MultiMedia system. Recording sound?
+              </para>
+              <note><title>Fixme</title>
+                <para>I don't truely know what this lib is.</para>
+              </note>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term><ulink url="http://www.cups.org/">CUPS</ulink> - Common Unix Printing System</term>
+            <listitem>
+              <para>
+                This library allows Windows to see CUPS defined printers, and to print to them.
+              </para>
+            </listitem>
+          </varlistentry>
+          <varlistentry>
+            <term>OpenGL</term>
+            <listitem>
+              <para>
+                This is used for both OpenGL and Direct3D (and some other DirectX functions as well) support
+                in Wine. There are many many libraries for providing this functionality. It is enough for one
+                of them to be available when compiling Wine. Wine can work with any other library during
+                runtime.
+              </para>
+              <para>
+                If no library is available, packagers are encouraged to compile Wine with
+                <ulink url="http://www.mesa3d.org/">Mesa3D</ulink>, which requires no hardware support to
+                install.
+              </para>
+            </listitem>
+          </varlistentry>
+        </variablelist>
+      </sect2>
+    </sect1>
+
+    <sect1 id="get-source">
+      <title>Getting the sources</title>
+      
+      <sect2>
+        <title>HTTP Download</title>
+        <para>
+          The latest released sources
+          <ulink url="http://www.winehq.org/?page=download_source">http://www.winehq.org/?page=download_source</ulink>.
+          Installation instructions are also available at the same place.
+        </para>
+      </sect2>
+      <sect2>
+        <title>Getting sources from CVS</title>
+        <para>
+            In order to get the sources from CVS, you first need to log into the CVS server. Issue the
+            following command:
+        </para>
+        <screen>
+<prompt>~/sources$ </prompt><command>cvs -d :pserver:cvs at cvs.winehq.org:/home/wine login</command>
+Logging in to :pserver:cvs at cvs.winehq.org:2401/home/wine
+CVS password:</screen>
+        <para>
+          Use "<command>cvs</command>" as password. Next, you need to pull the sources from CVS. Use the
+          following command:
+        </para>
+        <screen>
+<prompt>~/sources$ </prompt><command>cvs -z 0 -d :pserver:cvs at cvs.winehq.org:/home/wine co wine</command>
+cvs checkout: Updating wine
+U wine/.cvsignore
+U wine/ANNOUNCE
+U wine/AUTHORS
+U wine/BUGS
+U wine/COPYING.LIB</screen>
+        <para>
+          The list will go on. When the operation finishes, a new directory called "wine" will be created,
+          and in it all the sources will reside.
+        </para>
+        <note>
+          <title>Warning</title>
+          <para>
+            In the above example, compression was disabled. Versions of CVS up to, and including, 1.11.1
+            hang if compression is enabled. If you have version 1.11.5 or higher, you can enable compression
+            by feeding other values to the <command>-z</command> argument.
+          </para>
+        </note>
+        <para>
+          For more details, consult the HOWTO at <ulink url="http://www.winehq.org/?page=cvs">http://www.winehq.org/?page=cvs</ulink>
+        </para>
+      </sect2>
+    </sect1>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
+End:
+-->


More information about the wine-patches mailing list