From 910e4df2ab12c616ccb13809e3aded20190e8a9e Mon Sep 17 00:00:00 2001
From: Ove Kaaven <ovek@arcticnet.no>
Date: Wed, 7 Jun 2000 04:00:01 +0000
Subject: [PATCH] Text of WWN article "DLL overrides".

---
 documentation/dll-overrides | 216 ++++++++++++++++++++++++++++++++++++
 1 file changed, 216 insertions(+)
 create mode 100644 documentation/dll-overrides

diff --git a/documentation/dll-overrides b/documentation/dll-overrides
new file mode 100644
index 00000000000..16a85096d5b
--- /dev/null
+++ b/documentation/dll-overrides
@@ -0,0 +1,216 @@
+DLL overrides
+-------------
+   
+   The wine.conf directives [DllDefaults] and [DllOverrides] are the
+   subject of some confusion. The overall purpose of most of these
+   directives are clear enough, though - given a choice, should Wine use
+   its own built-in DLLs, or should it use .DLL files found in an
+   existing Windows installation? This document explains how this feature
+   works.
+   
+DLL types
+
+   native
+          A "native" DLL is a .DLL file written for the real Microsoft
+          Windows.
+          
+   builtin
+          A "builtin" DLL is a Wine DLL. These can either be a part of
+          libwine.so, or more recently, in a special .so file that Wine
+          is able to load on demand.
+          
+   elfdll
+          An "elfdll" is a Wine .so file with a special Windows-like file
+          structure that is as close to Windows as possible, and that can
+          also seamlessly link dynamically with "native" DLLs, by using
+          special ELF loader and linker tricks. Bertho Stultiens did some
+          work on this, but this feature has not yet been merged back
+          into Wine (because of political reasons and lack of time), so
+          this DLL type does not exist in the official Wine at this time.
+          In the meantime, the "builtin" DLL type gained some of the
+          features of elfdlls (such as dynamic loading), so it's possible
+          that "elfdll" functionality will be folded into "builtin" at
+          some point.
+          
+   so
+          A native Unix .so file, with calling convention conversion
+          thunks generated on the fly as the library is loaded. This is
+          mostly useful for libraries such as "glide" that has exactly
+          the same API on both Windows and Unix.
+          
+The [DllDefaults] section
+
+   EXTRA_LD_LIBRARY_PATH
+          This specifies the location of the Wine's DLL .so files. Wine
+          will search this path when trying to locate a DLL of the type
+          "builtin" or "elfdll". (This does not apply to libwine.so,
+          since libwine.so is not a DLL in this sense.)
+          
+   DefaultLoadOrder
+          This specifies in what order Wine should search for available
+          DLL types, if the DLL in question was not found in the
+          [DllOverrides] section.
+          
+The [DllPairs] section
+
+   At one time, there was a section called [DllPairs] in the default
+   configuration file, but this has been obsoleted because the pairing
+   information has now been embedded into Wine itself. (The purpose of
+   this section was merely to be able to issue warnings if the user
+   attempted to pair codependent 16-bit/32-bit DLLs of different types.)
+   If you still have this in your wine.conf or .winerc, you may safely
+   delete it.
+   
+The [DllOverrides] section
+
+   This section specifies how you want specific DLLs to be handled, in
+   particular whether you want to use "native" DLLs or not, if you have
+   some from a real Windows configuration. Because builtins do not mix
+   seamlessly with native DLLs yet, certain DLL dependencies may be
+   problematic, but workarounds exist in Wine for many popular DLL
+   configurations. Also see WWN's [16]Status Page to figure out how well
+   your favorite DLL is implemented in Wine.
+   
+   It is of course also possible to override these settings by explictly
+   using Wine's --dll command-line option (see the man page for details).
+   
+   Some hints for choosing your optimal configuration (listed by
+   16/32-bit DLL pair):
+   
+   krnl386, kernel32
+          Native versions of these will never work, so don't try. Leave
+          at builtin.
+          
+   gdi, gdi32
+          Graphics Device Interface. No effort has been made at trying to
+          run native GDI. Leave at builtin.
+          
+   user, user32
+          Window management and standard controls. It was possible to use
+          Win95's native versions at some point (if all other DLLs that
+          depend on it, such as comctl32 and comdlg32, were also run
+          native). However, this is no longer possible after the Address
+          Space Separation, so leave at builtin.
+          
+   ntdll
+          NT kernel API. Although badly documented, the native version of
+          this will never work. Leave at builtin.
+          
+   w32skrnl
+          Win32s (for Win3.x). Native version will probably never work.
+          Leave at builtin.
+          
+   wow32
+          Win16 support library for NT. Native version will probably
+          never work. Leave at builtin.
+          
+   system
+          Win16 kernel stuff. Will never work native. Leave at builtin.
+          
+   display
+          Display driver. Definitely leave at builtin.
+          
+   toolhelp
+          Tool helper routines. This is rarely a source of problems.
+          Leave at builtin.
+          
+   ver, version
+          Versioning. Seldom useful to mess with.
+          
+   advapi32
+          Registry and security features. Trying the native version of
+          this may or may not work.
+          
+   commdlg, comdlg32
+          Common Dialogs, such as color picker, font dialog, print
+          dialog, open/save dialog, etc. It is safe to try native.
+          
+   commctrl, comctl32
+          Common Controls. This is toolbars, status bars, list controls,
+          the works. It is safe to try native.
+          
+   shell, shell32
+          Shell interface (desktop, filesystem, etc). Being one of the
+          most undocumented pieces of Windows, you may have luck with the
+          native version, should you need it.
+          
+   winsock, wsock32
+          Windows Sockets. The native version will not work under Wine,
+          so leave at builtin.
+          
+   icmp
+          ICMP routines for wsock32. As with wsock32, leave at builtin.
+          
+   mpr
+          The native version may not work due to thunking issues. Leave
+          at builtin.
+          
+   lzexpand, lz32
+          Lempel-Ziv decompression. Wine's builtin version ought to work
+          fine.
+          
+   winaspi, wnaspi32
+          Advanced SCSI Peripheral Interface. The native version will
+          probably never work. Leave at builtin.
+          
+   crtdll
+          C Runtime library. The native version will easily work better
+          than Wine's on this one.
+          
+   winspool.drv
+          Printer spooler. You are not likely to have more luck with the
+          native version.
+          
+   ddraw
+          DirectDraw/Direct3D. Since Wine does not implement the DirectX
+          HAL, the native version will not work at this time.
+          
+   dinput
+          DirectInput. Running this native may or may not work.
+          
+   dsound
+          DirectSound. It may be possible to run this native, but don't
+          count on it.
+          
+   dplay/dplayx
+          DirectPlay. Native ought to work best on this, if at all.
+          
+   mmsystem, winmm
+          Multimedia system. The native version is not likely to work.
+          Leave at builtin.
+          
+   msacm, msacm32
+          Audio Compression Manager. Builtin works best, if you set
+          msacm.drv to the same.
+          
+   msvideo, msvfw32
+          Video for Windows. It is safe (and recommended) to try native.
+          
+   mcicda.drv
+          CD Audio MCI driver.
+          
+   mciseq.drv
+          MIDI Sequencer MCI driver (.MID playback).
+          
+   mciwave.drv
+          Wave audio MCI driver (.WAV playback).
+          
+   mciavi.drv
+          AVI MCI driver (.AVI video playback). Best to use native.
+          
+   mcianim.drv
+          Animation MCI driver.
+          
+   msacm.drv
+          Audio Compression Manager. Set to same as msacm32.
+          
+   midimap.drv
+          MIDI Mapper.
+          
+   wprocs
+          This is a pseudo-DLL used by Wine for thunking purposes. A
+          native version of this doesn't exist.
+          
+   Have fun...
+   
+                                                              - Ove Kåven
-- 
GitLab