Makepanda doesn't add include directives for DirectX

Hi,

it seems that makepanda does not correctly add include directives for the DX-SDK even though it has correctly found it:

Checking for MAYA6
Checking for MAYA65
Checking for MAYA7

-------------------------------------------------------------------
Makepanda Initial Status Report
Makepanda: Compiler: MSVC7
Makepanda: Optimize: 3
Makepanda: Keep Pkg: PYTHON ZLIB PNG JPEG TIFF FMOD FMODEX NVIDIACG NSPR FREETYP
E PANDATOOL PANDAAPP DX9
Makepanda: Omit Pkg: VRPN HELIX OPENSSL FFTW MILES MAYA6 MAYA65 MAYA7 MAX6 MAX7
MAX8 BISON FLEX OPENCV DX8
Makepanda: Verbose vs. Quiet Level: 1
Makepanda: Don't generate API reference manual
Makepanda: Don't build installer
Makepanda: Version ID: 1.2.2
Makepanda: Using DX9 sdk: C:/Programme/Microsoft DirectX SDK (August 2006)
Makepanda: The registry does not appear to contain a pointer to the MAYA7 SDK.
Makepanda: I have automatically added this command-line option: --no-maya7
Makepanda: Using visual studio: C:\Programme\Microsoft Visual Studio 8\
-------------------------------------------------------------------

Generating dependencies...
Slave online: local
link /nologo /NODEFAULTLIB:LIBCI.LIB /NODEFAULTLIB:MSVCRTD.LIB /NODEFAULTLIB:LIB
C.LIB /DEBUG  /DLL /MAP:NUL  /FIXED:NO /OPT:REF /STACK:4194304 /INCREMENTAL:NO
/OUT:built/bin/libpandaegg.dll /IMPLIB:built/lib/libpandaegg.lib /LIBPATH:thirdp
arty/win-python/libs  built/tmp/pandaegg_pandaegg.obj built/tmp/libpandaegg_modu
le.obj built/tmp/egg2pg_composite.obj built/tmp/libegg2pg_igate.obj built/tmp/eg
g_composite1.obj built/tmp/egg_composite2.obj built/tmp/egg_parser.obj built/tmp
/egg_lexer.obj built/tmp/libegg_igate.obj built/lib/libpanda.lib built/lib/libpa
ndaexpress.lib built/lib/libdtoolconfig.lib built/lib/libdtool.lib advapi32.lib
thirdparty/win-libs-vc7/nspr/lib/nspr4.lib
   Creating library built/lib/libpandaegg.lib and object built/lib/libpandaegg.e
xp
libegg2pg_igate.obj : warning LNK4049: locally defined symbol ?Dtool_EggData@@3U
Dtool_PyTypedObject@@A (struct Dtool_PyTypedObject Dtool_EggData) imported
cl /Fobuilt/tmp/wgldisplay_composite.obj /nologo /c /Ithirdparty/win-python/incl
ude /Ithirdparty/win-libs-vc7/nvidiacg/include /Ithirdparty/win-libs-vc7/nspr/in
clude /Ibuilt/tmp /Ipanda/src/wgldisplay /Ipanda/src/glstuff /Ibuilt/include /Zc
:forScope /MD /Zi /O2 /Ob2 /DFORCE_INLINING  /Fdbuilt/tmp/wgldisplay_composite.p
db /DBUILDING_PANDAGL /EHsc /Zm300 /DWIN32_VC /DWIN32 /W3 panda/src/wgldisplay/w
gldisplay_composite.cxx
wgldisplay_composite.cxx
<localPandaHome>\panda3d\panda\src\wgldisplay\wglGraphicsWindow.cxx(2
7) : fatal error C1083: Cannot open include file: 'ddraw.h': No such file or dir
ectory

cl /Fobuilt/tmp/pandagl_pandagl.obj /nologo /c /Ithirdparty/win-python/include /
Ithirdparty/win-libs-vc7/nvidiacg/include /Ithirdparty/win-libs-vc7/nspr/include
 /Ibuilt/tmp /Ipanda/metalibs/pandagl /Ibuilt/include /Zc:forScope /MD /Zi /O2 /
Ob2 /DFORCE_INLINING  /Fdbuilt/tmp/pandagl_pandagl.pdb /DBUILDING_PANDAGL /EHsc
/Zm300 /DWIN32_VC /DWIN32 /W3 panda/metalibs/pandagl/pandagl.cxx
Storing dependency cache.
pandagl.cxx
Elapsed Time: 9 sec
Build process aborting.

Any idea? A quick check inside the python code in the function
CompileCxxMSVC7(wobj,fullsrc,ipath,opts)
gives the impression that the path should be added.

I’m going to try to fix that, but if Josh happens to see this post and could shed some light, I’ll probably save some time.

Thanks,
Max Hajek

Sorry for the forum necromancy but I’m having exactly the same problem.

I have the latest Platform SDK, April 2006 DirectX SDK, and MS Visual Toolkit 2003. Yet makepanda is not adding the directx include directory where ddraw.h can be found when compiling the wgldisplay directory. It does include it when compiling the dxgsg9 directory though, and I can’t figure out why.

They’ve probably rearranged the files inside the DX directory again. I don’t know why they rearrange with every ^&^ release.

I’ll look into it in a couple days. But for now, it’s probably just using the wrong path. Should be simple enough to alter it.

I fixed it. Basically all that needed to be done was add ‘DX9’ to the OPTS list for that directory.
I forgot to mention I also needed to change the Registry key that was used to find the Platform SDK. I guess that is pretty dependent upon the release.