From d10b8ebd06068bdfdaae38ffba633337c757d728 Mon Sep 17 00:00:00 2001 From: Shachar Shemesh Date: Wed, 9 Jul 2003 02:50:59 +0000 Subject: [PATCH] The begining of a "building wine" documentation. More detailed explanation of the "soft" vs. "hard" dependencies. --- documentation/authors.ent | 3 + documentation/build.sgml | 185 +++++++++++++++++++++++++++++++++- documentation/wine-devel.sgml | 4 +- 3 files changed, 187 insertions(+), 5 deletions(-) diff --git a/documentation/authors.ent b/documentation/authors.ent index bec9b7cd971..d3225b2e5f7 100644 --- a/documentation/authors.ent +++ b/documentation/authors.ent @@ -111,6 +111,9 @@ + + + diff --git a/documentation/build.sgml b/documentation/build.sgml index 5a4192781f0..45869aaefc2 100644 --- a/documentation/build.sgml +++ b/documentation/build.sgml @@ -1,8 +1,187 @@ - The Wine Build System - FIXME: How the Wine build system works, and how to tweak it... - + Building Wine + + Introduction + + + Written by &name-shachar-shemesh; &email-shachar-shemesh; + (Last updated: 5/27/2003) + + + (Extracted from wine/documentation/building) + + + This section explains how to build Wine locally. If you are a packager, please also refer to + wine/documentation/PACKAGING for package specific considerations. + + + Before you compile - Soft vs. Hard dependencies + + + 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. + + + + There are two types of dependencies. These are the soft dependency and the + hard dependency. + + + + Hard Dependency + + + This is a dependency 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. + + + Fixme + + How many of those are there? + + + + + + Soft Dependency + + + These are libraries that, if present during both compilation and runtime, will add to Wine's + capabilities. Unlike the hard dependencies above, compiling Wine with these libraries will + allow Wine to work even on runtime environments where some or all of the soft dependencies + are not available. + + + Packager's note + + Please do your best to make sure that as many soft dependencies are available during + compilation. Failing to have a soft dependency available means that users cannot benefit + from a Wine capability. + + + + + + + + Soft dependencies list + + Here is a list of the libraries Wine needs, and their dependency is soft. We suggest packagers + install each and every last of those before building the package. These libraries are not + dependencies in the RPM sense. In DEB packages, they should appear as "Suggests" or "Recommends", + as the case may be. + + + + FreeType + + + 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. + + + + + Alsa - Linux only + + + This library gives sound support to the Windows environment. + + + + + libjack + + + Something to do with the MultiMedia system. Recording sound? + + Fixme + I don't truely know what this lib is. + + + + + CUPS - Common Unix Printing System + + + This library allows Windows to see CUPS defined printers, and to print to them. + + + + + OpenGL + + + 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. + + + If no library is available, packagers are encouraged to compile Wine with + Mesa3D, which requires no hardware support to + install. + + + + + + + + + Getting the sources + + + HTTP Download + + The latest released sources + http://www.winehq.org/?page=download_source. + Installation instructions are also available at the same place. + + + + Getting sources from CVS + + In order to get the sources from CVS, you first need to log into the CVS server. Issue the + following command: + + +~/sources$ cvs -d :pserver:cvs@cvs.winehq.org:/home/wine login +Logging in to :pserver:cvs@cvs.winehq.org:2401/home/wine +CVS password: + + Use "cvs" as password. Next, you need to pull the sources from CVS. Use the + following command: + + +~/sources$ cvs -z 0 -d :pserver:cvs@cvs.winehq.org:/home/wine co wine +cvs checkout: Updating wine +U wine/.cvsignore +U wine/ANNOUNCE +U wine/AUTHORS +U wine/BUGS +U wine/COPYING.LIB + + 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. + + + Warning + + 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 -z argument. + + + + For more details, consult the HOWTO at http://www.winehq.org/?page=cvs + + +