Visual Studio project to compile the d3d code
Stefan Dösinger
stefandoesinger at gmx.at
Thu Jul 7 18:46:40 CDT 2011
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110708/dde98108/attachment.pgp>
More information about the wine-devel
mailing list