reactos/reactos/doc
Steven Edwards 3e1fe0ceaa Update the Wine porting documentation.
svn path=/trunk/; revision=12038
2004-12-12 04:43:36 +00:00
..
apc
DIRS
HACKING
INDEX
INTERNALS
news1
news2
notes
README.WINE Update the Wine porting documentation. 2004-12-12 04:43:36 +00:00
todo

# ReactOS WINE porting guide for 0.3
# Update this file when you port a dll/program from WINE.

The ReactOS Project shares quite a bit of code with the WINE project.
This document should provide a compleate reference for all of the
locations in the ReactOS source tree where code is shared between the
two projects. If you find something is missing from this documentation
please add it.

If you find that a function in ReactOS that is not implemented properly
and is based on WINE sources, check the latest Winehq CVS and see if
it has been fixed there. If so, please submit a patch to 
ros-kernel@reactos.com. Otherwise please send a patch to both 
wine-patches@winehq.com and ros-kernel@reactos.com

When porting a dll from WINE to ReactOS please take a look at how
comctl32 has been imported. We start by creating a makefile that has
a target defined like so:

TARGET_TYPE = winedll

This will cause the reactos build system to look for a file called
makefile.ros-template. This file contains all of the information needed
for the ReactOS build system to make use of the WINE Makefile.in. 
This will allow you to use the WINE tools and librarys with very little
work to import a new dll.

The following build tools are derived from Wine.
reactos/tools/makedep		# fast dependancy tool
reactos/tools/bin2res		# Resource to binary converter
reactos/tools/winebuild		# Wine Build tool for Creating *.def files
reactos/tools/wmc		# Wine Message Compiler


The following shared libraries are a 100% port from Winehq sources.

reactos/lib/cabinet             # Synced to Wine-20041201
reactos/lib/comctl32            # Synced to Wine-20041201
reactos/lib/comdlg32		# Synced to Wine-20041201
reactos/lib/dinput		# Synced to Wine-20041201
reactos/lib/dinput8		# Synced to Wine-20041201
reactos/lib/dsound		# Synced to Wine-20041201
reactos/lib/icmp		# Synced to Wine-20041201
reactos/lib/iphlpapi		# Out of sync
reactos/lib/imagehlp		# Patches for BindImage need review and submission to winehq.
reactos/lib/msvcrt20		# Out of sync
reactos/lib/mpr                 # Synced to Wine-20041201
reactos/lib/msacm		# Out of sync
reactos/lib/msi			# Synced to Wine-20041201
reactos/lib/msvideo		# Out of sync
reactos/lib/netapi32		# Out of sync
reactos/lib/odbc32		# In sync. Depends on port of Linux ODBC.
reactos/lib/ole32               # Synced to Wine-20041201
reactos/lib/oleaut32		# Synced to Wine-20041201
reactos/lib/oledlg              # Synced to Wine-20041201
reactos/lib/oldpro32		# Out of sync
reactos/lib/richedit		# Synced to Wine-20041201
reactos/lib/rpcrt4		# Synced to Wine-20041201
reactos/lib/setupapi		# Out of sync
reactos/lib/shell32             # Synced to Wine-20041201
reactos/lib/shlwapi             # Synced to Wine-20041201
reactos/lib/twain		# Out of sync
reactos/lib/unicode		# Dependancy on this lib needs to be removed. Synced to Wine-20041201
reactos/lib/urlmon		# Out of sync
reactos/lib/version		# Out of sync
reactos/lib/wininet		# Out of sync
reactos/lib/winmm		# Synced to Wine-20041201
reactos/lib/winmm/midimap       # Synced to Wine-20041201
reactos/lib/winmm/wavemap       # Synced to Wine-20041201

ReactOS shares the following programs with Winehq.
reactos/subsys/system/regedit	# Out of sync
reactos/subsys/system/expand	# Out of sync

In addition the following libs, dlls and source files are mostly based on code ported
from Winehq CVS. If you are looking to update something in these files
check Wine current souces first as it may already be fixed.

reactos/lib/imm32		# 
reactos/lib/uuid		#

advapi32 -
  reactos/lib/advapi32/crypyto/*.c	# Synced to Wine-20041201

gdi32 -
  reactos/lib/gdi32/objects/linedda.c	# Out of sync

kernel32 -
  reactos/lib/kernel32/misc/errormsg.c	# Out of sync
  reactos/lib/kernel32/misc/profile.c	# Out of sync
  reactos/lib/kernel32/misc/lcformat.c	# Out of sync

msvcrt -
  reactos/lib/msvcrt/wine/*.c		# Out of sync

User32 -
  reactos/lib/user32/controls/button.c	# Out of sync
  reactos/lib/user32/controls/edit.c	# Out of sync
  reactos/lib/user32/controls/static.c	# Out of sync
  reactos/lib/user32/misc/wsprintf.c	# Out of sync
  reactos/lib/user32/windows/mdi.c	# Out of sync


                                                         `