Commit d9e064fd authored by John R. Sheets's avatar John R. Sheets Committed by Alexandre Julliard

Documentation update.

parent e6758871
...@@ -4,6 +4,7 @@ SRCDIR = @srcdir@ ...@@ -4,6 +4,7 @@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = none MODULE = none
BOOKNAME = wine-doc BOOKNAME = wine-doc
DB2HTML = $(SRCDIR)/db2html-winehq
EXTRASUBDIRS = samples status EXTRASUBDIRS = samples status
...@@ -14,14 +15,18 @@ BOOK_SRCS = \ ...@@ -14,14 +15,18 @@ BOOK_SRCS = \
compiling.sgml \ compiling.sgml \
configuring.sgml \ configuring.sgml \
consoles.sgml \ consoles.sgml \
cvs-regression.sgml \
debugger.sgml \ debugger.sgml \
debugging.sgml \ debugging.sgml \
dlls.sgml \ dlls.sgml \
documentation.sgml \ documentation.sgml \
fonts.sgml \ fonts.sgml \
getting.sgml \
i18n.sgml \ i18n.sgml \
implementation.sgml \ implementation.sgml \
installing.sgml \ installing.sgml \
introduction.sgml \
ole.sgml \
opengl.sgml \ opengl.sgml \
packaging.sgml \ packaging.sgml \
patches.sgml \ patches.sgml \
...@@ -42,13 +47,13 @@ all: $(BOOK_TARGETS) ...@@ -42,13 +47,13 @@ all: $(BOOK_TARGETS)
@MAKE_RULES@ @MAKE_RULES@
$(BOOKNAME)/index.html: $(BOOK_SRCS) $(BOOKNAME)/index.html: $(BOOK_SRCS)
db2html $(BOOKNAME).sgml $(DB2HTML) $(BOOKNAME).sgml
$(BOOKNAME).pdf: $(BOOK_SRCS) $(BOOKNAME).pdf: $(BOOK_SRCS)
db2pdf $(BOOKNAME).sgml db2pdf $(BOOKNAME).sgml > /dev/null 2>&1
$(BOOKNAME).ps: $(BOOK_SRCS) $(BOOKNAME).ps: $(BOOK_SRCS)
db2ps $(BOOKNAME).sgml db2ps $(BOOKNAME).sgml > /dev/null 2>&1
install:: install::
$(INSTALL) -d $(mandir)/man$(prog_manext) $(INSTALL) -d $(mandir)/man$(prog_manext)
......
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
<sect1 id="basic-overview"> <sect1 id="basic-overview">
<title>Basic Overview</title> <title>Basic Overview</title>
<para>Written by Ove Kaaven</para> <para>
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para>
<para> <para>
With the fundamental architecture of Wine stabilizing, and With the fundamental architecture of Wine stabilizing, and
...@@ -1027,6 +1029,6 @@ WSOCK32.DLL: 32-bit sockets APIs ...@@ -1027,6 +1029,6 @@ WSOCK32.DLL: 32-bit sockets APIs
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<!-- *** List of author names
*** Allows us to maintain the list and change spam obfuscation
*** From a central location.
*** Use this template for new author attributions:
Written by &; <email>&;</email>
-->
<!-- ** Template for new entries **
<!entity name- "">
<!entity email- "">
-->
<!entity name-jonathan-buzzard "Jonathan Buzzard">
<!entity email-jonathan-buzzard "jab@hex.prestel.co.uk">
<!entity name-david-cuthbert "David A. Cuthbert">
<!entity email-david-cuthbert "dacut@ece.cmu.edu">
<!entity name-huw-davies "Huw D M Davies">
<!entity email-huw-davies "h.davies1@physics.ox.ac.uk">
<!entity name-steven-elliott "Steven Elliott">
<!entity email-steven-elliott "elliotsl@mindspring.com">
<!entity name-albert-den-haan "Albert den Haan">
<!entity email-albert-den-haan "">
<!entity name-james-juran "James Juran">
<!entity email-james-juran "juran@cse.psu.edu">
<!entity name-ove-kaaven "Ove Kven">
<!entity email-ove-kaaven "ovek@winehq.com">
<!entity name-eric-kohl "Eric Kohl">
<!entity email-eric-kohl "ekohl@abo.rhein-zeitung.de">
<!entity name-alex-korobka "Alex Korobka">
<!entity email-alex-korobka "alex@aikea.ams.sunysb.edu">
<!entity name-marcus-meissner "Marcus Meissner">
<!-- <!entity email-marcus-meissner "msmeissn@cip.informatik.uni-erlangen.de"> -->
<!entity email-marcus-meissner "Marcus.Meissner@caldera.de">
<!entity name-bruce-milner "Bruce Milner">
<!entity email-bruce-milner "">
<!entity name-andreas-mohr "Andreas Mohr">
<!-- <!entity email-andreas-mohr "a.mohr@mailto.de"> -->
<!entity email-andreas-mohr "amohr@codeweavers.com">
<!entity name-gerard-patel "Gerard Patel">
<!entity email-gerard-patel "">
<!entity name-dimitrie-paun "Dimitrie O. Paun">
<!entity email-dimitrie-paun "dimi@cs.toronto.edu">
<!entity name-eric-pouech "Eric Pouech">
<!entity email-eric-pouech "Eric.Pouech@wanadoo.fr">
<!entity name-robert-pouliot "Robert Pouliot">
<!entity email-robert-pouliot "krynos@clic.net">
<!entity name-joseph-pranevich "Joseph Pranevich">
<!entity email-joseph-pranevich "jpranevich@lycos.com">
<!entity name-alex-priem "Alex Priem">
<!entity email-alex-priem "alex@sci.kun.nl">
<!entity name-john-richardson "John Richardson">
<!entity email-john-richardson "jrichard@zko.dec.com">
<!entity name-douglas-ridgway "Douglas Ridgway">
<!entity email-douglas-ridgway "ridgway@winehq.com">
<!entity name-adam-sacarny "Adam Sacarny">
<!entity email-adam-sacarny "magicbox@bestweb.net">
<!entity name-juergen-schmied "Juergen Schmied">
<!entity email-juergen-schmied "juergen.schmied@metronet.de">
<!entity name-john-sheets "John R. Sheets">
<!entity email-john-sheets "jsheets@codeweavers.com">
<!entity name-petr-tomasek "Petr Tomasek">
<!entity email-petr-tomasek "tomasek@etf.cuni.cz">
<!entity name-lionel-ulmer "Lionel Ulmer">
<!entity email-lionel-ulmer "lionel.ulmer@free.fr">
<!entity name-morten-welinder "Morten Welinder">
<!entity email-morten-welinder "">
<!entity name-jeremy-white "Jeremy White">
<!entity email-jeremy-white "jwhite@codeweavers.com">
<!-- *** Coders mentioned in docs, but not doc writers *** -->
<!entity name-francis-beaudet "Francis Beaudet">
<!entity email-francis-beaudet "francis@macadamian.com">
<!entity name-anders-carlsson "Anders Carlsson">
<!entity email-anders-carlsson "anders.carlsson@linux.nu">
<!entity name-aric-stewart "Aric Stewart">
<!entity email-aric-stewart "aric@codeweavers.com">
<!entity name-luc-tourangeau "Luc Tourangeau">
<!entity email-luc-tourangeau "luc@macadamian.com">
<!entity name-koen-deforche "Koen Deforche">
<!entity email-koen-deforche "jozef@kotnet.org">
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>How To Report A Bug</title> <title>How To Report A Bug</title>
<para> <para>
written by Gerard Patel (???) Written by &name-gerard-patel; <email>&email-gerard-patel;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/bugreports</filename>) (Extracted from <filename>wine/documentation/bugreports</filename>)
...@@ -25,14 +25,14 @@ ...@@ -25,14 +25,14 @@
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
Your computer *must* have perl on it for this method to Your computer <emphasis>must</emphasis> have perl on it
work. To find out if you have perl, run <command>which for this method to work. To find out if you have perl,
perl</command>. If it returns something like run <command>which perl</command>. If it returns something like
<filename>/usr/bin/perl</filename>, you're in business. <filename>/usr/bin/perl</filename>, you're in business.
Otherwise, skip on down to "The Hard Way". If you aren't Otherwise, skip on down to "The Hard Way". If you aren't
sure, just keep on going. When you try to run the sure, just keep on going. When you try to run the
script, it will become *very* apparent if you don't have script, it will become <emphasis>very</emphasis> apparent
perl. if you don't have perl.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
<parameter>+snoop</parameter> is pretty unstable and <parameter>+snoop</parameter> is pretty unstable and
often will crash earlier than a simple often will crash earlier than a simple
<parameter>+relay</parameter>! If this is the case, then <parameter>+relay</parameter>! If this is the case, then
please use *only* <parameter>+relay</parameter>!! A bug please use <emphasis>only</emphasis> <parameter>+relay</parameter>!! A bug
report with a crash in <parameter>+snoop</parameter> report with a crash in <parameter>+snoop</parameter>
code is useless in most cases! code is useless in most cases!
</para> </para>
...@@ -211,6 +211,6 @@ ...@@ -211,6 +211,6 @@
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
End: End:
--> -->
...@@ -6,6 +6,6 @@ ...@@ -6,6 +6,6 @@
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<chapter id="compiling"> <chapter id="compiling">
<title>Compiling Wine</title> <title>Compiling Wine</title>
<para>How to compile wine, and problems that may arise...</para> <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> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<sect1 id="config"> <sect1 id="config">
<title>General Configuration</title> <title>General Configuration</title>
<para> <para>
Copyright 1999 Adam Sacarny (magicbox@bestweb.net) Copyright 1999 &name-adam-sacarny; <email>&email-adam-sacarny;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/config</filename>) (Extracted from <filename>wine/documentation/config</filename>)
...@@ -515,7 +515,7 @@ winsock = wsock32 ...@@ -515,7 +515,7 @@ winsock = wsock32
</programlisting> </programlisting>
</para> </para>
<para> <para>
For example, to load builtin KERNEL pair (Case doesn't For example, to load builtin KERNEL pair (case doesn't
matter here): matter here):
<programlisting> <programlisting>
kernel,kernel32 = builtin kernel,kernel32 = builtin
...@@ -649,7 +649,7 @@ Alias1 = Foo,--google-,subst ...@@ -649,7 +649,7 @@ Alias1 = Foo,--google-,subst
<title>The [serialports], [parallelports], [spooler], and [ports] Sections</title> <title>The [serialports], [parallelports], [spooler], and [ports] Sections</title>
<para> <para>
Even though it sounds like a lot of sections, these are Even though it sounds like a lot of sections, these are
all closely related. They all are for communications and all closely related. They are all for communications and
parallel ports. parallel ports.
</para> </para>
<para> <para>
...@@ -678,7 +678,7 @@ Alias1 = Foo,--google-,subst ...@@ -678,7 +678,7 @@ Alias1 = Foo,--google-,subst
<programlisting>LptX=/dev/lpY</programlisting> <programlisting>LptX=/dev/lpY</programlisting>
</para> </para>
<para> <para>
Seem farmiliar? Syntax is just like the COM port setting. Sounds familiar? Syntax is just like the COM port setting.
Replace <literal>X</literal> with a value from 1-4 as it Replace <literal>X</literal> with a value from 1-4 as it
is in Windows and <literal>Y</literal> with a value from is in Windows and <literal>Y</literal> with a value from
0-3 (<literal>Y</literal> is usually the value in windows 0-3 (<literal>Y</literal> is usually the value in windows
...@@ -714,7 +714,7 @@ Alias1 = Foo,--google-,subst ...@@ -714,7 +714,7 @@ Alias1 = Foo,--google-,subst
</para> </para>
<para> <para>
<programlisting>write=0x779,0x379,0x280-0x2a0</programlisting> <programlisting>write=0x779,0x379,0x280-0x2a0</programlisting>
Gives direct write access to those IO's. It probably a Gives direct write access to those IO's. It's probably a
good idea to keep the values of the good idea to keep the values of the
<literal>read</literal> and <literal>write</literal> <literal>read</literal> and <literal>write</literal>
settings the same. This stuff will only work when you're settings the same. This stuff will only work when you're
...@@ -725,7 +725,7 @@ Alias1 = Foo,--google-,subst ...@@ -725,7 +725,7 @@ Alias1 = Foo,--google-,subst
<sect3> <sect3>
<title>The [spy], [Registry], [tweak.layout], and [programs] Sections</title> <title>The [spy], [Registry], [tweak.layout], and [programs] Sections</title>
<para> <para>
[spy] is used to Include or exclude debug messages, and to [spy] is used to include or exclude debug messages, and to
output them to a file. The latter is rarely used. THESE output them to a file. The latter is rarely used. THESE
ARE ALL OPTIONAL AND YOU PROBABLY DON'T NEED TO ADD OR ARE ALL OPTIONAL AND YOU PROBABLY DON'T NEED TO ADD OR
REMOVE ANYTHING IN THIS SECTION TO YOUR CONFIG. REMOVE ANYTHING IN THIS SECTION TO YOUR CONFIG.
...@@ -816,20 +816,19 @@ Alias1 = Foo,--google-,subst ...@@ -816,20 +816,19 @@ Alias1 = Foo,--google-,subst
<para> <para>
There is always a chance that things will go wrong. If the There is always a chance that things will go wrong. If the
unthinkable happens, try the newsgroup, unthinkable happens, try the newsgroup,
<systemitem>comp.emulators.ms-windows.wine</systemitem> Make sure that you have <systemitem>comp.emulators.ms-windows.wine</systemitem>,
looked over this document thoroughly, and have also read: or the IRCnet channel <systemitem>#WineHQ</systemitem>.
Make sure that you have looked over this document thoroughly,
and have also read:
</para> </para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><filename>README</filename></para> <para><filename>README</filename></para>
</listitem> </listitem>
<listitem> <listitem>
<para><filename>documentation/bugreports</filename></para>
</listitem>
<listitem>
<para> <para>
<filename>http://www.westfalen.de/witch/wine-HOWTO.txt</filename> <filename>http://www.la-sorciere.de/wine/index.html</filename>
(Optional but recommended) (optional but recommended)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
...@@ -844,7 +843,7 @@ Alias1 = Foo,--google-,subst ...@@ -844,7 +843,7 @@ Alias1 = Foo,--google-,subst
<sect1 id="win95look"> <sect1 id="win95look">
<title>Win95/98 Look</title> <title>Win95/98 Look</title>
<para> <para>
by ??? Written by &name-david-cuthbert; <email>&email-david-cuthbert;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/win95look</filename>) (Extracted from <filename>wine/documentation/win95look</filename>)
...@@ -887,10 +886,10 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel ...@@ -887,10 +886,10 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel
<title>Configuring the x11drv Driver</title> <title>Configuring the x11drv Driver</title>
<para> <para>
written by Ove Kåven Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/x11drv</filename>) (Extracted from <filename>wine/documentation/cdrom-labels</filename>)
</para> </para>
<para> <para>
...@@ -1136,7 +1135,7 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel ...@@ -1136,7 +1135,7 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel
<firstname>Petr</firstname> <firstname>Petr</firstname>
<surname>Tomasek</surname> <surname>Tomasek</surname>
<affiliation> <affiliation>
<address><email>&lt;tomasek@etf.cuni.cz></email></address> <address><email>&email-petr-tomasek;</email></address>
</affiliation> </affiliation>
<contrib>Nov 14 1999</contrib> <contrib>Nov 14 1999</contrib>
</author> </author>
...@@ -1144,7 +1143,7 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel ...@@ -1144,7 +1143,7 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel
<firstname>Andreas</firstname> <firstname>Andreas</firstname>
<surname>Mohr</surname> <surname>Mohr</surname>
<affiliation> <affiliation>
<address><email>&lt;a.mohr@mailto.de></email></address> <address><email>&email-andreas-mohr;</email></address>
</affiliation> </affiliation>
<contrib>Jan 25 2000</contrib> <contrib>Jan 25 2000</contrib>
</author> </author>
...@@ -1153,11 +1152,11 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel ...@@ -1153,11 +1152,11 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel
<title>Drive labels and serial numbers with wine</title> <title>Drive labels and serial numbers with wine</title>
<para> <para>
by Petr Tomasek &lt;tomasek@etf.cuni.cz> Written by &name-petr-tomasek; <email>&email-petr-tomasek;</email>
Nov 14 1999 Nov 14 1999
</para> </para>
<para> <para>
changes by Andreas Mohr &lt;a.mohr@mailto.de> Changes by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
Jan 25 2000 Jan 25 2000
</para> </para>
<para> <para>
...@@ -1221,9 +1220,9 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel ...@@ -1221,9 +1220,9 @@ WineLook=[Win31|Win95|Win98] # Changes Wine's look and feel
</para> </para>
<para> <para>
If you want to give a <literal>Device=</literal> entry If you want to give a <literal>Device=</literal> entry
*only* for drive raw sector accesses, but not for reading <emphasis>only</emphasis> for drive raw sector accesses,
the volume info from the device (i.e. you want a but not for reading the volume info from the device (i.e. you want
<emphasis>fixed</emphasis>, preconfigured label), you need a <emphasis>fixed</emphasis>, preconfigured label), you need
to specify <literal>ReadVolInfo=0</literal> to tell Wine to to specify <literal>ReadVolInfo=0</literal> to tell Wine to
skip the volume reading. skip the volume reading.
</para> </para>
...@@ -1292,7 +1291,9 @@ Filesystem=msdos ...@@ -1292,7 +1291,9 @@ Filesystem=msdos
<sect1 id="dll-overrides"> <sect1 id="dll-overrides">
<title>Dll Overrides</title> <title>Dll Overrides</title>
<para>by Ove Kaaven &lt;ovek@arcticnet.no></para> <para>
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para>
<para> <para>
(Extracted from <filename>wine/documentation/dll-overrides</filename>) (Extracted from <filename>wine/documentation/dll-overrides</filename>)
</para> </para>
...@@ -1350,7 +1351,7 @@ Filesystem=msdos ...@@ -1350,7 +1351,7 @@ Filesystem=msdos
A native Unix <filename>.so</filename> file, with A native Unix <filename>.so</filename> file, with
calling convention conversion thunks generated on the calling convention conversion thunks generated on the
fly as the library is loaded. This is mostly useful fly as the library is loaded. This is mostly useful
for libraries such as "glide" that has exactly the for libraries such as "glide" that have exactly the
same API on both Windows and Unix. same API on both Windows and Unix.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
...@@ -1690,7 +1691,9 @@ Filesystem=msdos ...@@ -1690,7 +1691,9 @@ Filesystem=msdos
<sect1 id="keyboard"> <sect1 id="keyboard">
<title>Keyboard</title> <title>Keyboard</title>
<para>by Ove Kaaven &lt;ovek@arcticnet.no></para> <para>
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para>
<para> <para>
(Extracted from <filename>wine/documentation/keyboard</filename>) (Extracted from <filename>wine/documentation/keyboard</filename>)
</para> </para>
...@@ -1869,6 +1872,6 @@ diff -u the_backup_file_you_made windows/x11drv/keyboard.c > layout.diff ...@@ -1869,6 +1872,6 @@ diff -u the_backup_file_you_made windows/x11drv/keyboard.c > layout.diff
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
End: End:
--> -->
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
<title>Consoles</title> <title>Consoles</title>
<para> <para>
written by (???) Written by &name-john-richardson; <email>&email-john-richardson;</email>
Maintained by &name-joseph-pranevich; <email>&email-joseph-pranevich;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/console</filename>) (Extracted from <filename>wine/documentation/console</filename>)
...@@ -19,7 +20,7 @@ ...@@ -19,7 +20,7 @@
<parameter>-Sxxn</parameter> switch. A <parameter>-Sxxn</parameter> switch. A
<systemitem>pty</systemitem> is opened and the master goes <systemitem>pty</systemitem> is opened and the master goes
to the <filename>xterm</filename> side and the slave is held to the <filename>xterm</filename> side and the slave is held
by the wine side. The console itself it turned into a few by the wine side. The console itself is turned into a few
<type>HANDLE32</type>s and is set to the <type>HANDLE32</type>s and is set to the
<varname>STD_*_HANDLES</varname>. <varname>STD_*_HANDLES</varname>.
</para> </para>
...@@ -35,7 +36,7 @@ ...@@ -35,7 +36,7 @@
</para> </para>
<para> <para>
<emphasis>[this paragraph is now out of date]</emphasis> If <emphasis>[this paragraph is now out of date]</emphasis> If
the command line console is to be inheirited or a process the command line console is to be inherited or a process
inherits its parent's console (-- can that happen???), the inherits its parent's console (-- can that happen???), the
console is created at process init time via console is created at process init time via
<function>PROCESS_InheritConsole</function>. The <function>PROCESS_InheritConsole</function>. The
...@@ -90,7 +91,7 @@ ...@@ -90,7 +91,7 @@
processing input. Win32 has line-at-a-time processing, processing input. Win32 has line-at-a-time processing,
character processing, and echo. I'm putting together an character processing, and echo. I'm putting together an
intermediate driver that will handle this (and hopefully intermediate driver that will handle this (and hopefully
won't be any more buggy then the NT4 console won't be any more buggy than the NT4 console
implementation). implementation).
</para> </para>
</sect2> </sect2>
...@@ -297,7 +298,7 @@ wine -console ncurses+xterm &lt;application&gt; ...@@ -297,7 +298,7 @@ wine -console ncurses+xterm &lt;application&gt;
<para> <para>
Tell any driver that is interested (ncurses) which Tell any driver that is interested (ncurses) which
termcap and/or terminfo type to use. The default is termcap and/or terminfo type to use. The default is
xterm which is appropiate for most uses. xterm which is appropriate for most uses.
<command>nxterm</command> may give you better <command>nxterm</command> may give you better
support if you use that terminal. This can also be support if you use that terminal. This can also be
changed to "linux" (or "console" on older systems) changed to "linux" (or "console" on older systems)
...@@ -381,6 +382,6 @@ wine -console ncurses+xterm &lt;application&gt; ...@@ -381,6 +382,6 @@ wine -console ncurses+xterm &lt;application&gt;
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<chapter id="cvs-regression">
<title>How to do regression testing using Cvs</title>
<para>
written by (???)
</para>
<para>
(Extracted from <filename>wine/documentation/bugreports</filename>)
</para>
<para>
A problem that can happen sometimes is 'it used to work
before, now it doesn't anymore...'. Here is a step by step
procedure to try to pinpoint when the problem occured. This is
<emphasis>NOT</emphasis> for casual users.
</para>
<orderedlist>
<listitem>
<para>
Get the 'full cvs' archive from winehq. This archive is
the cvs tree but with the tags controlling the versioning
system. It's a big file (> 15 meg) with a name like
full-cvs-&lt;last update date> (it's more than 100mb
when uncompressed, you can't very well do this with
small, old computers or slow Internet connections).
</para>
</listitem>
<listitem>
<para>
untar it into a repository directory:
<screen>
cd /home/gerard
tar -zxffull-cvs-2000-05-20.tar.gz
mv wine repository
</screen>
</para>
</listitem>
<listitem>
<para>
extract a new destination directory. This directory must
not be in a subdirectory of the repository else
<command>cvs</command> will think it's part of the
repository and deny you an extraction in the repository:
<screen>
cd /home/gerard
mv wine wine_current (-> this protects your current wine sandbox, if any)
export CVSROOT=/home/gerard/repository
cd /home/gerard
cvs -d $CVSROOT checkout wine
</screen>
</para>
<para>
Note that it's not possible to do a checkout at a given
date; you always do the checkout for the last date where
the full-cvs-xxx snapshot was generated.
</para>
</listitem>
<listitem>
<para>
you will have now in the <filename>~/wine</filename>
directory an image of the cvs tree, on the client side.
Now update this image to the date you want:
<screen>
cd /home/gerard/wine
cvs -d $CVSROOT update -D "1999-06-01"
</screen>
</para>
<para>
The date format is <literal>YYYY-MM-DD</literal>.
</para>
<para>
Many messages will inform you that more recent files have
been deleted to set back the client cvs tree to the date
you asked, for example:
<screen>
cvs update: tsx11/ts_xf86dga2.c is no longer in the repository
</screen>
</para>
<para>
<command>cvs update</command> is not limited to upgrade to
a <emphasis>newer</emphasis> version as I have believed for far too long :-(
</para>
</listitem>
<listitem>
<para>
Now proceed as for a normal update:
</para>
<screen>
./configure
make depend && make
</screen>
<para>
When you have found the exact date when a bug was added to
the cvs tree, use something like :
<screen>
cvs -d $CVSROOT diff -D "1999-07-10" -D "1999-07-12"
</screen>
to get all the differences between the last cvs tree
version known to work and code that first displayed the
misbehavior.
</para>
<note>
<para>
I did not include flags for <command>diff</command>
since they are in my <filename>.cvsrc</filename> file:
</para>
<screen>
cvs -z 3
update -dPA
diff -u
</screen>
</note>
<para>
From this diff file, particularly the file names, and the
<filename>ChangeLog</filename>, it's usually possible to
find the different individual patches that were done at
this time.
</para>
<para>
If any non-programmer reads this, the fastest method to get
at the point where the problem occured is to use a binary
search, that is, if the problem occured in 1999, start at
mid-year, then is the problem is already here, back to 1st
April, if not, to 1st October, and so on.
</para>
</listitem>
<listitem>
<para>
The next step is to start from the last working version
and to dig the individual contributions from
<ulink url="http://www.integrita.com/cgi-local/lwgate.pl/WINE-PATCHES/">
http://www.integrita.com/cgi-local/lwgate.pl/WINE-PATCHES/</ulink>
(where the Wine patches mailing list is archived)
</para>
<para>
If the patch was done by the Wine maintainer or if it was
sent directly to his mail address without going first through
<ulink url="mailto:wine-patches@winehq.com">wine-patches</ulink>,
you are out of luck as you will never find the patch in
the archive. If it is, it's often possible to apply the
patches one by one to last working cvs snapshot, compile and test.
If you have saved the next candidate as
<filename>/home/gerard/buggedpatch1.txt</filename>:
</para>
<screen>
cd /home/gerard/wine
patch -p 0 &lt; /home/gerard/buggedpatch1.txt
</screen>
<para>
Beware that the committed patch is not always identical to
the patch that the author sent to wine-patches, as
sometimes the Wine maintainer changes things a bit.
</para>
<para>
If you find one patch that is getting the cvs source tree to
reproduce the problem, you have almost won; post the problem on
<systemitem>comp.emulators.windows.wine</systemitem> and there
is a chance that the author will jump in to suggest a fix; or
there is always the possibility to look hard at the patch until
it is coerced to reveal where is the bug :-)
</para>
</listitem>
</orderedlist>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End:
-->
#! /bin/sh
## Customized version of db2html to make it easier to use alternate
## stylesheets. Some versions of db2html support a '-d' option to
## specify this, but not all. We'll explicitly specify that here.
##
## John R. Sheets <jsheets@codeweavers.com>
## Other possible SGML stylesheets (default Debian versions...may be
## different on other distributions).
#DB_STYLESHEET=/usr/lib/sgml/stylesheet/dsssl/docbook/cygnus/cygnus-both.dsl
#DB_STYLESHEET=/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl
## Use included default.dsl DSSSL stylesheet unless explicitly overridden with
## the $WINEDOC_STYLESHEET envar.
##
## NOTE: The invoked DSSSL stylesheet *MUST* have an HTML-specific section
## in it; otherwise, jade will spew everything to stdout and fail to use
## the stated stylesheet. Something like this:
##
## <style-specification id="html" use="docbook">
if [ -z "$WINEDOC_STYLESHEET" ]; then
DB_STYLESHEET=../default.dsl
else
DB_STYLESHEET=$WINEDOC_STYLESHEET
fi
output=db2html-dir
TMPDIR=DBTOHTML_OUTPUT_DIR$$
echo TMPDIR is $TMPDIR
echo "Using stylesheet: \"${DB_STYLESHEET}\""
if [ $# -gt 2 ]
then
echo "Usage: `basename $0` [filename.sgml]" >&2
exit 1
fi
if [ $# -eq 1 ]
then
if [ ! -r $1 ]
then
echo Cannot read \"$1\". Exiting. >&2
exit 1
fi
if echo $1 | egrep -i '\.sgml$|\.sgm$' >/dev/null 2>&1
then
# now make sure that the output directory is always a subdirectory
# of the current directory
echo
input_file=`basename $1`
output="`echo $input_file | sed 's,\.sgml$,,;s,\.sgm$,,'`"
echo "input file was called $input_file -- output will be in $output"
echo
fi
fi
mkdir $TMPDIR
SAVE_PWD=`pwd`
if [ $1 = `basename $1` ]; then
echo "working on ../$1"
(cd $TMPDIR; jade -t sgml -ihtml -d ${DB_STYLESHEET}\#html ../$1; cd $SAVE_PWD)
else
echo "working on $1"
(cd $TMPDIR; jade -t sgml -ihtml -d ${DB_STYLESHEET}\#html $1; cd $SAVE_PWD)
fi
if [ $# -eq 1 ]
then
if [ -d ${output}.junk ]
then
/bin/rm -rf ${output}.junk
fi
if [ -d ${output} ]
then
mv $output ${output}.junk
fi
echo "about to rename temporary directory to $output"
mv ${TMPDIR} $output
else
cat $TMPDIR/*
fi
rm -rf $TMPDIR
exit 0
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY walsh-style PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
<!ENTITY cygnus-style SYSTEM "/usr/lib/sgml/stylesheet/dsssl/docbook/cygnus/cygnus-both.dsl" CDATA DSSSL>
]>
<style-sheet>
<style-specification id="html" use="docbook">
<style-specification-body>
(define %use-id-as-filename% #t)
(define %html-ext% ".html")
(define %html-header-tags% '())
;;(define %stylesheet% "../../winehq.css")
;;(define %stylesheet-type% "text/css")
(define %shade-verbatim% #t)
(define %section-autolabel% #t)
;; Customize the body tag color attributes
(define %body-attr%
(list
(list "BGCOLOR" "#FFFFFF")
(list "TEXT" "#000000")
(list "LINK" "#a50d0d")
(list "VLINK" "#505050")
(list "ALINK" "#a50d0d")))
;; Change the background color of programlisting and screen, etc.
(define ($shade-verbatim-attr$)
(list
(list "BORDER" "0")
;(list "BGCOLOR" "#E0E0E0") ; light grey
(list "BGCOLOR" "#E0D0D0") ; light grayish red
;(list "BGCOLOR" "#bc8686") ; dark rose
;(list "BGCOLOR" "#FFD39B") ; burlywood1 (tan)
;(list "BGCOLOR" "#FFE7BA") ; wheat1 (light tan)
(list "WIDTH" ($table-width$))))
;; Customize systemitem element to have different formatting, according
;; to which class attribute it contains.
(element systemitem
(let ((class (attribute-string (normalize "class"))))
(cond
((equal? class (normalize "systemname")) ($italic-mono-seq$))
((equal? class (normalize "constant")) ($mono-seq$))
(else ($charseq$)))))
;; Okay, this is a little tricky. By default, it appears that setinfo is
;; completely turned off (with empty-sosofo). The setinfo title is extracted
;; through some other means, so we can ignore it when we process the setinfo
;; below.
;; Process setinfo element
(element setinfo (process-children))
;; Ignore title element -- otherwise it'll appear alongside the releaseinfo
;; element. If we add any other elements to setinfo, we'll have to blank them
;; out here, also.
(element (setinfo title)
(empty-sosofo))
;; Enclose releaseinfo element in italics
(element (setinfo releaseinfo)
; (make element gi: "i"
; (process-children)))
(process-children))
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="walsh-style">
</style-sheet>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<title>Writing Wine API Documentation</title> <title>Writing Wine API Documentation</title>
<para> <para>
written by (???) Written by &name-douglas-ridgway; <email>&email-douglas-ridgway;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/README.documentation</filename>) (Extracted from <filename>wine/documentation/README.documentation</filename>)
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</para> </para>
<screen> <screen>
/****************************************************************** /******************************************************************
* CopyMetaFile32A (GDI32.23) * CopyMetaFileA (GDI32.23)
* *
* Copies the metafile corresponding to hSrcMetaFile to either * Copies the metafile corresponding to hSrcMetaFile to either
* a disk file, if a filename is given, or to a new memory based * a disk file, if a filename is given, or to a new memory based
...@@ -32,8 +32,8 @@ ...@@ -32,8 +32,8 @@
* *
* Copying to disk returns NULL even if successful. * Copying to disk returns NULL even if successful.
*/ */
HMETAFILE32 WINAPI CopyMetaFile32A( HMETAFILE WINAPI CopyMetaFileA(
HMETAFILE32 hSrcMetaFile, /* handle of metafile to copy */ HMETAFILE hSrcMetaFile, /* handle of metafile to copy */
LPCSTR lpFilename /* filename if copying to a file */ LPCSTR lpFilename /* filename if copying to a file */
) { ... } ) { ... }
</screen> </screen>
...@@ -46,17 +46,17 @@ CopyMetaFileA(3w) CopyMetaFileA(3w) ...@@ -46,17 +46,17 @@ CopyMetaFileA(3w) CopyMetaFileA(3w)
NAME NAME
CopyMetaFileA - CopyMetaFile32A (GDI32.23) CopyMetaFileA (GDI32.23)
SYNOPSIS SYNOPSIS
HMETAFILE32 CopyMetaFileA HMETAFILE CopyMetaFileA
( (
HMETAFILE32 hSrcMetaFile, HMETAFILE hSrcMetaFile,
LPCSTR lpFilename LPCSTR lpFilename
); );
PARAMETERS PARAMETERS
HMETAFILE32 hSrcMetaFile HMETAFILE hSrcMetaFile
Handle of metafile to copy. Handle of metafile to copy.
LPCSTR lpFilename LPCSTR lpFilename
...@@ -84,6 +84,6 @@ SEE ALSO ...@@ -84,6 +84,6 @@ SEE ALSO
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>Fonts</title> <title>Fonts</title>
<para> <para>
written by ??? Written by &name-alex-korobka; <email>&email-alex-korobka;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/fonts</filename>) (Extracted from <filename>wine/documentation/fonts</filename>)
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<para> <para>
Convert <filename>.bdf</filename> files produced by Step Convert <filename>.bdf</filename> files produced by Step
1 into <filename>.pcf</filename> files with 1 into <filename>.pcf</filename> files with
<command>bdftopcf -o &lt;target file&gt; &lt;original bdf-file&gt;</command>. <command>bdftopcf</command>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
...@@ -493,6 +493,6 @@ FontPath "tcp/localhost:7100" ...@@ -493,6 +493,6 @@ FontPath "tcp/localhost:7100"
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
End: End:
--> -->
...@@ -5,12 +5,13 @@ ...@@ -5,12 +5,13 @@
<title>Adding New Languages</title> <title>Adding New Languages</title>
<para> <para>
written by Morten Welinder, January 1996. Written by &name-morten-welinder; <email>&email-morten-welinder;</email>,
January 1996.
</para> </para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Thereafter revised Februari 1999 by Klaas van Gend</para> <para>Thereafter revised February 1999 by Klaas van Gend</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Revised again May 23, 1999, Klaas van Gend</para> <para>Revised again May 23, 1999, Klaas van Gend</para>
...@@ -37,6 +38,7 @@ ...@@ -37,6 +38,7 @@
<member>Japanese</member> <member>Japanese</member>
<member>Romanian</member> <member>Romanian</member>
<member>Croatian</member> <member>Croatian</member>
<member>Slovak</member>
<member>Turkish</member> <member>Turkish</member>
<member>Slovanian</member> <member>Slovanian</member>
</simplelist> </simplelist>
...@@ -196,6 +198,6 @@ ...@@ -196,6 +198,6 @@
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<title>Builtin DLLs</title> <title>Builtin DLLs</title>
<para> <para>
written by &lt;juergen.schmied@metronet.de> Written by &name-juergen-schmied; <email>&email-juergen-schmied;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/internal-dll</filename>) (Extracted from <filename>wine/documentation/internal-dll</filename>)
...@@ -195,7 +195,7 @@ WORD cmd; ...@@ -195,7 +195,7 @@ WORD cmd;
<title>File Handles</title> <title>File Handles</title>
<para> <para>
written by (???) Written by (???)
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/filehandles</filename>) (Extracted from <filename>wine/documentation/filehandles</filename>)
...@@ -260,7 +260,7 @@ WORD cmd; ...@@ -260,7 +260,7 @@ WORD cmd;
<title>Doing A Hardware Trace In Wine</title> <title>Doing A Hardware Trace In Wine</title>
<para> <para>
written by Jonathan Buzzard &lt;jab@hex.prestel.co.uk> Written by &name-jonathan-buzzard; <email>&email-jonathan-buzzard;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/ioport-trace-hints</filename>) (Extracted from <filename>wine/documentation/ioport-trace-hints</filename>)
...@@ -530,6 +530,6 @@ EOF ...@@ -530,6 +530,6 @@ EOF
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<chapter id="introduction">
<title>Introduction</title>
<sect1 id="what-is-wine">
<title>What is Wine?</title>
<para>
Written by &name-john-sheets; <email>&email-john-sheets;</email>
</para>
<sect2>
<title>Windows and Linux</title>
<!-- general description of wine, what does it do? -->
<para>
Many people have faced the frustration of owning software that
won't run on their computer. With the recent popularity of
Linux, this is happening more and more often because of
differing operating systems. Your Windows software won't run
on Linux, and your Linux software won't run in Windows.
</para>
<para>
A common solution to this problem is to install both operating
systems on the same computer, as a <quote>dual boot</quote>
system. If you want to write a document in MS Word, you can
boot up in Windows; if you want to run the GnuCash, the GNOME
financial application, you can shut down your Windows session
and reboot into Linux. The problem with this is that you
can't do both at the same time. Each time you switch back and
forth between MS Word and GnuCash, you have to reboot again.
This can get tiresome quickly.
</para>
<para>
Life would be so much easier if you could run all your
applications on the same system, regardless of whether they
are written for Windows or for Linux. On Windows, this isn't
really possible.
<footnote>
<para>
Technically, if you have two networked computers, one
running Windows and the other running Linux, and if you
have some sort of X server software running on the Windows
system, you can export Linux applications onto the Windows
system. Unfortunately, most decent win32 X servers are
commercial products, many of which cost quite a lot.
However, this doesn't solve the problem if you only own
one computer system.
</para>
</footnote>
However, Wine makes it possible to run native Windows
applications alongside native Linux applications on a Linux
(or Solaris) system. You can share desktop space between MS
Word and GnuCash, overlapping their windows, iconizing them,
and even running them from the same launcher.
</para>
</sect2>
<sect2>
<title>Emulation versus Native Linking</title>
<!-- emulator vs. Winelib -->
<para>
Wine is a UNIX implementation of the win32 libraries,
written from scratch by hundreds of volunteer developers and
released under an open source license. Anyone can download
and read through the source code, and fix bugs that arise.
The Wine community is full of richly talented programmers
who have spent thousands of hours of personal time on
improving Wine so that it works well with the win32
<firstterm>Applications Programming Interface</firstterm>
(API), and keeps pace with new developments from Microsoft.
</para>
<para>
Wine can run applications in two discrete ways: as
pre-compiled Windows binaries, or as natively compiled X11
(X Window System) applications. The former method uses
emulation to connect a Windows application to the Wine
libraries. You can run your Windows application directly
with the emulator, by installing through Wine or by simply
copying the Windows executables onto your Linux system.
</para>
<para>
The other way to run Windows applications with Wine requires
that you have the source code for the application. Instead
of compiling it with native Windows compilers, you can
compile it with a native Linux compiler --
<command>gcc</command> for example -- and link in the Wine
Libraries as you would with any other native UNIX
application. These natively linked applications are
referred to as Winelib applications.
</para>
<para>
The Wine Users Guide will focus on running precompiled
Windows applications using the Wine emulator.
<ulink url="http://wine.codeweavers.com/docs/winelib-user/">
The Winelib Users Guide</ulink> will cover Winelib
applications.
</para>
<!-- the development model -->
<para>
</para>
</sect2>
</sect1>
<!-- *** Not really useful as is, but may be able to recycle this elsewhere...
<sect1 id="getting-started">
<title>Getting started</title>
<para>
Written by &name-john-sheets; <email>&email-john-sheets;</email>
</para>
<para>
Wine can be pretty intimidating at first. The Wine
distribution consists of over two thousand files and half a
million lines of source code
<footnote>
<para>Crudely calculated from running <command>find . | wc
-l</command> and <command>cat `find . -name "*.c"` | wc
-l</command>, respectively, from a fresh CVS checkout.</para>
</footnote>,
and is probably one of the steepest learning curves in the
open source world. This chapter will give you a crash course
in the important topics you need to know to get started with
running Wine applications.
</para>
</sect1>
-->
<sect1 id="wine-stats">
<title>Wine Requirements and Features</title>
<para>
Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
</para>
<sect2 id="system-requirements">
<title>System requirements</title>
<para>
In order to run Wine, you need the following:
</para>
<para>
<itemizedlist>
<listitem>
<para>
a computer ;-) Wine: only PCs >= i386 are supported at
the moment. Winelib: other platforms might be
supported, but can be tricky.
</para>
</listitem>
<listitem>
<para>
a UNIX-like operating system such as Linux, *BSD,
Solaris x86
</para>
</listitem>
<listitem>
<para>
>= 16MB of RAM. Everything below is pretty much
unusable. >= 64 MB is needed for a "good" execution.
</para>
</listitem>
<listitem>
<para>
an X11 window system (XFree86 etc.). Wine is prepared
for other graphics display drivers, but writing
support is not too easy. The text console display
driver is nearly usable.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="wine-capabilities">
<title>Wine capabilities</title>
<para>
Now that you hopefully managed to fulfill the requirements
mentioned above, we tell you what Wine is able to do/support:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Support for executing DOS, Win 3.x and Win9x/NT/Win2000
programs (most of Win32's controls are supported)
</para>
</listitem>
<listitem>
<para>
Optional use of external vendor DLLs (e.g. original
Windows DLLs)
</para>
</listitem>
<listitem>
<para>
X11-based graphics display (remote display to any X
terminal possible), text mode console
</para>
</listitem>
<listitem>
<para>
Desktop-in-a-box or mixable windows
</para>
</listitem>
<listitem>
<para>
Pretty advanced DirectX support for games
</para>
</listitem>
<listitem>
<para>
Good support for sound, alternative input devices
</para>
</listitem>
<listitem>
<para>
Printing: supports native Win16 printer drivers,
Internal PostScript driver
</para>
</listitem>
<listitem>
<para>
Modems, serial devices are supported
</para>
</listitem>
<listitem>
<para>
Winsock TCP/IP networking
</para>
</listitem>
<listitem>
<para>
ASPI interface (SCSI) support for scanners, CD writers,
...
</para>
</listitem>
<listitem>
<para>
Unicode support, relatively advanced language support
</para>
</listitem>
<listitem>
<para>
Wine debugger and configurable trace logging messages
</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" "set" "book" "chapter" "")
End:
-->
...@@ -2,14 +2,15 @@ ...@@ -2,14 +2,15 @@
<title>Wine and OpenGL</title> <title>Wine and OpenGL</title>
<para> <para>
written by Lionel Ulmer &lt;lionel.ulmer@free.fr>, last modification : 2000/06/13 Written by &name-lionel-ulmer; <email>&email-lionel-ulmer;</email>,
last modification : 2000/06/13
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/opengl</filename>) (Extracted from <filename>wine/documentation/opengl</filename>)
</para> </para>
<sect1 id="opengl-required"> <sect1 id="opengl-required">
<title>I What is needed to have OpenGL support in Wine</title> <title>What is needed to have OpenGL support in Wine</title>
<para> <para>
Basically, if you have a Linux OpenGL ABI compliant libGL Basically, if you have a Linux OpenGL ABI compliant libGL
...@@ -29,7 +30,7 @@ ...@@ -29,7 +30,7 @@
</para> </para>
<sect2> <sect2>
<title>I.1 Header files</title> <title>Header files</title>
<para> <para>
The needed header files to build OpenGL support in Wine are : The needed header files to build OpenGL support in Wine are :
...@@ -67,7 +68,7 @@ ...@@ -67,7 +68,7 @@
</sect2> </sect2>
<sect2> <sect2>
<title>I.2 OpenGL library thread-safety</title> <title>OpenGL library thread-safety</title>
<para> <para>
After that, the script checks if the OpenGL library relies After that, the script checks if the OpenGL library relies
...@@ -96,7 +97,7 @@ ...@@ -96,7 +97,7 @@
</sect2> </sect2>
<sect2> <sect2>
<title>I.3 OpenGL library itself</title> <title>OpenGL library itself</title>
<para> <para>
To check for the presence of 'libGL' on the system, the To check for the presence of 'libGL' on the system, the
...@@ -107,7 +108,7 @@ ...@@ -107,7 +108,7 @@
</sect2> </sect2>
<sect2> <sect2>
<title>I.4 glXGetProcAddressARB function</title> <title>glXGetProcAddressARB function</title>
<para> <para>
The core of Wine's OpenGL implementation (at least for all The core of Wine's OpenGL implementation (at least for all
...@@ -130,7 +131,7 @@ ...@@ -130,7 +131,7 @@
</sect1> </sect1>
<sect1 id="opengl-configure"> <sect1 id="opengl-configure">
<title>II How to configure</title> <title>How to configure</title>
<para> <para>
Configuration is quite easy : once OpenGL support has been Configuration is quite easy : once OpenGL support has been
...@@ -156,7 +157,7 @@ DesktopDoubleBuffered = Y ...@@ -156,7 +157,7 @@ DesktopDoubleBuffered = Y
</sect1> </sect1>
<sect1 id="opengl-works"> <sect1 id="opengl-works">
<title>III How it all works</title> <title>How it all works</title>
<para> <para>
The core OpenGL function calls are the same between Windows The core OpenGL function calls are the same between Windows
...@@ -191,7 +192,7 @@ DesktopDoubleBuffered = Y ...@@ -191,7 +192,7 @@ DesktopDoubleBuffered = Y
</para> </para>
<sect2> <sect2>
<title>III.1 The Windowing system integration</title> <title>The Windowing system integration</title>
<para> <para>
This integration is done at two levels : This integration is done at two levels :
...@@ -222,7 +223,7 @@ DesktopDoubleBuffered = Y ...@@ -222,7 +223,7 @@ DesktopDoubleBuffered = Y
</sect2> </sect2>
<sect2> <sect2>
<title>III.2 The thunks</title> <title>The thunks</title>
<para> <para>
The thunks are the Wine code that does the calling The thunks are the Wine code that does the calling
...@@ -315,10 +316,10 @@ DesktopDoubleBuffered = Y ...@@ -315,10 +316,10 @@ DesktopDoubleBuffered = Y
</sect1> </sect1>
<sect1 id="opengl-problems"> <sect1 id="opengl-problems">
<title>IV Known problems - shortcomings</title> <title>Known problems - shortcomings</title>
<sect2> <sect2>
<title>IV.1 Missing GLU32.DLL</title> <title>Missing GLU32.DLL</title>
<para> <para>
GLU is a library that is layered upon OpenGL. There is a GLU is a library that is layered upon OpenGL. There is a
...@@ -338,7 +339,7 @@ DesktopDoubleBuffered = Y ...@@ -338,7 +339,7 @@ DesktopDoubleBuffered = Y
</sect2> </sect2>
<sect2> <sect2>
<title>IV.2 OpenGL not detected at configure time</title> <title>OpenGL not detected at configure time</title>
<para> <para>
See section (I) for a detailed explanation of the See section (I) for a detailed explanation of the
...@@ -347,7 +348,7 @@ DesktopDoubleBuffered = Y ...@@ -347,7 +348,7 @@ DesktopDoubleBuffered = Y
</sect2> </sect2>
<sect2> <sect2>
<title>IV.3 When running an OpenGL application, the screen flickers</title> <title>When running an OpenGL application, the screen flickers</title>
<para> <para>
See section (II) for how to create the context See section (II) for how to create the context
...@@ -356,11 +357,11 @@ DesktopDoubleBuffered = Y ...@@ -356,11 +357,11 @@ DesktopDoubleBuffered = Y
</sect2> </sect2>
<sect2> <sect2>
<title>IV.4 Wine gives me the following error message : </title> <title>Wine gives me the following error message : </title>
<screen> <screen>
Extension defined in the OpenGL library but NOT in opengl_ext.c... Extension defined in the OpenGL library but NOT in opengl_ext.c...
Please report (lionel.ulmer@free.fr) ! Please report (&email-lionel-ulmer;) !
</screen> </screen>
<para> <para>
...@@ -398,12 +399,12 @@ Please report (lionel.ulmer@free.fr) ! ...@@ -398,12 +399,12 @@ Please report (lionel.ulmer@free.fr) !
<para> <para>
If you have this, run with <parameter>--debugmsg If you have this, run with <parameter>--debugmsg
+opengl</parameter> and send me +opengl</parameter> and send me
<email>lionel.ulmer@free.fr</email> the TRACE. <email>&email-lionel-ulmer;</email> the TRACE.
</para> </para>
</sect2> </sect2>
<sect2> <sect2>
<title>IV.5 <filename>libopengl32.so</filename> is built but it is still not working</title> <title><filename>libopengl32.so</filename> is built but it is still not working</title>
<para> <para>
This may be caused by some missing functions required by This may be caused by some missing functions required by
...@@ -453,6 +454,6 @@ gcc dummy.c -L/usr/local/lib -lwine -lopengl32 ...@@ -453,6 +454,6 @@ gcc dummy.c -L/usr/local/lib -lwine -lopengl32
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<chapter id="patches"> <chapter id="patches">
<title>Submitting Patches</title> <title>Submitting Patches</title>
<para>How to create patches, and where to send them...</para>
<para>
Written by &name-albert-den-haan; <email>&email-albert-den-haan;</email>
</para>
<sect1 id="patch-format">
<title>Patch Format</title>
<para>
Your patch should include:
</para>
<itemizedlist>
<listitem>
<para>
a description of what was wrong and what is now better
(and now broken :).
</para>
</listitem>
<listitem>
<para>
your contact information ( Name/Handle and e-mail )
</para>
</listitem>
<listitem>
<para>
the patch in <command>diff -u</command> format (it happens...)
</para>
</listitem>
</itemizedlist>
<para>
<command>cvs diff -u</command> works great for the common case
where a file is edited. However, if you add or remove a file
<command>cvs diff</command> will not report that correctly so
make sure you explicitly take care of this rare case.
</para>
<para>
For additions: mention that you have some new files and
include them as either separate attachments or by appending
<command>diff -Nu</command> of them to any <command>cvs diff
-u</command> output you may have.
</para>
<para>
For removals, list the files.
</para>
</sect1>
<sect1 id="patch-quality">
<title>Quality Assurance</title>
<para>
(Or, "How do I get Alexandre to apply my patch quickly so I
can build on it and it will not go stale?")
</para>
<para>
Make sure your patch applies to the current CVS head
revisions. If a bunch of patches are commited to CVS that may
affect whether your patch will apply cleanly then verify that
your patch does apply! <command>cvs update</command> is your
friend!
</para>
<para>
Save yourself some embarasment and run your patched code
against more than just your current test example. Experience
will tell you how much effort to apply here.
</para>
</sect1>
</chapter> </chapter>
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
...@@ -236,8 +236,8 @@ AC_CHECK_HEADER(foo.h, AC_DEFINE(HAVE_FOO_H)) ...@@ -236,8 +236,8 @@ AC_CHECK_HEADER(foo.h, AC_DEFINE(HAVE_FOO_H))
<title>Running & Compiling WINE in OS/2</title> <title>Running & Compiling WINE in OS/2</title>
<para> <para>
written by Robert Pouliot &lt;krynos@clic.net&gt;, January 9, 1997 Written by &name-robert-pouliot; <email>&email-robert-pouliot;</email>,
January 9, 1997
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/wine_os2</filename>) (Extracted from <filename>wine/documentation/wine_os2</filename>)
...@@ -390,6 +390,6 @@ AC_CHECK_HEADER(foo.h, AC_DEFINE(HAVE_FOO_H)) ...@@ -390,6 +390,6 @@ AC_CHECK_HEADER(foo.h, AC_DEFINE(HAVE_FOO_H))
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
...@@ -6,15 +6,14 @@ ...@@ -6,15 +6,14 @@
<title>Printing</title> <title>Printing</title>
<para> <para>
written by (???) Written by &name-huw-davies; <email>&email-huw-davies;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/printing</filename>) (Extracted from <filename>wine/documentation/printing</filename>)
</para> </para>
<para> <para>
Printing in Wine can be done in one of two ways. Both of which are very Printing in Wine can be done in one of two ways. Both of which are pretty alpha.
alpha.
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
...@@ -30,8 +29,8 @@ ...@@ -30,8 +29,8 @@
<para> <para>
Note that at the moment WinPrinters (cheap, dumb printers that require Note that at the moment WinPrinters (cheap, dumb printers that require
the host computer to explicitly control the head) will not work. It is the host computer to explicitly control the head) will not work with
unclear whether they ever will. their Windows printer drivers. It is unclear whether they ever will.
</para> </para>
<sect2> <sect2>
...@@ -93,7 +92,7 @@ LPT1:=foo.ps LPT2:=|lpr ...@@ -93,7 +92,7 @@ LPT1:=foo.ps LPT2:=|lpr
<title>The Wine PostScript Driver</title> <title>The Wine PostScript Driver</title>
<para> <para>
written by Huw Davies <email>h.davies1@physics.ox.ac.uk</email> Written by &name-huw-davies; <email>&email-huw-davies;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/psdriver</filename>) (Extracted from <filename>wine/documentation/psdriver</filename>)
...@@ -251,7 +250,7 @@ ppdfile=/somewhere/file.ppd ...@@ -251,7 +250,7 @@ ppdfile=/somewhere/file.ppd
Please contact me if you want to help so that we can avoid duplication. Please contact me if you want to help so that we can avoid duplication.
</para> </para>
<para> <para>
Huw Davies <email>h.davies1@physics.ox.ac.uk</email> &name-huw-davies; <email>&email-huw-davies;</email>
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
...@@ -260,6 +259,6 @@ ppdfile=/somewhere/file.ppd ...@@ -260,6 +259,6 @@ ppdfile=/somewhere/file.ppd
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
End: End:
--> -->
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
</sect2> </sect2>
<sect2> <sect2>
<title>Wine registry data filesr</title> <title>Wine registry data files</title>
<para> <para>
In the user's home directory, there is a subdirectory named In the user's home directory, there is a subdirectory named
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>bin2res</title> <title>bin2res</title>
<para> <para>
written by juergen.schmied@debitel.net (11/99) Written by &name-juergen-schmied; <email>&email-juergen-schmied;</email> (11/99)
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/resources</filename>) (Extracted from <filename>wine/documentation/resources</filename>)
...@@ -89,6 +89,6 @@ bash-2.03# ../../tools/bin2res -d bin shres.rc ...@@ -89,6 +89,6 @@ bash-2.03# ../../tools/bin2res -d bin shres.rc
<!-- Keep this comment at the end of the file <!-- Keep this comment at the end of the file
Local variables: Local variables:
mode: sgml mode: sgml
sgml-parent-document:("wine-doc.sgml" "book" "part" "chapter" "") sgml-parent-document:("wine-doc.sgml" "set" "book" "part" "chapter" "")
End: End:
--> -->
<!doctype book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!doctype set PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!entity running SYSTEM "running.sgml"> <!-- *** Include list of authors *** -->
<!entity % authors SYSTEM "authors.ent">
%authors;
<!-- *** Entities for Wine User Guide *** -->
<!entity introduction SYSTEM "introduction.sgml">
<!entity getting SYSTEM "getting.sgml">
<!entity installing SYSTEM "installing.sgml"> <!entity installing SYSTEM "installing.sgml">
<!entity configuring SYSTEM "configuring.sgml"> <!entity configuring SYSTEM "configuring.sgml">
<!entity registry SYSTEM "registry.sgml"> <!entity registry SYSTEM "registry.sgml">
<!entity running SYSTEM "running.sgml">
<!entity bugs SYSTEM "bugs.sgml"> <!entity bugs SYSTEM "bugs.sgml">
<!-- *** Not currently used (???) *** -->
<!entity fonts SYSTEM "fonts.sgml"> <!entity fonts SYSTEM "fonts.sgml">
<!entity printing SYSTEM "printing.sgml"> <!entity printing SYSTEM "printing.sgml">
<!-- *** Entities for Wine Developer Guide *** -->
<!entity compiling SYSTEM "compiling.sgml"> <!entity compiling SYSTEM "compiling.sgml">
<!entity debugging SYSTEM "debugging.sgml"> <!entity debugging SYSTEM "debugging.sgml">
<!entity documentation SYSTEM "documentation.sgml"> <!entity documentation SYSTEM "documentation.sgml">
<!entity patches SYSTEM "patches.sgml"> <!entity patches SYSTEM "patches.sgml">
<!entity i18n SYSTEM "i18n.sgml"> <!entity i18n SYSTEM "i18n.sgml">
<!entity porting SYSTEM "porting.sgml"> <!entity porting SYSTEM "porting.sgml">
<!entity packaging SYSTEM "packaging.sgml">
<!entity architecture SYSTEM "architecture.sgml"> <!entity architecture SYSTEM "architecture.sgml">
<!entity ole SYSTEM "ole.sgml">
<!entity debugger SYSTEM "debugger.sgml"> <!entity debugger SYSTEM "debugger.sgml">
<!entity consoles SYSTEM "consoles.sgml"> <!entity consoles SYSTEM "consoles.sgml">
<!entity implementation SYSTEM "implementation.sgml"> <!entity implementation SYSTEM "implementation.sgml">
...@@ -25,70 +33,95 @@ ...@@ -25,70 +33,95 @@
<!entity build SYSTEM "build.sgml"> <!entity build SYSTEM "build.sgml">
<!entity tools SYSTEM "tools.sgml"> <!entity tools SYSTEM "tools.sgml">
<!entity dlls SYSTEM "dlls.sgml"> <!entity dlls SYSTEM "dlls.sgml">
<!entity status SYSTEM "status.sgml"> <!entity cvs-regression SYSTEM "cvs-regression.sgml">
<!-- *** Entities for Wine Developer Guide *** -->
<!entity winelib-user SYSTEM "winelib-user.sgml">
<!-- *** Entities for Wine Packager Guide *** -->
<!entity packaging SYSTEM "packaging.sgml">
]> ]>
<book id="index"> <set id="index">
<bookinfo> <setinfo>
<title>Wine Documentation</title> <title>Wine Documentation</title>
</bookinfo>
<preface id="preface"> <releaseinfo>
<title>Notes About this Document</title> <emphasis>
<para>
The following documentation has been extracted from the Wine The following documentation has been extracted from the Wine
source tree, from the <filename>wine/documentation</filename> source tree, from the <filename>wine/documentation</filename>
directory. So far, no new content has been added aside from directory. All credit should go to the original authors, who
marking it up for DocBook and a few minor tweaks to smooth are attributed according the the "written by" comments in
that process. All credit should go to the original authors, those files. Additional content has also been added.
who are attributed according the the "written by" comments </emphasis>
in those files. If I've missed anyone, please contact </releaseinfo>
<email>John R. Sheets &lt;jsheets@codeweavers.com></email> </setinfo>
</para>
</preface> <!-- *** Wine User Guide *** -->
<book id="index-user">
<bookinfo>
<title>Wine User Guide</title>
</bookinfo>
<part id="part-one"> &introduction;
<title>Using Wine</title> &getting;
&running;
&installing; &installing;
&configuring; &configuring;
&running;
&bugs; &bugs;
<!--
&fonts; &fonts;
&printing; &printing;
-->
</book>
</part> <!-- *** Wine Developer Guide *** -->
<book id="index-developer">
<bookinfo>
<title>Wine Developer's Guide</title>
</bookinfo>
<part id="part-two"> <part id="part-one">
<title>Developing Wine</title> <title>Developing Wine</title>
&compiling; &compiling;
&debugging; &debugger;
&documentation; &documentation;
&patches; &patches;
&i18n; &i18n;
&porting; &tools;
</part>
<part id="part-three">
<title>Distributing Wine</title>
&packaging;
</part> </part>
<part id="part-four"> <part id="part-two">
<title>Wine Architecture</title> <title>Wine Architecture</title>
&architecture; &architecture;
&debugger; &debugging;
&consoles; &ole;
&implementation;
&opengl; &opengl;
&build; &build;
&tools;
&dlls; &dlls;
</part>
<part>
<title>Advanced Topics</title>
&implementation;
&porting;
&consoles;
&cvs-regression;
</part> </part>
</book> </book>
<!-- *** Winelib User Guide *** -->
&winelib-user;
<!-- *** Wine Packager Guide *** -->
<book id="index-pkg">
<bookinfo>
<title>Wine Packagers Guide</title>
</bookinfo>
&packaging;
</book>
</set>
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY walsh-style PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
<!ENTITY cygnus-style SYSTEM "/usr/lib/sgml/stylesheet/dsssl/docbook/cygnus/cygnus-both.dsl" CDATA DSSSL>
]>
<style-sheet>
<style-specification id="html" use="docbook">
<style-specification-body>
(define %use-id-as-filename% #t)
(define %html-ext% ".shtml")
(define %html-header-tags% '())
(define %stylesheet% "../../winehq.css")
(define %stylesheet-type% "text/css")
(define %shade-verbatim% #t)
(define %section-autolabel% #t)
;; Define new HTML headers
(define ($html-body-start$)
(make sequence
(make formatting-instruction data: "&#60!--")
(literal "#include file=\"header.html\" ")
(make formatting-instruction data: "-->")))
(define ($html-body-end$)
(make sequence
(make formatting-instruction data: "&#60!--")
(literal "#include file=\"footer.html\" ")
(make formatting-instruction data: "-->")))
;; Customize the body tag attributes
(define %body-attr%
(list
(list "BGCOLOR" "#555555")
(list "TEXT" "#000000")
(list "LINK" "#0000FF")
(list "VLINK" "#840084")
(list "ALINK" "#0000FF")))
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="walsh-style">
</style-sheet>
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