From: Tim R. <ti...@pr...> - 2010-01-20 17:42:52
|
Pete Batard wrote: > Even if we add a big note telling users to add the DDK includes on top > in their path, we're bound to get people ignoring this for one reason or > another, and coming back to us with "libusb's compilation is broken". > > Of course if we just remove the need for the DDK, these problems go > away, but because I'm busy enough as it is, I'm not planning to do that > myself. But you're more than welcome to create a "non-reliance on DDK" > patch and send it to me. > As it turns out, I've done this in one of my own projects. All you need from the DDK in order to build a WinUSB client are these include files: usb.h usb100.h usb200.h winusb.h winusbio.h Then, at link time, you need the winusb.lib library. From a technical standpoint, these files never change, so there wouldn't be a technical problem in taking a snapshot of them. The problem is legal. The license for the DDK does not allow for these files to be redistributed. Someone will have to decide if they are willing to take the risk to publish a "libusb DDK subset" somewhere. > Finally, I'm not familiar with sources at all, and a bit reluctant to > add it if it introduces more gotchas for little benefit. What is it used > for and how much do we think it'll be useful? And what are the > advantages of using sources as opposed to what we already support? When you build with the DDK, instead of using Visual Studio or nmake, you use a tool called "build." This is the same tool that Microsoft uses to build Windows itself. Microsoft will not provide support for driver problems unless you use "build" to build your driver. "Build" is essentially a wrapper around nmake. It scans source files looking for #include file dependencies, sets up the LIB and INCLUDE paths, and invokes nmake to do the build. "Sources" is the master directive file for "build". It's a makefile, but with special macros that "build" understands. The INCLUDE and LIB environment variables are irrelevant when you're doing DDK stuff. Build overrides them. -- Tim Roberts, ti...@pr... Providenza & Boekelheide, Inc. |