Hi,
After two people told me they might have use for my Visual Studio setup to compile wined3d I finally got around to put it on my git server. You can download it with
GIT_SSL_NO_VERIFY=1 git clone https://84.112.174.163/~git/wined3d_vs
What is this good for? My aims were to have Microsoft-Style debug symbols to use various Windows development tools. The also aim was to to work without Mingw, Msys or any other Unix tool besides git, mostly because mingw+msys is a pain.
It performs an out-of-tree build of ddraw, d3d8, d3d9, the tests, wined3d and a few dependencies. Just put the files next to the wine sources, the project essentially loads the source files from ../wine/*. I also have d3dx9_36.dll in the project, but it doesn't link at the moment because d3dcompiler.dll is missing and some math functions. The testlist.c files for the tests cannot be autogenerated yet.
The main issue is that this project is a stripped-down reimplementation of the wine build system. The source files and library exports are hardcoded, so if they change the msvc project needs manual adjustments. It would be much nicer to use the msvcmaker script for that, but I wasn't aware of this script when I started this.
No additional software besides Visual Studio 2010 is needed, except for d3dx9_36 which needs the DirectX SDK. I just noticed that the d3d8 tests hardcode a path to the SDK sdk too, that is a bug that I can fix. I tried to compile the tests and d3d client libs with the MS headers to test our header compatibility but ran into some difficulties. The generated binaries also have no dependencies except the msvc2010 C runtime(msvcr100.dll)
One word about licensing: I didn't find any obstacles that prevent personal use of MSVC Express, but please double-check the EULAs. Redistribution of Microsoft code is a problem however. The project setup doesn't deliberately include any MS code in the binaries, but it is possible that some functions from the C runtime is inlined, so to stay on the safe side I don't redistribute any binaries built from Visual Studio.
There are a bunch of warnings left in the code. I fixed the warnings in wined3d.dll, d3d8.dll, d3d9.dll and the d3d8 tests, or silenced some warnings that I considered too pedantic or hard to fix. ddraw.dll, the ddraw tests and d3dx9 and the d3d9 tests have a number of legitimate warnings left.
Stefan
There are a bunch of warnings left in the code. I fixed the warnings in wined3d.dll, d3d8.dll, d3d9.dll and the d3d8 tests, or silenced some warnings that I considered too pedantic or hard to fix. ddraw.dll, the ddraw tests and d3dx9 and the d3d9 tests have a number of legitimate warnings left.
I get 3259 errors and 636 warnings. Is that expected?
A bunch of those errors is that it cannot include the .h files, for example: "error C1083: Cannot open include file: 'wine/unicode.h': No such file or directory"
I'm running Visual Studio 2010 and I have checked out your repo to the projects folder along with the wine sources (which I renamed from wine-git to wine).
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 12.07.2011 um 11:33 schrieb Michael Mc Donnell:
A bunch of those errors is that it cannot include the .h files, for example: "error C1083: Cannot open include file: 'wine/unicode.h': No such file or directory"
Nope, that's not expected :-/
Can you check the includes folder? It should point to wine/include and wine/include/wine. I suspect that my relative links to ../wine/include didn't survive the transfer to another machine.
On Tue, Jul 12, 2011 at 11:00 PM, Stefan Dösinger stefandoesinger@gmx.at wrote:
Am 12.07.2011 um 11:33 schrieb Michael Mc Donnell:
A bunch of those errors is that it cannot include the .h files, for example: "error C1083: Cannot open include file: 'wine/unicode.h': No such file or directory"
Nope, that's not expected :-/
Can you check the includes folder? It should point to wine/include and wine/include/wine. I suspect that my relative links to ../wine/include didn't survive the transfer to another machine.
Yes that was the case. The projects libwine and wined3d had an absolute path under project properties -> Configuration properties -> VC++ Directories -> Include Directories. Fixing those reduced the number of build errors to 2635 :-)
Now I'm getting error messages about "Wine should not include windows.h internally" and a lot about "redefinition; different linkage". I tried rebuilding but that didn't help. Any guesses?
On Wednesday 13 July 2011 11:15:47 Michael Mc Donnell wrote:
Now I'm getting error messages about "Wine should not include windows.h internally" and a lot about "redefinition; different linkage". I tried rebuilding but that didn't help. Any guesses?
The Wine include directories should have a higher priority than the Platform SDk and DirectX SDK dirs.
On Wed, Jul 13, 2011 at 5:07 PM, Stefan Dösinger stefandoesinger@gmx.at wrote:
On Wednesday 13 July 2011 11:15:47 Michael Mc Donnell wrote:
Now I'm getting error messages about "Wine should not include windows.h internally" and a lot about "redefinition; different linkage". I tried rebuilding but that didn't help. Any guesses?
The Wine include directories should have a higher priority than the Platform SDk and DirectX SDK dirs.
It seems like the Wine include directories all come before the Platform SDK and DirectX SDK dirs. Did you spot anything?