Commit 0698b918 authored by Dimitrie O. Paun's avatar Dimitrie O. Paun Committed by Alexandre Julliard

Remove redundant sections from the guide:

tools: is now included in the new bin2res build: moved to PACKAGING cvs: is available in many other places.
parent d210bc89
......@@ -24,10 +24,8 @@ WINE_USER_SRCS = \
WINE_DEVEL_SRCS = \
architecture.sgml \
build.sgml \
consoles.sgml \
cvs-regression.sgml \
cvs.sgml \
debugger.sgml \
debugging.sgml \
documentation.sgml \
......@@ -38,8 +36,7 @@ WINE_DEVEL_SRCS = \
opengl.sgml \
patches.sgml \
porting.sgml \
testing.sgml \
tools.sgml
testing.sgml
WINELIB_USER_SRCS = \
winelib-bindlls.sgml \
......
<chapter id="build">
<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>
<sect1 id="soft-vs-hard-dep">
<title>Before you compile - Soft vs. Hard dependencies</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 dependencies. These are the <quote>soft dependency</quote> and the
<quote>hard dependency</quote>.
</para>
<variablelist>
<varlistentry>
<term>Hard Dependency</term>
<listitem>
<para>
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.
</para>
<note>
<title>Fixme</title>
<para>
How many of those are there?
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term>Soft Dependency</term>
<listitem>
<para>
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.
</para>
<note>
<title>Packager's note</title>
<para>
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.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
<sect2>
<title>Soft dependencies list</title>
<para>
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.
</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@cvs.winehq.org:/home/wine login</command>
Logging in to :pserver:cvs@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@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>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
End:
-->
<chapter id="tools">
<title>Tools</title>
<sect1 id="bin2res">
<title>bin2res</title>
<para>
Written by &name-juergen-schmied; <email>&email-juergen-schmied;</email> (11/99)
</para>
<para>
(Extracted from <filename>wine/documentation/resources</filename>)
</para>
<para>
This document describes tools for handling resources within wine
</para>
<sect2>
<title>bin2res</title>
<para>
This tool allows the editing of embedded binary resources
within <filename>*.rc</filename> files. These resources are
stored as hex dump so they can be stored within the cvs
tree. This makes the editing of the embedded bitmaps and
icons harder.
</para>
</sect2>
<sect2>
<title>Create binary files from an <filename>.rc</filename> file</title>
<para>
The resources in the <filename>.rc</filename> file have to
be marked by a header:
</para>
<programlisting>
/* BINRES idb_std_small.bmp */
IDB_STD_SMALL BITMAP LOADONCALL DISCARDABLE
{
'42 4D 20 07 00 00 00 00 00 00 76 00 00 00 28 00'
</programlisting>
<para>
<constant>BINRES</constant> is the keyword followed by a
filename. <command>bin2res -d bin rsrc.rc</command>
generates binary files from all marked resources. If the
binary file is newer it gets not overwritten. To force
overwriting use the <parameter>-f</parameter> switch.
</para>
</sect2>
<sect2>
<title>Create a <filename>.rc</filename> file from binaries</title>
<para>
Put a header followed by empty brackets in the
<filename>.rc</filename> file.
</para>
<programlisting>
/* BINRES idb_std_small.bmp */
{}
</programlisting>
<para>
Then run <command>bin2res rsrc.rc</command>. It will merge
the resources into the <filename>.rc</filename> file if the
binary resources are newer than the.rc file. To force the
resources into the <filename>.rc</filename> file use the
<parameter>-f</parameter> switch. If there is already a
resource with the same filename in the
<filename>.rc</filename> file it gets overwritten.
</para>
</sect2>
<sect2>
<title>output of <command>bin2res</command></title>
<programlisting>
bash-2.03# ../../tools/bin2res -d bin shres.rc
[000.ico:c][003.ico:c][008.ico:s][015.ico:s][034.ico:s]
</programlisting>
<para>
<literal>s</literal> means skipped, <literal>c</literal>
means changed.
</para>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-devel.sgml" "set" "book" "part" "chapter" "")
End:
-->
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!-- *** Include list of authors *** -->
<!entity % authors SYSTEM "authors.ent">
%authors;
<!entity build SYSTEM "build.sgml">
<!entity debugger SYSTEM "debugger.sgml">
<!entity documentation SYSTEM "documentation.sgml">
<!entity patches SYSTEM "patches.sgml">
<!entity testing SYSTEM "testing.sgml">
<!entity i18n SYSTEM "i18n.sgml">
<!entity tools SYSTEM "tools.sgml">
<!entity architecture SYSTEM "architecture.sgml">
<!entity debugging SYSTEM "debugging.sgml">
......@@ -18,8 +12,6 @@
<!entity opengl SYSTEM "opengl.sgml">
<!entity multimedia SYSTEM "multimedia.sgml">
<!entity cvs SYSTEM "cvs.sgml">
<!entity implementation SYSTEM "implementation.sgml">
<!entity porting SYSTEM "porting.sgml">
<!entity consoles SYSTEM "consoles.sgml">
......@@ -112,13 +104,11 @@
<part id="part-one">
<title>Developing Wine</title>
&build;
&debugger;
&documentation;
&patches;
&testing;
&i18n;
&tools;
</part>
<part id="part-two">
......@@ -132,11 +122,6 @@
</part>
<part id="part-three">
<title>Using CVS</title>
&cvs;
</part>
<part id="part-four">
<title>Advanced Topics</title>
&implementation;
&porting;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment