Commit 56e6cd0e authored by Andreas Mohr's avatar Andreas Mohr Committed by Alexandre Julliard

- new, much more detailed and easier "step-by-step" layout

- better intro - add Glossary (glossary.sgml) - much better Getting Wine chapter - much better Wine configuration chapter - better Wine drive layer configuration section - explain wineserver cmdline options - rearranged tons of things into a less messy state - tons of janitorial fixes
parent 06a8c120
......@@ -12,9 +12,11 @@ EXTRASUBDIRS = samples status
WINE_USER_SRCS = \
bugs.sgml \
compiling.sgml \
configuring.sgml \
fonts.sgml \
getting.sgml \
glossary.sgml \
installing.sgml \
introduction.sgml \
printing.sgml \
......@@ -24,9 +26,9 @@ WINE_USER_SRCS = \
WINE_DEVEL_SRCS = \
architecture.sgml \
build.sgml \
compiling.sgml \
consoles.sgml \
cvs-regression.sgml \
cvs.sgml \
debugger.sgml \
debugging.sgml \
dlls.sgml \
......
......@@ -948,7 +948,7 @@ child1->popup->child2->child3->wnd1->child4->wnd2->desktop.
<para>
(See also <filename>./DEVELOPER-HINTS</filename> or the
<filename>dlls/</filename> subdirectory to see which DLLs
are currently being rewritten for wine)
are currently being rewritten for Wine)
</para>
<!-- FIXME: Should convert this table into a VariableList element -->
......@@ -959,7 +959,7 @@ AVIFILE.DLL: 32-bit application programming interfaces for the
Audio Video Interleave (AVI) Windows-specific
Microsoft audio-video standard
COMMCTRL.DLL: 16-bit common controls
COMCTL32.DLL: 32-bit common controls
COMCTL32.DLL: 32-bit common controls
COMDLG32.DLL: 32-bit common dialogs
COMMDLG.DLL: 16-bit common dialogs
COMPOBJ.DLL: OLE 16- and 32-bit compatibility libraries
......@@ -980,8 +980,8 @@ IMM32.DLL: 32-bit IMM API
IMGUTIL.DLL:
KERNEL32.DLL 32-bit kernel DLL
KEYBOARD.DLL: Keyboard drivers
LZ32.DLL: 32-bit Lempel-Ziv or LZ file compression
used by the installshields (???).
LZ32.DLL: 32-bit Lempel-Ziv or LZ file compression
used by the installshield installers (???).
LZEXPAND.DLL: LZ file expansion; needed for Windows Setup
MMSYSTEM.DLL: Core of the Windows multimedia system
MOUSE.DLL: Mouse drivers
......
......@@ -2,7 +2,7 @@
<title>Troubleshooting / Reporting bugs</title>
<sect1 id="troubleshooting">
<title>What to do if some program still doesn't work ?</title>
<title>What to do if some program still doesn't work?</title>
<para>
There are times when you've been trying everything, you even killed a cat
......@@ -17,21 +17,9 @@
<title>Run "winecheck" to check your configuration</title>
<para>
Run a Perl script called <command>winecheck</command>, to be
found in Wine's tools/ directory.
The latest version can always be found at
<ulink
url="http://home.arcor.de/andi.mohr/download/winecheck">http://home.arcor.de/andi.mohr/download/winecheck</ulink>.
Make sure to run <command>chmod +x winecheck</command> first before
trying to execute it...
(or alternatively run it via <command>perl ./winecheck</command>)
The winecheck output will be a percentage score indicating Wine
configuration correctness.
Note that winecheck is only alpha, so it's not very complete or
100% accurate.
Run a Perl script called <command>winecheck</command>.
For details, please refer to the <link
linkend="config-verify">Configuration section</link>.
</para>
</sect2>
......@@ -39,7 +27,7 @@
<title>Use different windows version settings</title>
<para>
In several cases using <link linkend="windows-versions">different windows version settings</link> can help.
In several cases using <link linkend="config-windows-versions">different windows version settings</link> can help.
</para>
</sect2>
......@@ -62,7 +50,7 @@
<para>
Run with --debugmsg +loaddll to figure out which DLLs are
being used, and whether they're being loaded as native or
builtin.
built-in.
Then make sure you have proper native DLL files in your
configured C:\windows\system directory and fiddle with DLL
load order settings at command line or in config file.
......@@ -224,7 +212,7 @@
<listitem>
<para>
The name of the Operating system you're using, what distribution (if
any), and what version. (i.e., Linux RedHat 7.2)
any), and what version. (i.e., Linux Red Hat 7.2)
</para>
</listitem>
<listitem>
......
<chapter id="build">
<title>The Wine Build System</title>
<para>How the Wine build system works, and how to tweak it...</para>
<para>FIXME: How the Wine build system works, and how to tweak it...</para>
</chapter>
<!-- Keep this comment at the end of the file
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -58,7 +58,7 @@ cvs -d $CVSROOT checkout wine
<para>
Note also that it is possible to do all this with a direct
CVS connection, of course. The full CVS file method is less
painful for the winehq CVS server and probably a bit faster
painful for the Winehq CVS server and probably a bit faster
if you don't have a very good net connection.
</para>
<note>
......
......@@ -900,7 +900,8 @@ wine -debug myprog.exe
<para>
These are the "normal" Win16 addresses, called SEGPTR.
They have a segment:offset notation, e.g. 0x01d7:0x0012.
The segment part usually is a "selector", which *always*
The segment part usually is a "selector", which
<emphasis>always</emphasis>
has the lowest 3 bits set. Some sample selectors are
0x1f7, 0x16f, 0x8f. If these bits are set except for
the lowest bit, as e.g. with 0x1f6,xi then it might be a
......@@ -1587,7 +1588,7 @@ monitor mem displays memory mapping of debugged process
Even if latest <command>gdb</command> implements the
notion of threads, it won't work with Wine because the
thread abstraction used for implementing Windows' thread
is not 100% mapped onto the linux posix threads
is not 100% mapped onto the Linux POSIX threads
implementation. It means that you'll have to spawn a
different <command>gdb</command> session for each Windows'
thread you wish to debug.
......
<chapter id="dlls">
<title>Wine Builtin DLLs Overview</title>
<para>A more detailed look at Wine's builtin DLLs...</para>
<para>A more detailed look at Wine's built-in DLLs...</para>
<sect1 id="common-controls">
<title>Common Controls</title>
......@@ -22,7 +22,7 @@
<title>1. Introduction</title>
<para>
The information provided herein is based on the dll version
The information provided herein is based on the DLL version
4.72 which is included in MS Internet Explorer 4.01.
</para>
<para>
......@@ -681,7 +681,7 @@
<listitem>
<para>
Development in progress. Basic functionality is
almost done. (dll version 4.0)
almost done. (DLL version 4.0)
</para>
</listitem>
</varlistentry>
......
......@@ -622,10 +622,10 @@ BOOL WINAPI PathRelativePathToA(
<title>Writing Documentation with DocBook</title>
<para>
DocBook is a flavor of <acronym>SGML</acronym>
DocBook is a flavour of <acronym>SGML</acronym>
(<firstterm>Standard Generalized Markup
Language</firstterm>), a syntax for marking up the contents
of documents. HTML is another very common flavor of SGML;
of documents. HTML is another very common flavour of SGML;
DocBook markup looks very similar to HTML markup, although
the names of the markup tags differ.
</para>
......@@ -636,16 +636,16 @@ BOOL WINAPI PathRelativePathToA(
<para>
The simple answer to that is that SGML allows you
to create multiple formats of a given document from a single
source. Currently it is used to create html, pdf and PS (PostScript)
versions of the Wine books.
source. Currently it is used to create HTML, PDF and PS
(PostScript) versions of the Wine books.
</para>
</note>
<note>
<title>What do I need?</title>
<para>
You need the sgml tools. There are various places where you
can get them. The most generic way of geting them is from their
You need the SGML tools. There are various places where you
can get them. The most generic way of getting them is from their
source as discussed below.
</para>
</note>
......@@ -653,7 +653,7 @@ BOOL WINAPI PathRelativePathToA(
<note>
<title>Quick instructions</title>
<para>
These are the basic steps to create the Wine books from the sgml source.
These are the basic steps to create the Wine books from the SGML source.
</para>
</note>
......@@ -693,7 +693,7 @@ BOOL WINAPI PathRelativePathToA(
</orderedlist>
</sect3>
</sect3>
<sect3>
<title>Getting SGML for various distributions</title>
......@@ -706,11 +706,11 @@ BOOL WINAPI PathRelativePathToA(
</para>
<sect4>
<title>SGML on Redhat</title>
<title>SGML on Red Hat</title>
<para>
The following packages seems to be sufficient for RedHat 7.1. You
The following packages seem to be sufficient for Red Hat 7.1. You
will want to be careful about the order in which you install the
rpms.
RPMs.
<itemizedlist>
<listitem><para>sgml-common-*.rpm</para></listitem>
<listitem><para>openjade-*.rpm</para></listitem>
......@@ -728,12 +728,23 @@ BOOL WINAPI PathRelativePathToA(
<sect4>
<title>SGML on Debian</title>
<note>
<title>Fix me</title>
<para>
List package names and install locations...
This is not a definitive listing yet, but it seems
you might need the following packages:
<itemizedlist>
<listitem><para>docbook</para></listitem>
<listitem><para>docbook-dsssl</para></listitem>
<listitem><para>docbook-utils</para></listitem>
<listitem><para>docbook-xml</para></listitem>
<listitem><para>docbook-xsl</para></listitem>
<listitem><para>sgml-base</para></listitem>
<listitem><para>sgml-data</para></listitem>
<listitem><para>tetex-base</para></listitem>
<listitem><para>tetex-bin</para></listitem>
<listitem><para>jade</para></listitem>
<listitem><para>jadetex</para></listitem>
</itemizedlist>
</para>
</note>
</sect4>
<sect4>
......@@ -856,7 +867,7 @@ BOOL WINAPI PathRelativePathToA(
The final term you'll need to know when writing simple
DocBook documents is the <acronym>DTD</acronym>
(<firstterm>Document Type Declaration</firstterm>). The
DTD defines the flavor of SGML a given document is written
DTD defines the flavour of SGML a given document is written
in. It lists all the legal tag names, like <sgmltag
class="starttag">book</sgmltag>, <sgmltag
class="starttag">para</sgmltag>, and so on, and declares
......@@ -1700,7 +1711,7 @@ BOOL WINAPI PathRelativePathToA(
<sect3 id="docbook-infrastructure">
<title>Basic Infrastructure</title>
<para>
How the build/make system works (makefiles, db2html,
FIXME: How the build/make system works (makefiles, db2html,
db2html-winehq, jade, stylesheets).
</para>
</sect3>
......@@ -1708,7 +1719,7 @@ BOOL WINAPI PathRelativePathToA(
<sect3 id="docbook-tweaking">
<title>Tweaking the DSSSL stylesheets</title>
<para>
Things you can tweak, and how to do it (examples from
FIXME: Things you can tweak, and how to do it (examples from
default.dsl and winehq.dsl).
</para>
</sect3>
......@@ -1716,7 +1727,7 @@ BOOL WINAPI PathRelativePathToA(
<sect3 id="docbook-generating">
<title>Generating docs for Wine web sites</title>
<para>
Explain make_winehq, rsync, etc.
FIXME: Explain make_winehq, rsync, etc.
</para>
</sect3>
</sect2>
......
......@@ -1124,7 +1124,7 @@ wine
<answer>
<para>
Make sure you have all the VB runtime libraries installed. You may
need to use the native dll vbrun60.dll
need to use the native DLL vbrun60.dll
</para>
</answer>
</qandaentry>
......
<sect1 id="fonts">
<sect1 id="config-fonts-main">
<title>Dealing with Fonts</title>
<sect2 id="windows-fonts">
<sect2 id="config-windows-fonts">
<title>Fonts</title>
<para>
......@@ -64,7 +64,7 @@
of the new fonts. You may also or instead have to restart
the font server (using e.g.
<command>/etc/init.d/xfs restart</command>
under RedHat 7.1)
under Red Hat 7.1)
</para>
</listitem>
<listitem>
......
<glossary>
<title>Glossary</title>
<!--
EXAMPLE:
<glossdiv>
<title>test</title>
<glossentry sortas="rme">
<glossterm id="bad_mistake">Very Stupid Mistake</glossterm>
<glosssee>things_to_avoid</glosssee>
<acronym>VSM</acronym>
<abbrev>Doh!</abbrev>
<glossseealso otherterm="accident">
<glossdef>
<para>Something you should try to avoid at all costs.</para>
</glossdef>
</glossentry>
</glossdiv>
-->
<glossdiv>
<title></title>
<glossentry>
<glossterm>Binary</glossterm>
<glossdef>
<para>
A file which is in machine executable, compiled form: hex data (as opposed to a source code file).
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>CVS</glossterm>
<glossdef>
<para>
Concurrent Versions System, a software package to manage software development done by several people. See the CVS chapter in the Wine Developers Guide for detailed usage information.
</glossdef>
</glossentry>
<glossentry>
<glossterm>Distribution</glossterm>
<glossdef>
<para>
A distribution is usually the way in which some "vendor" ships operating system CDs (usually mentioned in the context of Linux).
A Linux environment can be shipped in lots of different configurations: e.g. distributions could be built to be suitable for games, scientific
applications, server operation, desktop systems, etc.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>DLL</glossterm>
<glossdef>
<para>
A DLL (Dynamic Link Library) is a file that can be loaded and executed by programs dynamically. Basically it's an external code repository for programs.
Since usually several different programs reuse the same DLL instead of having that code in their own file, this dramatically reduces required storage space.
A synonym for a DLL would be library.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Editor</glossterm>
<glossdef>
<para>
An editor is usually a program to create or modify text files.
There are various graphical and text mode editors available on
Linux.
</para>
<para>
Examples of graphical editors are: nedit, gedit, kedit, xemacs,
gxedit.
</para>
<para>
Examples of text mode editors are: joe, ae, emacs, vim, vi.
In a <glossterm>terminal</glossterm>, simply run them via:
</para>
<screen>
<prompt>$ </><userinput><replaceable>editorname</replaceable>
<replaceable>filename</replaceable></>
</screen>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Environment variable</glossterm>
<glossdef>
<para>
Environment variables are text definitions used in a <glossterm>Shell</glossterm> to store important system settings.
In a <command>bash</command> shell (the most commonly used one in Linux),
you can view all environment variables by executing:
</para>
<screen>
<userinput>set</userinput>
</screen>
<para>
If you want to change an environment variable, you could run:
</para>
<screen>
<userinput>export <replaceable>MYVARIABLE</>=<replaceable>mycontent</></userinput>
</screen>
<para>
For deleting an environment variable, use:
</para>
<screen>
<userinput>unset <replaceable>MYVARIABLE</></userinput>
</screen>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Package</glossterm>
<glossdef>
<para>
A package is a compressed file in a
<glossterm>distribution</glossterm> specific format. It contains the
files for a particular program you want to install. Packages are
usually installed via the <command>dpkg</command> or
<command>rpm</command> package managers.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>root</glossterm>
<glossdef>
<para>
root is the account name of the system administrator.
In order to run programs as root, simply open a
<glossterm>Terminal</glossterm> window, then run:
</para>
<screen>
<prompt>$ </><userinput>su -</>
</screen>
<para>
This will prompt you for the password of the root user of your system,
and after that you will be able to system administration tasks
that require special root privileges. The root account is indicated by the
</para>
<screen>
<prompt># </>
</screen>
<para>
prompt, whereas '$' indicates a normal user account.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Shell</glossterm>
<glossdef>
<para>
A shell is a tool to enable users to interact with the
system. Usually shells are text based and command line oriented.
Examples of popular shells include <command>bash</command>,
<command>tcsh</command> and <command>ksh</command>. Wine assumes
that for Wine installation tasks, you use <command>bash</command>,
since this is the most popular shell on Linux.
Shells are usually run in a <glossterm>Terminal</glossterm> window.
</para>
<!-- <glossseealso otherterm="Terminal"> -->
</glossdef>
</glossentry>
<glossentry>
<glossterm>Source code</glossterm>
<glossdef>
<para>
Source code is the code that a program consists of before the program
is being compiled, i.e. it's the original building instructions of a
program that tell a compiler what the program should look like once
it's been compiled to a <glossterm>Binary</glossterm>.
</para>
</glossdef>
</glossentry>
<glossentry>
<glossterm>Terminal</glossterm>
<glossdef>
<para>
A terminal window is usually a graphical window that one uses to
execute a <command>Shell</command>. If Wine asks you to open a
terminal, then you usually need to click on an icon on your desktop
that shows a big black window (or, in other cases, an icon displaying a
maritime shell).
Wine assumes you're using the <command>bash</command> shell in a
terminal window, so if your terminal happens to use a different
shell program, simply type:
</para>
<screen>
<userinput>bash</>
</screen>
<para>
in the terminal window.
</para>
</glossdef>
</glossentry>
</glossary>
......@@ -23,7 +23,7 @@
<para>
This is the way to do some initializing when a process or
thread is attached to the dll. The function name is taken
thread is attached to the DLL. The function name is taken
from a <filename>*.spec</filename> file line:
</para>
<programlisting>
......
......@@ -1613,21 +1613,20 @@ die folgenden Programme und Dateien installiert sein:
Damit auch von 32bit Programmen aus gedruckt werden kann, ist es
notwendig, einige Einträge in der Registratur vorzunehmen. Diese
Einträge sind in der Datei psdrv.reg im Unterverzeichnis
documentation des WINE-Quellcodeverzeichnisses vorhanden und lassen
sich mit dem Programm regapi, welches sich im Unterverzeichnis
programs/regapi des Quellcodeverzeichnisses befindet,
importieren. Falls noch nicht geschehen, ist regapi dazu zunächst zu
übersetzen. Zu diesem Zweck ist in das Verzeichnis programs/regapi
Einträge sind in der Datei winedefault.reg im Wine-Hauptverzeichnis
vorhanden und lassen sich mit dem Programm regedit, welches sich im
Unterverzeichnis programs/regedit des Quellcodeverzeichnisses befindet,
importieren. Falls noch nicht geschehen, ist regedit dazu zunächst zu
übersetzen. Zu diesem Zweck ist in das Verzeichnis programs/regedit
zu wechseln und dort der Befehl make einzugeben (dies setzt
voraus, dass WINE bereits erfolgreich übersetzt wurde). Danach
können die erforderlichen Schlüssel durch die Eingabe des folgenden
Befehls importiert werden:
./regapi setValue < ../../documentation/psdrv.reg
./regedit ../../winedefault.reg
Achtung:
Bei dem Programm regapi handelt es sich um ein sogenanntes
Bei dem Programm regedit handelt es sich um ein sogenanntes
WineLib-Programm. Solche Programme benutzen WINE, um
Windows-spezifische Funktionen verwenden zu können. Damit sie
ausgeführt werden können, muss bereits eine funktionsfähige
......
......@@ -801,7 +801,7 @@
<para>
MCI drivers are seen as regular Wine modules, and can be loaded (with
a correct load order between built-in, native, elfdll, so), as any
a correct load order between builtin, native, so), as any
other DLL. Please note, that MCI drivers module names must bear the
.drv extension to be correctly understood.
</para>
......@@ -911,7 +911,7 @@
<title>MMIO</title>
<para>
The API consists of the mmio* functions found in mdlls/winmm/mmio.c.
The API consists of the mmio* functions found in dlls/winmm/mmio.c.
Seems to work ok in most of the cases. There's some linear/segmented
issues with 16 bit code. There are also some bugs when writting MMIO
files.
......
......@@ -142,7 +142,8 @@
</para>
<para>
The initial installation should require no user
input. An rpm -i wine.rpm or apt-get install wine
input. An <command>rpm -i wine.rpm</command>
or <command>apt-get install wine</command>
should suffice for initial installation.
</para>
</listitem>
......@@ -1529,7 +1530,7 @@ WINE REGISTRY Version 2
; Be careful here, wrong DllOverrides settings have the potential
; to pretty much kill your setup.
[DllOverrides]
; some dlls you may want to change
; some DLLs you may want to change
"oleaut32" = "builtin, native"
"ole32" = "builtin, native"
"commdlg" = "builtin, native"
......@@ -1548,7 +1549,7 @@ WINE REGISTRY Version 2
;"*notepad.exe" = "native, builtin"
; this one will apply only for a particular file
;"C:\\windows\\regedit.exe" = "native, builtin"
; default for all other dlls
; default for all other DLLs
"*" = "builtin, native"
[x11drv]
......@@ -1776,7 +1777,7 @@ WINE REGISTRY Version 2
<chapter id="pkg-implementation"> <title>Implementation</title>
<sect1 id="pkg-openlinux"><title>RedHat 8.0 Sample</title>
<sect1 id="pkg-openlinux"><title>Red Hat 8.0 Sample</title>
<orderedlist inheritnum="inherit">
<listitem>
......@@ -1808,7 +1809,7 @@ make install prefix=$BR/usr/X11R6/ sysconfdir=$BR/etc/wine/
install -d $BR/etc/wine/
install -m 644 wine.ini $BR/etc/wine/wine.conf
# Put all our dlls in a seperate directory. (this works only if
# Put all our DLLs in a seperate directory. (this works only if
# you have a buildroot)
install -d $BR/usr/X11R6/lib/wine
mv $BR/usr/X11R6/lib/lib* $BR/usr/X11R6/lib/wine/
......@@ -2095,7 +2096,7 @@ Path=/
</orderedlist>
<sect2 id=sample><title>Sample RedHat 8.0 .spec file for review purposes</title>
<sect2 id=sample><title>Sample Red Hat 8.0 .spec file for review purposes</title>
<programlisting>
......@@ -2224,7 +2225,7 @@ touch $RPM_BUILD_ROOT%{_datadir}/wine-c/config.sys
touch $RPM_BUILD_ROOT%{_datadir}/wine-c/windows/win.ini
install -c -m 0644 documentation/samples/system.ini $RPM_BUILD_ROOT%{_datadir}/wine-c/windows/system.ini
cat >RedHat &lt;&lt;EOF
cat >Red Hat &lt;&lt;EOF
Wine directory structure used in Red Hat Linux:
===============================================
......
<sect1 id="printing">
<sect1 id="config-printing">
<title>Printing in Wine</title>
<para>How to print documents in Wine...</para>
<sect2 id="wine-printing">
<sect2 id="config-printing-intro">
<title>Printing</title>
<para>
......@@ -18,7 +18,7 @@
<orderedlist>
<listitem>
<para>
Use the builtin Wine PostScript driver (+ ghostscript to produce
Use the built-in Wine PostScript driver (+ ghostscript to produce
output for non-PostScript printers).
</para>
</listitem>
......@@ -34,7 +34,7 @@
</para>
<sect3>
<title>Builtin Wine PostScript driver</title>
<title>Built-in Wine PostScript driver</title>
<para>
Enables printing of PostScript files via a driver built into Wine. See
below for installation instructions. The code for the PostScript
......@@ -49,6 +49,7 @@
</para>
</sect3>
<!--
<sect3>
<title>External printer drivers (non-working as of Jul 8, 01)</title>
<para>
......@@ -71,6 +72,7 @@ printer=on
the driver interface is in <filename>graphics/win16drv</filename>.
</para>
</sect3>
-->
<sect3>
<title>Spooling</title>
......@@ -101,7 +103,7 @@ printer=on
</sect3>
</sect2>
<sect2 id="psdriver">
<sect2 id="config-printing-psdriver">
<title>The Wine PostScript Driver</title>
<para>
......@@ -182,31 +184,31 @@ printer=on
</para>
<para>
You also need to add certain entries to the registry.
The easiest way to do this is to customise the contents of
<filename>documentation/psdrv.reg</filename> (see below) and use the
Winelib program <command>programs/regapi/regapi</command>. For
The easiest way to do this is to customise the PostScript
driver contents of <filename>winedefault.reg</filename> (see below) and use the
Winelib program <command>programs/regedit/regedit</command>. For
example, if you have installed the Wine source tree in
<filename>/usr/src/wine</filename>, you could use the following
series of commands:
<itemizedlist>
<listitem>
<para>
<userinput>cp /usr/src/wine/documentation/psdrv.reg ~</userinput>
<userinput>cp /usr/src/wine/winedefault.reg ~</userinput>
</para>
</listitem>
<listitem>
<para><userinput>vi ~/psdrv.reg</userinput></para>
<para><userinput>vi ~/winedefault.reg</userinput></para>
</listitem>
<listitem>
<para>
Edit the copy of <filename>psdrv.reg</filename> to suit your
requirements. At a minimum, you must specify a PPD file for
each printer.
Edit the copy of <filename>winedefault.reg</filename> to suit your
PostScript printing requirements.
At a minimum, you must specify a PPD file for each printer.
</para>
</listitem>
<listitem>
<para>
<userinput>regapi setValue &lt; ~/psdrv.reg</userinput>
<userinput>regedit ~/winedefault.reg</userinput>
</para>
</listitem>
</itemizedlist>
......@@ -217,7 +219,7 @@ printer=on
<para>
You won't need Adobe Font Metric (AFM) files for the (type 1 PostScript)
fonts that you wish to use any more.
Wine now has this information builtin.
Wine now has this information built-in.
</para>
<para>
You'll need a PPD file for your printer. This describes
......@@ -239,7 +241,7 @@ printer=on
Note that you need not set <literal>printer=on</literal> in
the [wine] section of the wine config file, this
enables printing via external printer drivers and does not
affect the builtin PostScript driver.
affect the built-in PostScript driver.
</para>
<para>
If you're lucky you should now be able to produce PS files
......
<sect1 id="registry">
<title>The Registry</title>
<para>
written by Ove Kåven
</para>
<para>
(Extracted from <filename>wine/documentation/registry</filename>)
</para>
<para>
Originally written by Ove Kåven
</para>
<para>
After Win3.x, the registry became a fundamental part of Windows.
......@@ -19,6 +16,72 @@
</para>
<sect2>
<title>The default registry</title>
<para>
A Windows registry contains many keys by default, and some of
them are necessary for even installers to operate correctly.
The keys that the Wine developers have found necessary to
install applications are distributed in a file called
<filename>winedefault.reg</filename>. It is automatically
installed for you if you use the
<filename>tools/wineinstall</filename> script in the Wine source,
but if you want to install it manually, you can do so by using the
<command>regedit</command> tool to be found in the
<filename>programs/regedit/</filename>
directory in Wine source.
<filename>winedefault.reg</filename> should even be applied if
you plan to use a native Windows registry, since Wine needs some
specific registry settings in its registry (for special
workarounds for certain programs etc.).
In the main Wine source code directory in a <glossterm>terminal</glossterm>, run:
</para>
<screen>
<prompt>$ </><userinput>cd programs/regedit</>
<prompt>$ </><userinput>./regedit ../../winedefault.reg</>
</screen>
</sect2>
<sect2>
<title>Using a Windows registry</title>
<para>
If you point Wine at an existing Windows installation (by
setting the appropriate directories in
<filename>~/.wine/config</filename>, then Wine is able to load
registry data from it. However, Wine will not save anything to
the real Windows registry, but rather to its own registry
files (see below). Of course, if a particular registry value
exists in both the Windows registry and in the Wine registry,
then Wine will use the latter. In the Wine config file, there
are a number of configuration settings in the [registry] section
(see below) specific to the handling of Windows registry content by Wine.
</para>
<para>
Occasionally, Wine may have trouble loading the Windows
registry. Usually, this is because the registry is
inconsistent or damaged in some way. If that becomes a
problem, you may want to download the
<filename>regclean.exe</filename> from the MS website and use
it to clean up the registry. Alternatively, you can always use
<filename>regedit.exe</filename> to export the registry data
you want into a text file, and then import it in Wine.
</para>
</sect2>
<sect2>
<title>The Registry</title>
<para>
The initial default registry content to be used by the Wine
registry files is in the file
<filename>winedefault.reg</filename>. It contains directory
paths, class IDs, and more; it must be installed before most
<filename>INSTALL.EXE</filename> or
<filename>SETUP.EXE</filename> applications will work.
</para>
</sect2>
<sect2>
<title>Registry structure</title>
<para>
......@@ -76,31 +139,6 @@
</sect2>
<sect2>
<title>Using a Windows registry</title>
<para>
If you point Wine at an existing MS Windows installation (by
setting the appropriate directories in
<filename>~/.wine/config</filename>, then Wine is able to load
registry data from it. However, Wine will not save anything to
the real Windows registry, but rather to its own registry
files (see below). Of course, if a particular registry value
exists in both the Windows registry and in the Wine registry,
then Wine will use the latter.
</para>
<para>
Occasionally, Wine may have trouble loading the Windows
registry. Usually, this is because the registry is
inconsistent or damaged in some way. If that becomes a
problem, you may want to download the
<filename>regclean.exe</filename> from the MS website and use
it to clean up the registry. Alternatively, you can always use
<filename>regedit.exe</filename> to export the registry data
you want into a text file, and then import it in Wine.
</para>
</sect2>
<sect2>
<title>Wine registry data files</title>
<para>
......@@ -153,7 +191,7 @@
them, otherwise your changes will be discarded).
</para>
<para>
FIXME: global config currently not implemented.
FIXME: global configuration currently not implemented.
In addition to these files, Wine can also optionally load from
global registry files residing in the same directory as the
......@@ -229,30 +267,11 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
</sect2>
<sect2>
<title>The default registry</title>
<para>
A Windows registry contains many keys by default, and some of
them are necessary for even installers to operate correctly.
The keys that the Wine developers have found necessary to
install applications are distributed in a file called
<filename>winedefault.reg</filename>. It is automatically
installed for you if you use the
<filename>tools/wineinstall</filename> script in the Wine source,
but if you want to install it manually, you can do so by using the
<command>regedit</command> tool to be found in the
<filename>programs/regedit/</filename>
directory in Wine source.
</para>
</sect2>
<sect2>
<title>The [registry] section</title>
<para>
With the above information fresh in mind, let's look at the
<filename>wine.conf</filename> / <filename>~/.wine/config</filename>
options for handling the registry.
Now let's look at the <link linkend="config-file">Wine
configuration file</link> options for handling the registry.
</para>
<variablelist>
......
......@@ -6,24 +6,36 @@
</para>
<para>
Extended by &name-mike-hearn; <email>&email-mike-hearn;</email>, &name-eric-pouech; <email>&email-eric-pouech;</email>
Modified by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
</para>
<para>
This chapter will describe all aspects of running Wine, like e.g.
basic Wine invocation, command line parameters of various Wine
support programs etc.
</para>
<sect1 id="basic-usage">
<title>Basic usage: applications and control panel applets</title>
<para>
Assuming you are using a fake windows installation, you install
applications into Wine in the same way you would in Windows:
by running the installer. You can just accept the defaults
for where to install, most installers will default to "C:\Program Files",
which is fine. If the application installer requests it, you may find that
Wine creates icons on your desktop and in your app menu. If that happens, you
can start the app by clicking on them.
Assuming you are using a fake Windows installation, you install
applications into Wine in the same way you would in Windows: by
running the installer. You can just accept the defaults for
where to install, most installers will default to "C:\Program
Files", which is fine. If the application installer requests it,
you may find that Wine creates icons on your desktop and in your
app menu. If that happens, you can start the app by clicking on
them.
</para>
<para>
The standard way to uninstall things is for the application to provide an
uninstaller, usually registered with the "Add/Remove Programs" control panel
applet. To access the Wine equivalent, run the "uninstaller" program:
The standard way to uninstall things is for the application to
provide an uninstaller, usually registered with the "Add/Remove
Programs" control panel applet.
To access the Wine equivalent, run the <command>uninstaller</command>
program (it is located in the
<filename>programs/uninstaller/</filename> directory in a Wine
source directory) in a <glossterm>terminal</glossterm>:
</para>
<screen>
......@@ -31,8 +43,10 @@
</screen>
<para>
Some programs install associated control panel applets, examples of this would be
Internet Explorer and QuickTime. You can access the Wine control panel by running:
Some programs install associated control panel applets, examples
of this would be Internet Explorer and QuickTime. You can access
the Wine control panel by running in a
<glossterm>terminal</glossterm>:
</para>
<screen>
......@@ -40,12 +54,14 @@
</screen>
<para>
which will open a window with the installed control panel applets in it, as in Windows.
which will open a window with the installed control panel
applets in it, as in Windows.
</para>
<para>
If the application doesn't install menu or desktop items, you'll need to run the app
from the command line. Remembering where you installed to, something like:
If the application doesn't install menu or desktop items, you'll
need to run the app from the command line. Remembering where you
installed to, something like:
</para>
<screen>
......@@ -53,9 +69,11 @@
</screen>
<para>
will probably do the trick. The path isn't case sensitive, but remember to include the double quotes.
Some programs don't always use obvious naming for their directories and EXE files, so you might have
to look inside the program files directory to see what it put where
will probably do the trick. The path isn't case sensitive, but
remember to include the double quotes. Some programs don't
always use obvious naming for their directories and EXE files,
so you might have to look inside the program files directory to
see what it put where
</para>
</sect1>
......@@ -65,7 +83,7 @@
Wine is a very complicated piece of software with many ways to
adjust how it runs. With very few exceptions, you can
activate the same set of features through the <link
linkend="configuring">configuration file </link> as you can
linkend="config-file">configuration file</link> as you can
with command-line parameters. In this chapter, we'll briefly
discuss these parameters, and match them up with their
corresponding configuration variables.
......@@ -132,8 +150,23 @@ Options:
</para>
</sect1>
<sect1>
<title>Explorer-like graphical Wine environments</title>
<para>
If you don't feel like manually invoking Wine for every program
you want to run and instead want to have an integrated graphical
interface to run your Windows programs in, then installing e.g.
<ulink url="http://www.calmira.org">Calmira</ulink>, a
Win95-Explorer-like shell replacement, would probably be a great
idea. Calmira might still have a few problems running on Wine,
though. Other usable Explorer replacements should be listed here
in the future.
</para>
</sect1>
<sect1 id="command-line-options">
<title>Command-Line Options</title>
<title>Wine Command Line Options</title>
<sect2 id="config-parameter">
<title>--debugmsg [channels]</title>
......@@ -208,9 +241,9 @@ Options:
<prompt>$</prompt> <userinput>wine --debugmsg +all,-relay <replaceable>program_name</replaceable></userinput>
</screen>
<para>
Here is a master list of all the debug channels and classes
in Wine. More channels will be added to (or subtracted
from) later versions.
Here is a list of the debug channels and classes in Wine.
More channels will be added to (or subtracted from) later
versions.
</para>
<table frame="none"><title>Debug Channels</title>
......@@ -305,7 +338,7 @@ winspool</><entry>wnet</><entry>x11</>
<screen>
<prompt>$</prompt> <userinput>wine --dll setupx=n foo.exe</userinput>
</screen>
See the <link linkend="dll-config">DLL chapter</link> for more details.
See the <link linkend="config-dll">DLL chapter</link> for more details.
</para>
</sect2>
......@@ -324,6 +357,66 @@ winspool</><entry>wnet</><entry>x11</>
</sect2>
</sect1>
<sect1 id="wineserver-command-line-options">
<title>wineserver Command Line Options</title>
<para>
wineserver usually gets started automatically by Wine whenever
the first wine process gets started.
However, wineserver has some useful command line options that
you can add if you start it up manually, e.g. via a user login
script or so.
</para>
<sect2 id="wineserver-config-parameter">
<title>-d&lt;n&gt;</title>
<para>
Sets the debug level for debug output in the terminal that
wineserver got started in at level &lt;n&gt;.
In other words: everything greater than 0 will enable
wineserver specific debugging output (not to confuse with Wine's wineserver logging channel, --debugmsg +server, though!).
</para>
</sect2>
<sect2>
<title>-h</title>
<para>
Display wineserver command line options help message.
</para>
</sect2>
<sect2>
<title>-k[n]</title>
<para>
Kill the current wineserver, optionally with signal n.
</para>
</sect2>
<sect2>
<title>-p[n]</title>
<para>
This parameter makes wineserver persistent, optionally for n
seconds. It will prevent wineserver from shutting down immediately.
</para>
<para>
Usually, wineserver quits almost immediately after the last
wine process using this wineserver terminated.
However, since wineserver loads a lot of things on startup
(such as the whole Windows registry data), its startup might
be so slow that it's very useful to keep it from exiting after
the end of all Wine sessions, by making it persistent.
</para>
</sect2>
<sect2>
<title>-w</title>
<para>
This parameter makes a newly started wineserver wait until the
currently active wineserver instance terminates.
</para>
</sect2>
</sect1>
<sect1 id="environment-variables">
<title>Setting Windows/DOS environment variables</title>
<para>
......
......@@ -4,26 +4,28 @@
<!entity % authors SYSTEM "authors.ent">
%authors;
<!entity compiling SYSTEM "compiling.sgml">
<!entity debugging SYSTEM "debugging.sgml">
<!entity debugger SYSTEM "debugger.sgml">
<!entity documentation SYSTEM "documentation.sgml">
<!entity testing SYSTEM "testing.sgml">
<!entity patches SYSTEM "patches.sgml">
<!entity testing SYSTEM "testing.sgml">
<!entity i18n SYSTEM "i18n.sgml">
<!entity porting SYSTEM "porting.sgml">
<!entity tools SYSTEM "tools.sgml">
<!entity architecture SYSTEM "architecture.sgml">
<!entity dlls SYSTEM "dlls.sgml">
<!entity debugging SYSTEM "debugging.sgml">
<!entity ole SYSTEM "ole.sgml">
<!entity debugger SYSTEM "debugger.sgml">
<!entity consoles SYSTEM "consoles.sgml">
<!entity implementation SYSTEM "implementation.sgml">
<!entity opengl SYSTEM "opengl.sgml">
<!entity build SYSTEM "build.sgml">
<!entity tools SYSTEM "tools.sgml">
<!entity dlls SYSTEM "dlls.sgml">
<!entity cvs-regression SYSTEM "cvs-regression.sgml">
<!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">
<!entity cvs-regression SYSTEM "cvs-regression.sgml">
<!--
<!entity status SYSTEM "status.sgml">
-->
......@@ -37,11 +39,10 @@
<part id="part-one">
<title>Developing Wine</title>
&compiling;
&debugger;
&documentation;
&testing;
&patches;
&testing;
&i18n;
&tools;
</part>
......@@ -50,15 +51,20 @@
<title>Wine Architecture</title>
&architecture;
&dlls;
&debugging;
&ole;
&opengl;
&build;
&dlls;
&opengl;
&multimedia;
</part>
<part id="part-three">
<title>Using CVS</title>
&cvs;
</part>
<part id="part-four">
<title>Advanced Topics</title>
&implementation;
&porting;
......
......@@ -7,6 +7,7 @@
<!-- *** Entities for Wine User Guide *** -->
<!entity introduction SYSTEM "introduction.sgml">
<!entity getting SYSTEM "getting.sgml">
<!entity compiling SYSTEM "compiling.sgml">
<!entity installing SYSTEM "installing.sgml">
<!entity configuring SYSTEM "configuring.sgml">
<!entity registry SYSTEM "registry.sgml">
......@@ -14,26 +15,27 @@
<!entity printing SYSTEM "printing.sgml">
<!entity running SYSTEM "running.sgml">
<!entity bugs SYSTEM "bugs.sgml">
<!entity glossary SYSTEM "glossary.sgml">
<!-- *** Entities for Wine Developer Guide *** -->
<!entity compiling SYSTEM "compiling.sgml">
<!entity debugging SYSTEM "debugging.sgml">
<!entity debugger SYSTEM "debugger.sgml">
<!entity documentation SYSTEM "documentation.sgml">
<!entity testing SYSTEM "testing.sgml">
<!entity patches SYSTEM "patches.sgml">
<!entity testing SYSTEM "testing.sgml">
<!entity i18n SYSTEM "i18n.sgml">
<!entity porting SYSTEM "porting.sgml">
<!entity tools SYSTEM "tools.sgml">
<!entity architecture SYSTEM "architecture.sgml">
<!entity dlls SYSTEM "dlls.sgml">
<!entity debugging SYSTEM "debugging.sgml">
<!entity ole SYSTEM "ole.sgml">
<!entity debugger SYSTEM "debugger.sgml">
<!entity consoles SYSTEM "consoles.sgml">
<!entity implementation SYSTEM "implementation.sgml">
<!entity opengl SYSTEM "opengl.sgml">
<!entity build SYSTEM "build.sgml">
<!entity tools SYSTEM "tools.sgml">
<!entity dlls SYSTEM "dlls.sgml">
<!entity cvs-regression SYSTEM "cvs-regression.sgml">
<!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">
<!entity cvs-regression SYSTEM "cvs-regression.sgml">
<!-- *** Entities for Winelib User Guide *** -->
<!entity winelib-intro SYSTEM "winelib-intro.sgml">
......@@ -43,7 +45,7 @@
<!entity winelib-bindlls SYSTEM "winelib-bindlls.sgml">
<!entity winelib-packaging SYSTEM "winelib-pkg.sgml">
<!-- *** Entities for Wine Packager Guide *** -->
<!-- *** Entities for Wine Packagers Guide *** -->
<!entity packaging SYSTEM "packaging.sgml">
<!-- *** Entities for Wine FAQ *** -->
......@@ -74,11 +76,12 @@
&introduction;
&getting;
&compiling;
&installing;
&configuring;
&running;
&bugs;
&glossary;
</book>
<!-- *** Wine Developer Guide *** -->
......@@ -89,7 +92,6 @@
<part id="part-one">
<title>Developing Wine</title>
&compiling;
&debugger;
&documentation;
&testing;
......@@ -101,15 +103,20 @@
<part id="part-two">
<title>Wine Architecture</title>
&architecture;
&dlls;
&debugging;
&ole;
&opengl;
&build;
&dlls;
&opengl;
&multimedia;
</part>
<part>
<part id="part-three">
<title>Using CVS</title>
&cvs;
</part>
<part id="part-four">
<title>Advanced Topics</title>
&implementation;
&porting;
......
......@@ -6,6 +6,7 @@
<!entity introduction SYSTEM "introduction.sgml">
<!entity getting SYSTEM "getting.sgml">
<!entity compiling SYSTEM "compiling.sgml">
<!entity installing SYSTEM "installing.sgml">
<!entity configuring SYSTEM "configuring.sgml">
<!entity registry SYSTEM "registry.sgml">
......@@ -13,6 +14,7 @@
<!entity printing SYSTEM "printing.sgml">
<!entity running SYSTEM "running.sgml">
<!entity bugs SYSTEM "bugs.sgml">
<!entity glossary SYSTEM "glossary.sgml">
]>
<book id="index">
......@@ -22,10 +24,11 @@
&introduction;
&getting;
&compiling;
&installing;
&configuring;
&running;
&bugs;
&glossary;
</book>
<chapter id="bindlls">
<title id="bindlls.title">Using Linux libraries as dlls</title>
<title id="bindlls.title">Using Linux libraries as DLLs</title>
<sect1 id="bindlls-intro">
<title id="binary-dlls-intro.title">Introduction</title>
<para>
......@@ -34,9 +34,9 @@
You need to write a spec file that will describe the library's
interface in the same format as a Dll (primarily what functions it
exports). Also you will want to write a small wrapper around the
library. You combine these to form a Wine builtin Dll that links to the
Linux library. Then you modify the Dll Overrides in the wine config
file to ensure that this new builtin dll is called rather than any
library. You combine these to form a Wine built-in Dll that links to the
Linux library. Then you modify the DllOverrides in the wine config
file to ensure that this new built-in DLL is called rather than any
windows version.
</para>
<para>
......@@ -76,11 +76,11 @@ signed short MyLinuxFunc (unsigned short a, void *b, void *c,
<title id="bindlls-spec.title">Writing the spec file</title>
<para>
Start by writing the spec file. This file will describe the interface
as if it were a dll. See elsewhere for the details of the format of
as if it were a DLL. See elsewhere for the details of the format of
a spec file (e.g. man winebuild).
</para>
<para>
In the simple example we want a Wine builtin Dll that corresponds to
In the simple example we want a Wine built-in Dll that corresponds to
the MyWin Dll. The spec file is <filename>MyWin.dll.spec</filename> and
looks something like this (depending on changes to the way that the
specfile is formatted since this was written).
......@@ -90,7 +90,7 @@ signed short MyLinuxFunc (unsigned short a, void *b, void *c,
#
# some sort of copyright
#
# Wine spec file for the MyWin.dll builtin library (a minimal wrapper around the
# Wine spec file for the MyWin.dll built-in library (a minimal wrapper around the
# linux library libMyLinux)
#
# For further details of wine spec files see the Winelib documentation at
......@@ -200,7 +200,7 @@ signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,
<sect1 id="bindlls-building">
<title id="binary-dlls-building.title">Building</title>
<para>
So how do we actually build the Wine builtin Dll? The easiest way is
So how do we actually build the Wine built-in Dll? The easiest way is
to get Winemaker to do the hard work for us. For the simple example we
have two source files (the wrapper and the spec file). We also have
the 3rd party header and library files of course.
......@@ -258,18 +258,18 @@ signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,
</para>
<para>
Put the proxy shared object (MyWin.dll.so) in the same place as the
rest of the builtin dlls. (If you used winemaker to set up your build
rest of the built-in DLLs. (If you used winemaker to set up your build
environment then running "make install" as root should do that for you)
Alternatively ensure that WINEDLLPATH includes the directory containing
the proxy shared object.
</para>
<para>
If you have both a Windows dll and a Linux Dll/proxy pair then you will
If you have both a Windows DLL and a Linux DLL/proxy pair then you will
have to ensure that the correct one gets called. The easiest way is
probably simply to rename the windows version so that it doesn't get
detected. Alternatively you could specify in the DllOverrides section
(or the AppDefaults\\myprog.exe\\DllOverrides section) of the config
file (in your .wine directory) that the builtin version be used. Note
file (in your .wine directory) that the built-in version be used. Note
that if the Windows version Dll is present and is in the same
directory as the executable (as opposed to being in the Windows
directory) then you will currently need to specify the whole path to
......@@ -293,7 +293,7 @@ signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,
Suppose you want to convert incoming DOS format filenames to their
Unix equivalent. Of course there is no suitable function in the true
Microsoft Windows API, but wine provides a function for just this
task and exports it from its copy of the kernel32 dll. The function
task and exports it from its copy of the kernel32 DLL. The function
is wine_get_unix_file_name (defined in winbase.h). Use the -ikernel32
option to winemaker to link to it.
</para>
......
......@@ -366,7 +366,7 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
<para>
don't use it,
guide on how to replace it with normal C++ code (yes, how???):
extracting a .h and .lib from a COM dll
extracting a .h and .lib from a COM DLL
Can '-fno-rtti' be of some use or even required?
</para>
</sect1>
......
......@@ -59,18 +59,18 @@
files. Let's start with the targets.
</para>
<para>
First are executables and dlls. Each time it finds one of these in
First are executables and DLLs. Each time it finds one of these in
a directory, winemaker puts it in the list of things to build and
will later generate a <filename>Makefile.in</filename> file in this
directory. Note that Winemaker also knows about the commonly used
<filename>Release</filename> and <filename>Debug</filename>
directories, so it will attribute the executables and libraries
found in these to their parent directory. When it finds an
executable or a dll winemaker is happy because these give it more
executable or a DLL winemaker is happy because these give it more
information than the other cases described below.
</para>
<para>
If it does not find any executable or dll winemaker will look for
If it does not find any executable or DLL winemaker will look for
files with a <filename>.mak</filename> extension. If they are not
disguised Visual C++ projects (and currently even if they are),
winemaker will assume that a target by that name should be built
......@@ -156,7 +156,7 @@
<filename>configure.in</filename>,
<filename>Make.rules.in</filename>). From the above description
you can guess at the items that winemaker may get wrong in
this phase: macro definitions, include path, dll path, dlls to
this phase: macro definitions, include path, DLL path, DLLs to
import, library path, libraries to link with. You can deal with
these issues by using winemaker's <option>-D</>, <option>-P</>,
<option>-i</>, <option>-I</>, <option>-L</> and <option>-l</>
......@@ -182,11 +182,11 @@
<itemizedlist>
<listitem>
<para>
The target is not importing the right set of dlls, or is not
The target is not importing the right set of DLLs, or is not
being linked with the right set of libraries. You can avoid
this by using winemaker's <option>-P</>, <option>-i</>,
<option>-L</option> and <option>-l</> options or adding these
dlls and libraries to the <filename>Makefile.in</> file.
DLLs and libraries to the <filename>Makefile.in</> file.
</para>
</listitem>
<listitem>
......@@ -330,7 +330,7 @@ hello_exe_DEPENDS =
</para>
<para>
The <varname>DLLS</> field is where you would enumerate the list of
dlls that executable imports. It should contain the full dll name
DLLs that executable imports. It should contain the full DLL name
including the '.dll' extension, but not the '-l' option.
</para>
<para>
......@@ -601,7 +601,7 @@ hello.spec.c: hello.res
<term>@</term>
<listitem>
<note><para>
FIXME: You must now export functions from dlls.
FIXME: You must now export functions from DLLs.
</para></note>
<para>
This entry is not shown above because it is not always
......@@ -672,7 +672,7 @@ init FUNCTION
</programlisting>
<para>
This field is optional and specific to Win32 modules. It
specifies a function which will be called when the dll is loaded
specifies a function which will be called when the DLL is loaded
or the executable started.
</para>
......
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