mirror of
https://github.com/reactos/reactos.git
synced 2025-07-28 09:12:30 +00:00
Update README file about Wine shared DLLs
svn path=/trunk/; revision=27358
This commit is contained in:
parent
2c3f812b5c
commit
052f7faeee
1 changed files with 35 additions and 44 deletions
|
@ -10,20 +10,14 @@ please add it.
|
||||||
If you find that a function in ReactOS that is not implemented properly
|
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
|
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
|
it has been fixed there. If so, please submit a patch to
|
||||||
ros-dev@reactos.com. Otherwise please send a patch to both
|
ros-dev@reactos.org. Otherwise please send a patch to both
|
||||||
wine-patches@winehq.com and ros-dev@reactos.com
|
wine-patches@winehq.com and ros-dev@reactos.org
|
||||||
|
|
||||||
When porting a dll from WINE to ReactOS please take a look at how
|
When porting a new DLL from Wine to ReactOS, please do the following steps
|
||||||
comctl32 has been imported. We start by creating a makefile that has
|
- Create a new directory in dll/win32/ of the same name as the new Wine DLL
|
||||||
a target defined like so:
|
- Add a new entry in dll/win32/win32.rbuild
|
||||||
|
- Follow the guide "Update process for autosync DLLs" at the bottom of this file
|
||||||
|
|
||||||
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 shared with Wine.
|
The following build tools are shared with Wine.
|
||||||
|
|
||||||
|
@ -41,6 +35,7 @@ reactos/dll/win32/advpack # Autosync
|
||||||
reactos/dll/win32/avifil32 # Autosync
|
reactos/dll/win32/avifil32 # Autosync
|
||||||
reactos/dll/win32/cabinet # Autosync
|
reactos/dll/win32/cabinet # Autosync
|
||||||
reactos/dll/win32/clusapi # Autosync
|
reactos/dll/win32/clusapi # Autosync
|
||||||
|
reactos/dll/win32/comcat # Autosync
|
||||||
reactos/dll/win32/comctl32 # Autosync
|
reactos/dll/win32/comctl32 # Autosync
|
||||||
reactos/dll/win32/comdlg32 # Synced to Wine-0_9_16
|
reactos/dll/win32/comdlg32 # Synced to Wine-0_9_16
|
||||||
reactos/dll/win32/crypt32 # Autosync
|
reactos/dll/win32/crypt32 # Autosync
|
||||||
|
@ -54,11 +49,11 @@ reactos/dll/win32/iphlpapi # Out of sync
|
||||||
reactos/dll/win32/imagehlp # Patches for BindImage need review and submission to winehq.
|
reactos/dll/win32/imagehlp # Patches for BindImage need review and submission to winehq.
|
||||||
reactos/dll/win32/lz32 # Autosync
|
reactos/dll/win32/lz32 # Autosync
|
||||||
reactos/dll/win32/mapi32 # Autosync
|
reactos/dll/win32/mapi32 # Autosync
|
||||||
reactos/dll/win32/msvcrt20 # Out of sync
|
|
||||||
reactos/dll/win32/mpr # Autosync
|
reactos/dll/win32/mpr # Autosync
|
||||||
reactos/dll/win32/msacm # Out of sync
|
reactos/dll/win32/msacm32 # Out of sync
|
||||||
reactos/dll/win32/msimg32 # Autosync
|
reactos/dll/win32/msimg32 # Autosync
|
||||||
reactos/dll/win32/msi # Autosync
|
reactos/dll/win32/msi # Autosync
|
||||||
|
reactos/dll/win32/msvcrt20 # Out of sync
|
||||||
reactos/dll/win32/msvfw32 # Autosync
|
reactos/dll/win32/msvfw32 # Autosync
|
||||||
reactos/dll/win32/netapi32 # Synced to Wine-0_9_5
|
reactos/dll/win32/netapi32 # Synced to Wine-0_9_5
|
||||||
reactos/dll/win32/objsel # Autosync
|
reactos/dll/win32/objsel # Autosync
|
||||||
|
@ -79,7 +74,7 @@ reactos/dll/win32/shell32 # Synced to Wine-0_9_5
|
||||||
reactos/dll/win32/shdocvw # Synced to Wine-0_9_5
|
reactos/dll/win32/shdocvw # Synced to Wine-0_9_5
|
||||||
reactos/dll/win32/shfolder # Autosync
|
reactos/dll/win32/shfolder # Autosync
|
||||||
reactos/dll/win32/shlwapi # Synced to Wine-0_9_5
|
reactos/dll/win32/shlwapi # Synced to Wine-0_9_5
|
||||||
reactos/dll/win32/twain # Out of sync
|
reactos/dll/win32/twain_32 # Out of sync
|
||||||
reactos/dll/win32/urlmon # Synced to Wine-0_9_10
|
reactos/dll/win32/urlmon # Synced to Wine-0_9_10
|
||||||
reactos/dll/win32/uxtheme # Autosync
|
reactos/dll/win32/uxtheme # Autosync
|
||||||
reactos/dll/win32/version # Synced at 20060509
|
reactos/dll/win32/version # Synced at 20060509
|
||||||
|
@ -149,33 +144,29 @@ User32 -
|
||||||
reactos/dll/win32/user32/windows/text.c # Forked (lstr.c)
|
reactos/dll/win32/user32/windows/text.c # Forked (lstr.c)
|
||||||
reactos/dll/win32/user32/windows/winpos.c # Forked
|
reactos/dll/win32/user32/windows/winpos.c # Forked
|
||||||
|
|
||||||
Update process for shared DLLs
|
Update process for autosync DLLs
|
||||||
|
|
||||||
- Cd to the parent directory of your top-level "reactos" directory
|
*** This process can only be done on Microsoft Windows ***
|
||||||
- Check out the Wine release: "cvs -d :pserver:cvs@cvs.winehq.com:2401/home/wine co wine -r Wine-20050211"
|
- Download wineimport.cmd at svn://svn.reactos.org/reactos/trunk/tools/
|
||||||
- Create "vendor" directory (as a sibling of your top-level "reactos" directory)
|
- Download cvs command line program and be sure to put it in your path
|
||||||
- Cd to the vendor dir and check out the current vendor drop:
|
(available at http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/ )
|
||||||
"svn co svn://svn.reactos.org/reactos/vendor/wine".
|
- Download svn command line program and be sure to put it in your path
|
||||||
- For each component shared with Wine (e.g. cabinet):
|
(available at http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 )
|
||||||
"del vendor\wine\dlls\cabinet\current\*"
|
- Download patch command line program and be sure to put it in your path
|
||||||
"copy wine\dlls\cabinet vendor\wine\dlls\cabinet\current"
|
(available at http://gnuwin32.sourceforge.net/packages/patch.htm )
|
||||||
"del vendor\wine\dlls\cabinet\current\.cvsignore"
|
- Optionally, download junction.exe and put it in your path
|
||||||
Check svn status, svn add/delete files as needed
|
(available at http://www.sysinternals.com/Utilities/Junction.html )
|
||||||
Tag new Wine release "svn copy vendor\wine\dlls\cabinet\current vendor\wine\dlls\cabinet\Wine-20050211"
|
- Cd to the directory containing wineimport.cmd
|
||||||
- Commit the vendor drop: svn commit vendor\wine -m "Wine-20050211 vendor drop"
|
- Run
|
||||||
- Determine the revision number of the last Wine tag by looking at http://svn.reactos.ru/svn/reactos/tags/
|
"wineimport.cmd fullprocessing {path_to_your_rectos_directory} {name_of_the_wine_dll}"
|
||||||
and finding the last Wine-yyyymmdd-sync tag, e.g. Wine-20050111-sync had rev 13007
|
- In case of error, you can
|
||||||
- For each component shared with Wine (e.g. cabinet):
|
1) add missing definitions to ReactOS headers
|
||||||
- "cd reactos\lib\cabinet"
|
2) fix {name_of_the_wine_dll}_ros.diff patch file, by removing outdated changes
|
||||||
- Check for changes in the ReactOS tree: "svn diff -r 13007" (13007 is the revno of the previous sync).
|
3) or modify Wine code, by adding a {name_of_the_wine_dll}_ros.diff patch,
|
||||||
If any changes are found, see if they're present in the Wine code. If not, submit to WineHQ
|
which will be applied after Wine source checkout
|
||||||
if apropriate.
|
DO NOT DIRECTLY MODIFY WINE SOURCE CODE
|
||||||
- Merge in Wine changes:
|
- Once Wine DLL compiles, install and run ReactOS and search for regressions
|
||||||
"svn merge svn://svn.reactos.org/vendor/wine/dlls/cabinet/Wine-20050111
|
- In case of regression, you can
|
||||||
svn://svn.reactos.org/vendor/wine/dlls/cabinet/current"
|
1) Fix ReactOS code (not in the shared DLL)
|
||||||
- Fix any merge conflicts
|
2) or update the {name_of_the_wine_dll}_ros.diff patch file
|
||||||
- Build and test (building will sometimes require adjusting header files)
|
- Commit your changes with the "Autosyncing with Wine HEAD" commit message
|
||||||
- Check which files were changed: "svn status"
|
|
||||||
- For each of the changed files, get the WineHQ CVS log. Copy author and CVS commit message into a
|
|
||||||
commit log
|
|
||||||
- Commit changed files "svn commit" using generated commit log as commit message
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue